硬體抽象層

硬體抽象層 ( 縮寫HAL ） 是軟體層的例行程式套件 ， 用於模擬特定系統平臺的細節使程式可以直接存取硬體的資源 。 將硬體方面的不同抽離作業系統的核心 ， 核心模式的程式碼就不必因爲硬體的不同而需要修改 。 因此硬體抽象層可加大軟體的移植性 。 之所以有硬體抽象  這個概念 ， 是由於數位電腦具體的硬體操作相當繁雜 ， 因此將具體的硬體操作抽象化簡 ， 避免由於直接以具體的機器碼撰寫程式 ， 而在將程式移植到不同硬體時 ， 需要重寫整個程式 。 其概念與目的 ， 類似於資料結構中的抽象數據類型 （ Abstract data type ） ， 皆爲保護程式免受變化的衝擊 。 前述的現象可藉由語言現象獲得一些啓示 ， 當人在記憶時 ， 會抽象地記憶 ， 而非具體地將具體的訊息記下 ， 在記憶時 ， 並不會記憶文章具體的長相 ， 而是抽象的內容 。 如果不是如此 ， 當需要以另一種語言重現該篇文章時 ， 仍然需要將其抽象化 ， 再將其轉譯爲另一語言的寫法 。 在記憶談話時 ， 也類似於此 。