ReactOS,硬件抽象层,HAL概述
分析環境reactos0.3.4?,i386體系]
?
ReactOS的硬件抽象層 HAL(Hardware Abstraction Layer)位于OS與硬件的中間,和windows的hal原理基本一致,硬件抽象層隱藏特定平臺的硬件接口細節,為上層的系統提供標準的穩定的虛擬硬件平臺,使商城系統具有與硬件無關的特性,從而達到可在多種平臺上進行移植的目的。
?
既然硬件抽象層的功能是隱藏特定的硬件平臺特性,那么這個硬件平臺又是指什么呢?經過對HAL代碼的閱讀(主要是"hal"halx86"generic目錄里的文件),以及在網上搜索了很多相關資料后,才了解到這個硬件平臺是指:某種類型的計算機體系結構,比如說IBM PC機體系結構,也就是一般所指的x86 pc系統,或者PowerPC等。
?
而這些計算機雖然在構架上和技術上會有不同,但是也有相同的(我想應該這樣)因為任何一臺計算機都應該包含CPU系統總線、(地址總線、數據總線、PCI總線、很多其他總線吧,)還有就是一些可編成的控制器芯片,中斷控制,設備驅動等等。這些相互搭配就夠正了某種體系結構的計算機。
?
上面說的就是硬件平臺,而Reactos對這些硬件制定了通用的抽象的硬件標準,這些標準組合在一起就構成了硬件抽象層。
?
微型計算機的硬件構成:
?????? 微型計算機的硬件簡單的說就是包含主機和外部設備這兩部分,作為操作系統最關心的應該還是主機的內部硬件,其他的外設通過主板接口連接,搭配適當的驅動程序通過控制主板上的這些接口也就可以控制這些外部設備。
?
?????? 那現在重點是主機內部的這些硬件設備,這些設備已在《微型計算機技術》中有相關的定義。
簡單的說就是包括CPU、內存、總線、輸入輸出接口這幾個部分,其實就我個人認為其實就是一塊主板的體系結構。如下圖的PC機主板體系結構。
?
?
?
通過上面這個圖可以看出作為一臺PC機的主板應該具備哪些硬件特性。而Reactos給計算機定義了一個比較基本的硬件標準,對于上層來說這就是計算機標準,那么作為ReactOS應該對上層提供那些基本的硬件標準呢:(一下是我對HAL的部分代碼分析后得出的,這些其實就是計算機的硬件接口,而HAL主要就是通過這些接口來控制硬件)
1.???????? 基本的電源管理
2.???????? 主板BIOS/COMS數據管理
3.???????? 計算機引導控制
4.???????? 中央處理器控制
5.???????? 總線控制(主要是PCI總線控制)
6.???????? 存儲器緩存控制器等
7.???????? 系統時鐘及時鐘中斷管理,時鐘管理
8.???????? 硬件及軟件統一的中斷管理(IRQL)
9.???????? 直接內存存取(DMA)控制
10.???? 外部設備的I/O控制
11.???? 磁盤I/O存取控制
12.???? 共享數據同步訪問IRQL,自旋鎖(多處理器)
13.???? 雜項控制
軟件和硬件IRQ 管理(MS定義的IRQL,以及在HAL級實現的DPC/APC軟件中斷,將硬件,軟件引發的中斷和在一起按照IRQL標準執行中斷的嵌套調用)
[如需轉載請注明出處:(雄)blog.csdn.net/mickey139]
轉載于:https://www.cnblogs.com/binsys/articles/1303928.html
總結
以上是生活随笔為你收集整理的ReactOS,硬件抽象层,HAL概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 金和oa:自定义表单函数计算一段时期内的
- 下一篇: 求购TMC差旅管理系统(含源代码),价格