terça-feira, 24 de março de 2009

SO - Kernel

O Kernel é o núcleo do Sistema Operacional, a camada de software que está mais próxima do hardware e é responsável por gerenciar os componentes do sistema computacional como um todo. O Kernel é um lugar ao qual o usuário não tem acesso direto, podendo acessar suas rotinas apenas através de chamadas de sistema.

System Call (Chamadas de Sistema)
System Call é o mecanismo usado pelo programa para requisitar um serviço do Kernel do Sistema Operacional.
No momento em que um chamada de sistema é invocada, o programa que fez a chamada é interrompido e as informações necessárias para o funcionamento dele são salvas. Então, o processador executa o código de maior privilégio que determina que serviço foi requisitado. Quando a chamada termina o programa retoma sua execução por meio do estado que foi salvo anteriormente.
Quando uma operação de E/S, acesso ao disco e rede são executadas, o programa pode não voltar a ser executado imediatamente após o termino da chamada, sendo que é retirado da fila de execução ate que essas operações terminem.

Kernel Monolítico
Os primeiros Kernels eram monolíticos, ou seja, possuíam apenas um arquivo, um “executavão¹” que rodava as rotinas.
Há quem diga que desenvolver um sistema operacional com Kernel monolítico é mais vantajoso pelo fato de que coordenar as informações entre partes de código é muito mais complexo e menos confiável do que criar apenas um arquivo, o que, supostamente, compensaria a dificuldade de implementação do mesmo.

¹neologismo criado em sala, entenda como apenas um executável.

0 comentários: