Guida alla progettazione dell'architettura dei driver in modalità kernel
Nota
Per informazioni sulle interfacce di programmazione che il driver può implementare o chiamare, vedere Le informazioni di riferimento sul driver in modalità kernel.
Questa sezione include concetti generali che consentono di comprendere la programmazione in modalità kernel e descrive tecniche specifiche della programmazione del kernel. Per una panoramica generale dei driver windows, vedi Introduzione allo sviluppo di driver Windows, che offre una panoramica generale dei componenti di Windows, elenca i tipi di driver di dispositivo usati in Windows, illustra gli obiettivi dei driver di dispositivo Windows e illustra i driver di dispositivo di esempio generici inclusi nel kit.
Questa sezione contiene informazioni concettuali che descrivono e consentono di compilare driver in modalità kernel.
Panoramica contenente:
- Panoramica dei componenti di Windows
- Obiettivi di progettazione per i driver in modalità kernel
- Catalogo dei driver di esempio in modalità kernel
- Procedure consigliate per lo sviluppo di driver kernel, come compilato dal team di Microsoft Surface
I componenti in modalità kernel descrivono i principali gestori e componenti in modalità kernel del sistema operativo Windows.
Componente Descrizione Manager Gestione oggetti in modalità kernel di Windows Gestisce gli oggetti: file, dispositivi, meccanismi di sincronizzazione, chiavi del Registro di sistema e così via. Gestione memoria in modalità kernel di Windows Gestisce la memoria fisica per il sistema operativo. Processo in modalità kernel di Windows e Gestione thread Gestisce l'esecuzione di tutti i thread in un processo. Gestione I/O in modalità kernel di Windows Gestisce la comunicazione tra le applicazioni e le interfacce fornite dai driver di dispositivo. Gestione plug and play in modalità kernel di Windows Un sottosistema della gestione di I/O, il gestore Plug and Play (PnP) consente a un PC di riconoscere quando un dispositivo viene aggiunto al sistema. Power Manager in modalità kernel di Windows Gestisce la modifica ordinata dello stato di alimentazione per tutti i dispositivi che supportano le modifiche dello stato di alimentazione. Gestione configurazione in modalità kernel di Windows Gestisce il Registro di sistema, ad esempio il monitoraggio delle modifiche nel Registro di sistema o la registrazione di callback su dati del Registro di sistema specifici. Gestione transazioni kernel in modalità kernel di Windows Implementa l'elaborazione delle transazioni in modalità kernel. Monitoraggio delle informazioni di riferimento sulla sicurezza in modalità kernel di Windows Fornisce routine per consentire al driver di lavorare con il controllo di accesso. Raccolte Libreria kernel in modalità kernel di Windows Implementa la funzionalità di base da cui dipende tutto il resto del sistema operativo. Il kernel di Microsoft Windows fornisce operazioni di base di basso livello, ad esempio la pianificazione di thread o l'interruzione dell'hardware di routing. Libreria di supporto esecutivo per la modalità kernel di Windows Si riferisce a componenti in modalità kernel che forniscono un'ampia gamma di servizi ai driver di dispositivo, tra cui: gestione degli oggetti, gestione della memoria, gestione dei processi e thread, gestione di input/output e gestione della configurazione. Libreria di runtime in modalità kernel di Windows Set di routine di utilità comuni necessarie per vari componenti in modalità kernel. Libreria di stringhe sicure in modalità kernel di Windows Libreria di stringhe sicure per garantire maggiore sicurezza nello sviluppo in modalità kernel. Libreria DMA in modalità kernel di Windows Libreria DMA (Direct Memory Access) per sviluppatori di driver di dispositivo. Libreria HAL in modalità kernel di Windows Livello di astrazione hardware (HAL) per lo sviluppo di driver in modalità kernel. Libreria CLFS in modalità kernel di Windows Un sistema di registrazione transazionale, Common Log File System (CLFS). Libreria WMI in modalità kernel di Windows Un meccanismo generale per la gestione dei componenti, denominato Strumentazione gestione Windows (WMI). La scrittura di driver WDM e l'introduzione a WDM forniscono informazioni necessarie per scrivere driver usando il modello di driver Windows (WDM).
Gli oggetti dispositivo e gli altri argomenti in Oggetti dispositivo e Stack di dispositivi descrivono come il sistema operativo rappresenta i dispositivi in base agli oggetti dispositivo.
Gestione della memoria per i driver windows illustra come i driver in modalità kernel allocano memoria per scopi quali l'archiviazione di dati interni, il buffering dei dati durante le operazioni di I/O e la condivisione della memoria con altri componenti in modalità kernel e utente.
Sicurezza dal controllo dell'accesso ai dispositivi e dei privilegi per SDDL per gli oggetti Dispositivo, assicurarsi che i driver siano il più sicuri possibile.
La gestione dei runtime di integrazione descrive il modo in cui i driver in modalità kernel gestiscono i pacchetti di richiesta di I/O (IRP).
DMA Direct Memory Access (DMA ) è un aspetto critico dello sviluppo di driver e gli argomenti in questo nodo riguardano DMA da A a Z.
Gli oggetti controller rappresentano un controller dispositivo fisico con dispositivi collegati.
Interrupt Service Routines (ISR) handle interrupts for drivers of a physical device that receives interrupts.Interrupt Service Routines (ISR) handles for drivers of a physical device that receives interrupts.
Gli interrupt con segnalazione messaggio attivano un interrupt scrivendo un valore in un determinato indirizzo di memoria.
Le chiamate di procedure posticipate (oggetti DPC) possono essere accodate da ISR e vengono eseguite in un secondo momento e in un runtime di integrazione inferiore rispetto all'ISR.
Plug and Play (PnP) è incentrato sul supporto software di sistema per PnP e sul modo in cui i driver usano tale supporto per implementare PnP.
Risparmio energia descrive l'architettura che fornisce un approccio completo al sistema e al risparmio energia del dispositivo.
Strumentazione gestione Windows (WMI) sono estensioni per il driver in modalità kernel, che consentono al driver di diventare un provider WMI. Un provider WMI rende disponibili i dati di misurazione e strumentazione per i consumer WMI, ad esempio le applicazioni in modalità utente.
I driver di programmazione delle tecniche di programmazione dei driver nella modalità kernel di Windows richiedono tecniche che a volte differiscono significativamente da quelle della normale programmazione in modalità utente.