Guia de design de arquitetura de driver no modo kernel
Observação
Para obter informações sobre interfaces de programação que seu driver pode implementar ou chamar, consulte a Referência do driver do modo kernel.
Esta seção inclui conceitos gerais para ajudá-lo a entender a programação em modo kernel e descreve técnicas específicas de programação do kernel. Para obter uma visão geral dos drivers do Windows, consulte Introdução aos drivers do Windows, que fornece uma visão geral dos componentes do Windows, lista os tipos de drivers de dispositivo usados no Windows, discute os objetivos dos drivers de dispositivo do Windows e discute os drivers de dispositivo de exemplo genéricos incluídos no kit.
Esta seção contém informações conceituais que descrevem e ajudam a criar drivers de modo kernel.
Uma visão geral contendo:
- Uma visão geral dos componentes do Windows
- Metas de design para drivers de modo kernel
- Um catálogo de drivers de modo kernel de exemplo
- Práticas recomendadas de desenvolvimento de driver de kernel, conforme compilado pela equipe do Microsoft Surface
Kernel-Mode Components descreve os principais gerenciadores de modo kernel e componentes do sistema operacional Windows.
Componente Descrição Gestores Gerenciador de objetos do modo kernel do Windows Gerencia objetos: arquivos, dispositivos, mecanismos de sincronização, chaves do Registro e assim por diante. Gerenciador de memória do modo kernel do Windows Gerencia a memória física do sistema operacional. Gerenciador de Threads e Processo de Modo Kernel do Windows Manipula a execução de todos os threads em um processo. Gerenciador de E/S no modo kernel do Windows Gerencia a comunicação entre aplicativos e as interfaces fornecidas pelos drivers de dispositivo. Gerenciador de Plug and Play no Modo Kernel do Windows Um subsistema do gerenciador de E/S, o Gerenciador Plug and Play (PnP) permite que um PC reconheça quando um dispositivo é adicionado ao sistema. Gerenciador de energia do modo kernel do Windows Gerencia a alteração ordenada no status de energia para todos os dispositivos que oferecem suporte a alterações de estado de energia. Gerenciador de Configuração do Modo Kernel do Windows Gerencia o Registro, como monitorar alterações no Registro ou registrar retornos de chamada em dados específicos do Registro. Gerenciador de Transações do Kernel no Modo Kernel do Windows Implementa o processamento de transações no modo kernel. Monitor de Referência de Segurança do Modo Kernel do Windows Fornece rotinas para seu motorista trabalhar com controle de acesso. Bibliotecas Biblioteca do kernel do modo kernel do Windows Implementa a funcionalidade principal da qual todo o resto no sistema operacional depende. O kernel do Microsoft Windows fornece operações básicas de baixo nível, como agendamento de threads ou roteamento de interrupções de hardware. Biblioteca de Suporte Executivo do Modo Kernel do Windows Refere-se a componentes de modo kernel que fornecem uma variedade de serviços para drivers de dispositivo, incluindo: gerenciamento de objetos, gerenciamento de memória, gerenciamento de processos e threads, gerenciamento de entrada/saída e gerenciamento de configuração. Biblioteca de tempo de execução do modo kernel do Windows Um conjunto de rotinas de utilitários comuns necessárias para vários componentes do modo kernel. Biblioteca de Cadeias de Caracteres Seguras do Modo Kernel do Windows Uma biblioteca de string segura para fornecer maior segurança no desenvolvimento em modo kernel. Biblioteca DMA do modo kernel do Windows Uma biblioteca de acesso direto à memória (DMA) para desenvolvedores de drivers de dispositivo. Biblioteca HAL do modo kernel do Windows Uma camada de abstração de hardware (HAL) para desenvolvimento de drivers no modo kernel. Biblioteca CLFS do modo kernel do Windows Um sistema de log transacional, o Common Log File System (CLFS). Biblioteca WMI do modo kernel do Windows Um mecanismo geral para gerenciar componentes, chamado WMI (Instrumentação de Gerenciamento do Windows). Escrevendo drivers WDM e Introdução ao WDM fornecem informações necessárias para gravar drivers usando o Windows Driver Model (WDM).
Objetos de dispositivo e os outros tópicos em Objetos de dispositivo e Pilhas de dispositivos descrevem como o sistema operacional representa dispositivos por objetos de dispositivo.
O Gerenciamento de Memória para Drivers do Windows ilustra como os drivers de modo kernel alocam memória para fins como armazenar dados internos, armazenar dados em buffer durante operações de E/S e compartilhar memória com outros componentes de modo kernel e de usuário.
Segurança Do controle de acesso e privilégios do dispositivo ao SDDL para objetos de dispositivo, certifique-se de que seus drivers estejam o mais seguros possível.
Manipulando IRPs descreve como os drivers de modo kernel lidam com pacotes de solicitação de E/S (IRPs).
DMA Direct Memory Access (DMA) é um aspecto crítico do desenvolvimento de drivers, e os tópicos neste nó abrangem DMA de A a Z.
Os Objetos do Controlador representam um controlador de dispositivo físico com dispositivos conectados.
As ISRs (Interrupt Service Routines) manipulam interrupções para drivers de um dispositivo físico que recebe interrupções.
As interrupções sinalizadas por mensagem disparam uma interrupção gravando um valor em um endereço de memória específico.
As chamadas de procedimento adiado (objetos DPC) podem ser enfileiradas a partir de ISRs e são executadas posteriormente e em um IRQL mais baixo do que o ISR.
Plug and Play (PnP) se concentra no suporte de software do sistema para PnP e como os drivers usam esse suporte para implementar PnP.
O Gerenciamento de Energia descreve a arquitetura que fornece uma abordagem abrangente para o gerenciamento de energia do sistema e do dispositivo.
WMI (Instrumentação de Gerenciamento do Windows) são extensões para o driver de modo kernel, que permitem que o driver se torne um provedor WMI. Um provedor WMI disponibiliza dados de medição e instrumentação para consumidores WMI, como aplicativos de modo de usuário.
Técnicas de programação de drivers A programação de drivers no modo kernel do Windows requer técnicas que às vezes diferem significativamente daquelas da programação de modo de usuário comum.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de