Kernel
O computador é dividido em duas camadas: hardware e software. O kernel é responsável pela interação entre essas camadas.
Em outras palavras, é o Kernel que gerencia os recursos do sistema e permite que os programas façam uso deles.
É ele o responsável por garantir que todos os programas terão acesso aos recursos de que necessitam (memória RAM, por exemplo) simultaneamente, fazendo com que haja um compartilhamento concorrente – mas sem oferecer riscos à integridade da máquina.
System Calls
É o mecanismo usado pelo programa para requisitar um serviço do sistema operacional ou mais especificamente, do núcleo do sistema operacional.
Subsistema de Entrada e Saída do Kernel
A diversidade de tipos de dispositivos de entrada e saída, exigiu que o Sistema Operacional implementasse uma camada chamada Subsistema de E/S. Com isso, foi isolada a complexidade que cada dispositivo tinha em relação a chamada de sistema de arquivos através da aplicação, possibilitando ao sistema se tornar mais flexível.
A principal função de um Subsistema de E/S é tornar transparente para o processador os detalhes de cada operação e controle dos dispositivosperiféricos.
É dividido em duas camadas:
Software: Visualiza todos os dispositivos de forma única.
Hardware: Especifico para cada dispositivo, inserido no sistema operacional.
System Calls de E/S
As operações de entrada e saída são realizadas através do System Calls, seu objetivo principal é simplificar a interface entre as aplicações e os dispositivos.
Tipos de Operações de E/S
Operação Síncrona: Quando o processo que realizou a operação fica aguardando em estado de espera por seu término.
Operação Assíncrona: Quando o processo que realizou a operação não aguarda pelo seu término e continua pronto para ser executado. Neste caso deve existir uma sinalização que indique que a operação foi terminada.
Device Driver
O device driver ou simplesmente driver é um software que faz o sistema