a) Estrutura do Modo Kernel
Como já comentado, a porção de código do núcleo Windows que é executada em modo kernel é dividida em quatro partes principais: a camada de abstração de hardware (HAL), os subsistemas executivos, o kernel propriamente dito e os drivers de dispositivo, e um módulo auxiliar para apoio ao gerenciamento dos gráficos do sistema.
| Modo Kernel | |
|---|---|
| Camada Executiva | |
| Kernel | Drivers de dispositivo |
| Camadas de Abstração do Hardware | |
De uma forma geral, todas as camadas localizadas no modo kernel têm permissão para:
A camada executiva do Windows é a primeira da pilha de camadas executadas em modo kernel, sendo responsável pelo provimento dos serviços base do sistema operacional, como o gerenciamento de memória, o gerenciamento de processos, a gestão da rede e a comunicação entre os processos.
XA camada de kernel, localizada imediatamente abaixo, tem a função de prover os serviços de mais baixo nível do SO, como o de agendamento das threads, controle de interrupções e sincronização de múltiplos processadores. É responsável, ainda, por prover uma série de interfaces que são utilizadas pela camada executiva para prover os seus serviços de mais alto nível.
XA camada de drivers de dispositivo agrupa tanto os drivers de dispositivo ligados ao hardware, que, como já apresentado, atua na intermediação do acesso ao hardware abstraindo a sua complexidade, quanto drivers de dispositivo não ligados ao hardware, como, por exemplo, os que tratam do acesso ao sistema de arquivos.
XA camada de abstração de hardware é a porção de código que atua no isolamento das camadas de kernel, de drivers de dispositivo e de todo o resto da plataforma executiva do Windows da estrutura de hardware do equipamento. Esta iniciativa tem como principal objetivo permitir a portabilidade dos sistemas Windows entre diferentes equipamentos.
XA última camada executada no modo kernel é a de gráficos do sistema, que tem por atribuição implementar as funções relacionadas a interface gráfica do usuário.
X