VxD

Per gli utenti di Microsoft Windows , un VxD è il pilota della periferica virtuale. Un VxD funziona con i sistemi operativi Windows 3.x , Windows 95 e 98 e dispone dei diritti di accesso a tutta la memoria del kernel , ai processi attivi e all'accesso diretto all'hardware.

Perché i piloti virtuali

Prima dell'arrivo di Windows, le applicazioni DOS comunicavano frequentemente e direttamente con l' hardware , rispondendo alle interruzioni , leggendo e scrivendo la memoria del dispositivo. Ogni applicazione prevedeva di avere pieno accesso ai vari componenti . Windows 2.1 386 e versioni successive consentivano a più sistemi DOS di funzionare contemporaneamente. Ciò è stato possibile eseguendo ciascuna applicazione nella propria finestra . Per condividere risorse fisiche arbitrarie tra queste macchine virtuali , Microsoft ha integrato i dispositivi virtuali in Windows 3.0 . Questi driver hanno risolto il problema di effettuare più chiamate hardware intercettandole e rispondendo al posto dell'hardware reale.

Invece di una porta hardware che rappresenta un dispositivo reale , il driver rappresentava un dispositivo "virtuale" che rispondeva ed era controllato dal sistema operativo.

Origine del nome

Il nome VxD deriva dal fatto che la maggior parte dei file per questi driver virtuali avevano nomi come "v (qualcosa) d.386" in Windows 3.x ( V irtual xxx D river ). Ad esempio, vjoyd.386 ( joystick ), vmm.386 ( gestore della memoria ) e così via. VxDs di solito hanno l' estensione del file .386 sotto Windows 3.xe e .vxdsotto Windows 95 . I VxD scritti per Windows 3.x possono essere utilizzati in Windows 95 ma il contrario non è possibile.

Privilegi concessi dal kernel

Nei sistemi operativi Windows a partire da Windows 95 , le normali applicazioni vengono eseguite in modalità protetta al livello di privilegio "3" , noto anche come anello " 3 . Questo significa che hanno un accesso limitato alla memoria e hardware, come ad esempio finestra DOS sotto Windows 3.xe . I VxD, d'altra parte, funzionano a livello di privilegio "0" o ring " 0 , cioè con pieno accesso alla memoria e all'hardware.

Pertanto, in Windows 95 e 98, qualsiasi applicazione che richiede l'accesso completo alla memoria e all'hardware installerà un VxD. Tali VxD non guidano il dispositivo, consentono semplicemente a un'applicazione di fare quello che vuole. Ad esempio, il software antivirus di solito installa un VxD. Anche il kernel stesso usa i VxD per cose come la gestione della memoria. Questo apparente paradosso è dovuto al fatto che i VxD sono driver di dispositivo per Windows meno recenti e componenti caricabili dinamicamente a livello di kernel del sistema operativo.

VxD non è più supportato dalle versioni recenti di Windows. I driver di dispositivo per Windows 2000 e Windows XP utilizzano i driver Windows Driver Model (Windows Driver Model) (WDM), successivamente, Windows Vista e Windows 7 , utilizzano Windows Driver Foundation  (en) (suddiviso in Kernel -mode Driver Framework  (en ) e User mode Driver Framework  (en) ).

Vedi anche