什麼是硬體抽象層 (HAL)?概念、運作方式
HAL 或硬體抽象層是 Microsoft Windows Server 基礎上的薄層軟體,可在底層硬體和作業系統的較高層之間提供統一的介面。
什麼是HAL(硬體抽象層)?
作業系統底部的薄薄軟體層,在底層硬體和作業系統的較高層之間提供統一的介面,隱藏與這些較高層的硬體差異。換句話說,硬體抽象層 (HAL) 隱藏了與作業系統的硬體差異,以便統一的程式碼可以用於所有硬體。所有硬件對操作系統來說看起來都一樣,因為它通過 HAL 的過濾玻璃“看到”硬件。
硬體抽象層範例
運作方式
HAL 位於行政服務的基礎,它封裝了作業系統執行的大多數硬體特定功能。如果作業系統的另一個部分想要存取硬體裝置,它必須將其要求轉介給 HAL。HAL 會處理作業系統核心與硬體之間的通訊。
Microsoft Windows 中的 HAL
Windows NT 核心的核心空間中有一個 HAL,介於硬體與執行服務之間,這些服務包含在 %WINDOWS%\system32\hal.dll 下的檔案NTOSKRNL.EXE中。這可讓 Windows NT 核心模式程式代碼可移植至各種處理器、具有不同的記憶體管理單元架構,以及具有不同 I/O 匯流排架構的各種系統;當針對適用於這些系統的指令集進行編譯時,大部分程式碼在這些系統上執行而不變更。例如,基於 SGI Intel x86 的工作站不是 IBM PC 兼容的工作站,但由於 HAL,Windows 2000 能夠在它們上運行。
自 Windows Vista 和 Windows Server 2008 開始,使用的 HAL 會在啟動期間自動決定。
NOTE
HAL 在 Windows 中以名為 hal.dll 的檔案實作。如果硬體供應商需要保護專有技術,該公司可以開發 HAL 的客製化實作。這表示不同的處理器設定可能會使用不同的 HAL 驅動程式。