Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un computer è costituito da vari dispositivi che forniscono input e output (I/O) da e verso il mondo esterno. I dispositivi tipici sono tastiere, mouse, controller audio, controller video, unità disco, porte di rete e così via. I driver di dispositivo forniscono la connessione software tra i dispositivi e il sistema operativo. Per questo motivo, l'I/O è importante per chi scrive driver di dispositivi.
Gestione I/O in modalità kernel di Windows gestisce la comunicazione tra le applicazioni e le interfacce fornite dai driver di dispositivo. Poiché i dispositivi funzionano a velocità che potrebbero non corrispondere al sistema operativo, la comunicazione tra il sistema operativo e i driver di dispositivo viene eseguita principalmente tramite pacchetti di richiesta di I/O (IRP). Questi pacchetti sono simili ai pacchetti di rete o ai pacchetti di messaggi di Windows. Vengono passati dal sistema operativo a driver specifici e da un driver a un altro.
Il sistema di I/O Windows fornisce un modello di driver a più livelli denominato stack. In genere gli IRP passano da un driver a un altro nello stesso stack per facilitare la comunicazione. Ad esempio, un driver joystick deve comunicare con un hub USB, che a sua volta dovrà comunicare con un controller host USB, che sarebbe quindi necessario comunicare tramite un bus PCI al resto dell'hardware del computer. Lo stack è costituito da driver joystick, hub USB, controller host USB e bus PCI. Questa comunicazione è coordinata dal fatto che ogni driver nello stack invia e riceve IRP.
Non si può sottolineare abbastanza quanto sia importante che il driver invii e riceva gli IRP tempestivamente affinché l'intero stack funzioni in modo efficiente. Se il driver fa parte di uno stack e non riceve correttamente, gestisce le informazioni e le trasmette, il driver potrebbe causare arresti anomali del sistema.
Per altre informazioni sui runtime di integrazione, vedere Gestione dei runtime di integrazione.
Per ulteriori informazioni sugli stack di driver, vedere Oggetti di dispositivo e stack di dispositivi.
Per le tecniche di programmazione correlate alla gestione di I/O, vedere Tecniche di programmazione di I/O Manager.
Le routine che forniscono un'interfaccia diretta al gestore di I/O sono in genere precedute dalle lettere "Io"; ad esempio IoCreateDevice. Per un elenco delle routine di I/O Manager, vedere Routine di I/O Manager.
Per altre informazioni, vedere Pacchetti di richieste di I/O e struttura IRP (wdm.h).
Il gestore di I/O ha due sottocomponenti: gestione plug and play e risparmio energia. Gestiscono la funzionalità di I/O per le tecnologie di Plug and Play e risparmio energia. Per altre informazioni sulla gestione di Plug and Play, vedere Gestione plug and play di Windows Kernel-Mode e per altre informazioni sul risparmio energia, vedere Windows Kernel-Mode Power Manager.