本页使用了标题或全文手工转换

硬體抽象層

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

硬體抽象層英语:Hardware Abstraction Layer,缩写HAL)是軟體層的例行程式套件,用於模擬特定系統平台的細節使程式可以直接存取硬體的資源。將硬體方面的不同抽離作業系統核心,核心模式的程式碼就不必因為硬體的不同而需要修改。因此硬體抽象層可加大軟體的移植性。

之所以有硬體抽象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代。

参考文献[编辑]

外部連結[编辑]