硬體抽象層

维基百科,自由的百科全书
(重定向自硬件抽象
跳转至: 导航搜索

硬體抽象層(HAL, Hardware Abstraction Layer),是抽象層的一種,是實作於硬體和執行於該電腦的軟體之間的一種特殊軟體。它的功用是將硬體方面的不同,隱藏並抽離於作業系統核心之中。如此一來核心模式的程式碼就不必因為硬體的不同而需要修改。所以硬體抽象層可增進軟體的可移植性。

之所以有硬體抽象Hardware abstraction)這個概念,是由於數位電腦具體的硬體Hardware)操作相當繁雜,因此將具體的硬體操作抽象化簡,避免由於直接以具體的機器碼Machine code)撰寫程式,而在將程式移植到不同硬體時,需要重寫整個程式。其概念與目的,類似於資料結構Data structure)中的Abstract data type,皆為保護程式免受變化的衝擊。

前述的現象可藉由語言現象獲得一些啟示,當我們進行記憶時,我們抽象地記憶,而非具體地將具體的訊息記下,我們在記憶時,並不會記憶文章具體的長相,而是抽象的內容。如果不是如此,當你要以另一種語言重現該篇文章時,仍然需要將其抽象化,再將其轉譯為另一語言的寫法。在記憶談話時,也類似於此。

硬件抽象层的一个“极端”例子是IBM的System/38与AS/400体系结构。这些系统的编译器产生抽象机器码:Licensed Internal Code, LIC。当程序执行时,把LIC翻译为本地CPU的机器码。这种策略使得最初为S/38编写的操作系统与应用程序可以不经修改、不必从新编译直接运行在最新的AS/400系统上,尽管底层硬件已经极大地改变了,处理器至少换了3代。

外部連結[编辑]