2008年11月5日 星期三

EFI介紹之二——框架結搆(Framework)[轉貼]


這個就是Intel設計出來的一個完整的EFI BIOS示意圖,其中綠色的部分就是Framework,我現在從下至上一一介紹。

1)Hardware 這個沒有什麼好說的,就是指我們的平台,主板。

2)Framework,一個大的“H”型結搆,好像一個大的容器,兩端都能裝東西,裝入協議和接口,下端的協議用來訪問硬件,上端協議用來和操作系統進行交互,而兩端的協議進行通信的橋梁就是Framework所設計出的兩個基本模塊:DXE Foundation和PEI Foundation。之所以有兩個,是因為在BIOS過程中分兩個階段,他們各自包含了一個稱之為調度器(Dispatcher)的東西,來調度執行子模塊。這兩個Foundation里面到底有哪些東西,我會在後面的文章中繼續介紹。Framework還包含了Framework Driver,它實現了除Foundation之外的功能,比如訪問硬件的接口等等,注意,它僅僅包含接口而已,不包含接口的實現。

3)Platform Drivers,這個是和具體硬件平台相關的驅動,訪問硬件接口的實現,前一篇文章已經提到,EFI在設計的時候就考慮到跨平台,所以我們在這里看到了他把何平台有有關的東西做到了一個模塊里面,那樣在移植到其他平台的時候,只需要換掉這個部分就可以了。

注:在這里我們經常會看到"Driver"這個詞,我想說明一下,這個“Driver”和我們日常所聽到的驅動程序有點不一樣,可以翻譯成接口,我覺得更加恰當一些。

4)EFI Drivers,這個指一個符合EFI 驅動標准(EFI Driver Modle)的驅動程序,EFI的標准化甚至滲透到了驅動層面,為了兼容性,也制定了驅動標准,凡是符合此標准的程序,都可以在所有的EFI BIOS上直接運行,而不需要任何改動。這樣也給做外圍設備的廠商提供了方便,他們在編寫設備驅動程序的時候,只需要去了解驅動模型就好,而不要去研究整個EFI BIOS,也不用考慮不同的EFI BIOS會有不兼容這個問題。

5)Capatibility Support Module(CSM)為了兼容現有的匯編語言編寫的設備驅動程序和操作系統,而提供了這個部分,計算機領域都要考慮向前兼容的問題,直到BIOS的所有部分都符合EFI標准,這個模塊才會拿掉,不過現階段,這個東西還會存在很長一段時間,因為目前使用EFI BIOS的操作系統很少,Mac OS,Vista+SP1,Linux也正在准備,前景很好:),還有重要的一點,就是現階段的一些操作系統不可能很快就被淘汰,Dos到今天還在廣泛使用。

6)EFI,再往上一層黃色薄薄的一層,EFI本身所表示的就是接口,所以我們可以看到,在Framework這幅圖里面,它只占了很少的一部分,僅僅提供了OS和Framework之間的接口而已。絕大多數工作,都是在Framework中完成。

7)OS,最上面灰色的部分,這幅圖里面有兩種OS,一種是支持EFI的操作系統,另一種是傳統的(Windos XP/98,DOS等等),後者在啟動過程中還需要CSM支持,用Int 19H中斷,所以它放在了CSM的正上方,而支持EFI的操作系統,是不要CSM支持的,它的啟動方式是EFI標准所規定的,這個我們在後面繼續介紹。

資料來源:
http://blog.csdn.net/lpg123/archive/2008/08/30/2853502.aspx

3 則留言:

陳律佑 提到...

張貼之後也改一下用語好嗎?都是26用語乾脆去26那邊看就好了

史丹利 提到...

你不喜歡就別看!

gg 提到...

http://www.xuebuyuan.com/1414501.html