VxD

VxD är en drivrutinsmodell som används av Microsoft Windows/386 , Windows 3.x Enhanced Mode , Windows 9x och i viss mån Novell DOS 7 , OpenDOS 7.01 och DR-DOS 7.02 . [1] VxD har tillgång till minne från kärnan, till alla pågående processer och direkt tillgång till hårdvara.

Design

Namnet "VxD" är en förkortning för "virtuell xxx-drivrutin" ("virtuell drivrutin xxx"), där "xxx" är en specifik klass av hårdvaruenheter. [1] Detta beror på att många drivrutiner i Windows 3.x hade filnamn i formen vxxxd.386. Till exempel: vjoyd.386 (joystick), vmm.386 (minneshanterare). VxD hade vanligtvis ett filtillägg .386 under Windows 3.x och .vxdunder Windows 9x. VxD-drivrutiner skrivna för Windows 3.x kan användas under Windows 9x, men inte vice versa.

Historik

Före tillkomsten av Windows hade DOS- applikationer antingen direkt åtkomst till olika delar av hårdvara (svara på förfrågningar, avbrott, läsning och skrivning till enhetens minne, etc.) eller via en DOS- enhetsdrivrutin . Eftersom DOS inte var ett multitasking-system hade varje applikation exklusiv och fullständig kontroll över hårdvaran medan den kördes. Och även om Windows -program inte ofta pratade direkt med hårdvaran, var det det enda sättet för Windows-drivrutiner; den är fortfarande i Windows 3.x real- och standardlägen .

Från Windows/386 och framåt tilläts flera DOS-applikationer köras samtidigt, var och en körs i sin egen virtuella maskin . För att dela fysiska resurser mellan virtuella maskiner introducerade Microsoft virtuella enhetsdrivrutiner. Dessa drivrutiner löste konflikter som uppstod från användningen av fysiska resurser genom att avlyssna samtal till hårdvaran. Till exempel, istället för att en hårdvaruport var en verklig enhet, var en drivrutin en "virtuell" enhet som kunde styras av operativsystemet.

Inkurans

Även om Windows 98 introducerade Windows Driver Model (WDM), kunde VxD-drivrutiner användas i Windows 98 och Windows Me. De kunde dock inte användas på Windows NT och dess ättlingar. Från och med Windows 2000 använder Windows NT-baserade system även Windows-drivrutinsmodellen, medan Windows NT 4 och tidigare var tvungna att använda drivrutiner som utformats specifikt för dem. Att använda VxD-drivrutiner istället för WDM i Windows9x gjorde det omöjligt att använda vissa ACPI- funktioner , såsom viloläge .

VxD ska inte förväxlas med liknande namngivna NTVDM -'VDDs' (Virtual Device Drivers) som tillhandahåller direkt I/O-emulering under Windows NT i en DOS-box. NTVDM VDD körs som en vanlig 32-bitars användarläges-DLL och måste vara beroende av Win32 API (eller annan WDM-drivrutin) för att emulera önskad I/O på uppdrag av ett 16-bitarsprogram.

Se även

Länkar

  1. Paul, Matthias. NWDOS-TIPS - Tips och tricks om Novell DOS 7, med Blick på odokumenterade detaljer, buggar och lösningar  (tyska) . - utgåva 3, utgåva 157. - 1997. NWDOSTIP.TXT är ett omfattande arbete om Novell DOS 7 och OpenDOS 7.01, inklusive beskrivningen av många odokumenterade funktioner och interna funktioner. Det är en del av författarens ännu större MPDOSTIP.ZIP-samling som underhållits fram till 2001 och distribuerats på många webbplatser vid den tiden. Den medföljande länken pekar på en HTML-konverterad äldre version av filen NWDOSTIP.TXT.

Litteratur