Hardver absztrakciós réteg
Mint már említettük, az egyik legfontosabb eleme a Windows tervezés a hordozhatóság szerte a különböző hardver platformokon. Hardver absztrakciós réteg - hardver absztrakciós réteg (HAL) kulcsfontosságú része biztosításának lehetőségét hordozhatóság.
HAL egy betölthető kernel módú modul (Hal.dll), amely alacsony szintű interfészt a hardver platform, amelyen a Windows futtatásához. Ez elrejti a részleteket, attól függően, hogy a berendezés, mint például input-output interfészek, megszakítás vezérlők és mechanizmusok közötti interakció processzorok - az összes funkciót az építészeti és gépi függőség.
Ezért ahelyett, hogy közvetlenül hozzáfér a hardver, a belső Windows-összetevők és illesztőprogramok írta a felhasználók számára, a szükséges információkat, attól függően, hogy a platform támogatását hordozhatóság hívja HAL-rutinok. Emiatt HAL-rutinok dokumentált WDK. További információ a HAL és eszközmeghajtók kell kapcsolnia a WDK.
Bár az operációs rendszer tartalmaz néhány HAL-modult (lásd. Tab), Windows lehet meghatározni idején a letöltés, a HAL-modult kell használni, kivéve a probléma, hogy létezett a korábban kiadott változat a Windows, amikor megpróbálja a Windows Installer letölteni a különböző rendszerekben.
Listája HAL-modulok x86.
PC-k javított interfész
konfiguráció-menedzsment, és az energiafogyasztás - Advanced
Configuration and Power Interface (ACPI). kizárólag
Egy egyprocesszoros gép támogatása nélkül vezérlővel - APIC (jelenléte minden ilyen vezérlők hatására a rendszer használatához
helyett HAL-egység alább látható)
Személyi számítógépek vezérlővel - Advanced Programmable Interrupt
Controller (APIC), amelynek ACPI. A jelenléte APIC eszközökkel
támogatása szimmetrikus többprocesszoros - SMP
Megjegyzés. X64-gép, csak egy módja a HAL nevezett Hal.dll. Ez annak köszönhető, hogy a jelenléte az összes x64-gép alaplapok a konfigurációja megegyezik a folyamatok támogatásához szükséges ACPI és APIC. Ezért a gép ACPI-támogatás nélkül, vagy a szokásos programozható megszakítás-vezérlő - PIC, nem szükséges.
Kísérlet: meghatározása a futó HAL-modult.
Határozza meg, melyik változatát HAL-modul fut, akkor WinDbg és a nyitó ülésén a helyi kernel hibakereső. Járuljon .reload letöltésével karakterek parancsot, majd írja be a parancsot lm vm hal.
Például az alábbi következtetést kapunk egy olyan rendszer, amely elindította ACPI HAL:
LKD> lm vm hal
kezdeni end modul neve
fffff800'0181b000 fffff800'01864000 Hal (halasztott)
Loaded szimbólum képfájl: Halmacpi.dll
A fényképek útvonal: Halmacpi.dll
Kép neve: Halmacpi.dll
Fájl verzió: 6.1.7600.16385
Termék verzió: 6.1.7600.16385
Fájl zászlók: 0 (Mask 3F)
Fájl OS: 40004 NT Win32
Fájl típus: 2,0 Dll
A fájl dátuma: 00000000.00000000
CompanyName: Microsoft Corporation
Termék neve: Microsoft® Windows® operációs rendszer
FileVersion: 6.1.7600.16385 (win7_rtm.090713-1255)
FileDescription: Hardver absztrakciós réteg DLL

Megjegyezzük, hogy Ntoskrnl társított HAL, ami viszont együtt jár Ntoskrnl. (Mindketten használják egymás funkcióit.) Ntoskrnl is társult a következő végrehajtható fájlokat:
Részletes leírás az információ látható ezen eszközök adják a súgójában DependencyWalker (Depends.hlp).
Hasonló sem.