台灣最大程式設計社群網站
線上人數
1265
 
會員總數:244980
討論主題:188951
歡迎您免費加入會員
討論區列表 >> 心情甘苦談 >> 也許10幾年後 BIOS 和 作業系統 會走入歷史。
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
也許10幾年後 BIOS 和 作業系統 會走入歷史。
價值 : 0 QP  點閱數:1716 回應數:3

樓主

林家宏
門外漢
0 62
1858 484
發送站內信


特斯拉 當初發明交流電等等科技,使一些大公司賺錢的金雞母的產品相形之下變得很不完美,也許電腦一些新技術的發明,今日的當紅炸子機,10幾年後走入歷史也不一定。




可擴展韌體介面在軟體堆疊裡的位置可延伸韌體介面(英文名Extensible Firmware Interface 或EFI)是一種個人電腦系統規格,用來定義作業系統與系統靭體之間的軟體介面,為替代BIOS的升級方案[1]。可延伸韌體介面負責加電自檢(POST)、連繫作業系統以及提供連接作業系統與硬體的介面。EFI最初由英特爾開發,現時由UEFI論壇來推廣與發展。

[编辑] 規格EFI最初由Intel開發,最後由INTEL訂定的版本在2002年十二月所釋出的1.1版,Intel不會再有其他關於EFI的Specification的發布。有關EFI的規範,Intel已於2005年此規範交由UEFI論壇來推廣與發展,之後並更名為Unified EFI(UEFI)[1]。UEFI論壇於2007年1月7日釋出2.1版的規範,其中較1.1版增加與改進加密編碼(cryptography)、網路認證(network authentication)與使用者介面架構(User Interface Architecture)…相關方面的制定。2009年05月09日,2.3版本發佈。截至今日為止,2.3.1版是最新的公開的版本。

[编辑] EFI的產生
EFI 開機管理員 與 EFI drivers的溝通方式眾所周知,英特爾在近二十年來引領以x86系列處理器為基礎的PC技術潮流,她的產品如CPU,晶片組等在PC生產線中佔據絕對領導的位置。因此,不少人認為這一舉動顯示了英特爾公司欲染指韌體產品市場的野心。事實上,EFI技術源於英特爾安騰處理器(Itanium)平台的推出。安騰處理器是英特爾瞄準伺服器進階市場投入近十年研發力量設計產生的與x86系列完全不同的64位元新架構。在x86系列處理器進入32位元的時代,由於相容性的原因,新的處理器(80386)保留了16位元的執行方式(真真實模式),此後多次處理器的升級換代都保留了這種執行方式。甚至在含64位元擴充功能技術的至強系列處理器中,處理器加電啟動時仍然會切換到16位元的真實模式下執行。英特爾將這種情況歸咎於BIOS技術的發展緩慢。自從PC相容機廠商透過淨室的方式複製出第一套BIOS源程式,BIOS就以16位元組譯代碼,暫存器參數呼叫方式,靜態鏈結,以及1MB以下內部記憶體固定編址的形式存在了十幾年。雖然由於各大BIOS廠商近年來的努力,有許多新元素添加到產品中,如PnP BIOS,ACPI,傳統USB裝置支援等等,但BIOS的根本性質沒有得到任何改變。這迫使英特爾在開發新的處理器時,都必須考慮加進使效能大大降低的相容模式。有人曾打了一個比喻:這就像保時捷新一代的全自排跑車,被人套上去一個蹩腳打檔器。

然而,安騰處理器並沒有這樣的顧慮,它是一個新生的處理器架構,系統韌體和作業系統之間的介面都可以完全重新定義。並且這一次,英特爾將其定義為一個可延伸的,標準化的韌體介面規範,不同於傳統BIOS的固定的,缺乏文檔的,完全基於經驗和晦澀約定的一個事實標準。基於EFI的第一套系統產品的出現至今已經有五年的時間,如今,英特爾試圖將成功運用在進階伺服器上的技術推廣到市場佔有率更有優勢的PC產品線中,並承諾在2006年間會投入全力的技術支援。

[编辑] 比較EFI和BIOS一個顯著的區別就是EFI是用模組化,C語言風格的參數堆疊傳遞方式,動態鏈結的形式構建的系統,較BIOS而言更易於實作,容錯和糾錯特性更強,縮短了系統研發的時間。它執行於32位或64位元模式,乃至未來增強的處理器模式下,突破傳統16位元代碼的定址能力,達到處理器的最大定址。它利用載入EFI驅動的形式,識別及操作硬體,不同於BIOS利用掛載真真實模式中斷的方式增加硬體功能。後者必須將一段類似於驅動的16位元代碼,放置在固定的0x000C0000至0x000DFFFF之間儲存區中,執行這段代碼的初始化部分,它將掛載真實模式下約定的中斷向量向其他程式提供服務。例如,VGA圖形及文字輸出中斷(INT 10h),磁碟存取中斷服務(INT 13h)等等。由於這段儲存空間有限(128KB),BIOS對於所需放置的驅動代碼大小超過空間大小的情況無能為力。另外,BIOS的硬體服務程式都以16位元代碼的形式存在,這就給執行於增強模式的作業系統存取其服務造成了困難。因此BIOS提供的服務在現實中只能提供給作業系統引導程式或MS-DOS類作業系統使用。而EFI系統下的驅動並不是由可以直接執行在CPU上的代碼組成的,而是用EFI Byte Code編寫而成的。這是一組專用於EFI驅動的虛擬機器語言,必須在EFI驅動執行環境(Driver Execution Environment,或DXE)下被解釋執行。這就保證了充分的向下相容性,打個比方說,一個帶有EFI驅動的擴充功能裝置,既可以將其安裝在安騰處理器的系統中,也可以安裝於支援EFI的新PC系統中,而它的EFI驅動不需要重新編寫。這樣就無需對系統升級帶來的相容性因素作任何考慮。另外,由於EFI驅動開發簡單,所有的PC部件提供商都可以參與,情形非常類似於現代作業系統的開發模式,這個開發模式曾使Windows在短短的兩三年時間內成為功能強大,效能優越的作業系統。基於EFI的驅動模型可以使EFI系統接觸到所有的硬體功能,在作業系統執行以前瀏覽全球資訊網站不再是天方夜譚,甚至實作起來也非常簡單。這對基於傳統BIOS的系統來說是件不可能的任務,在BIOS中添加幾個簡單的USB裝置支援都曾使很多BIOS設計師痛苦萬分,更何況除了添加對無數網路硬體的支援外,還得憑空構建一個16位元模式下的TCP/IP協議棧。

一些人認為BIOS只不過是由於相容性問題遺留下來的無足輕重的部分,不值得為它花費太大的升級努力。而反對者認為,當BIOS的出現制約了PC技術的發展時,必須有人對它作必要的改變。

[编辑] EFI和作業系統EFI在概念上非常類似於一個低階的作業系統,並且具有操控所有硬體資源的能力。不少人感覺它的不斷發展將有可能代替現代的作業系統。事實上,EFI的締造者們在第一版規範出台時就將EFI的能力限制於不足以威脅作業系統的統治地位。首先,它只是硬體和預啟動軟體間的介面規範;其次,EFI環境下不提供中斷的機制,也就是說每個EFI驅動程式必須用輪詢(polling)的方式來檢查硬體狀態,並且需要以解釋的方式執行,較作業系統下的機械碼驅動效率更低;再則,EFI系統不提供複雜的快取記憶體保護功能,它只具備簡單的快取記憶體管理機制,具體來說就是指執行在x86處理器的段保護模式下,以最大定址能力為限把快取記憶體分為一個平坦的段(Segment),所有的程式都有許可權存取任何一段位置,並不提供真實的保護服務。當EFI所有元件載入完畢時,系統可以開啟一個類似於作業系統Shell的命令解釋環境,在這裡,使用者可以調入執行任何EFI應用程式,這些程式可以是硬體檢測及除錯軟體,引導管理,設定軟體,作業系統引導軟體等等。理論上來說,對於EFI應用程式的功能並沒有任何限制,任何人都可以編寫這類軟體,並且效果較以前MS-DOS下的軟體更華麗,功能更強大。一旦引導軟體將控制權交給作業系統,所有用於引導的服務代碼將全部停止工作,部分執行時,代服務程式還可以繼續工作,以便於作業系統一時無法找到特定裝置的驅動程式時,該裝置還可以繼續被使用。

[编辑] EFI的組成一般認為,EFI由以下幾個部封包成:

1.Pre-EFI初始化模組
2.EFI驅動執行環境
3.EFI驅動程式
4.相容性支援模組(CSM)
5.EFI高層應用
6.GUID磁碟分割表
在實作中,EFI初始化模組和驅動執行環境通常被整合在一個唯讀記憶體中。Pre-EFI初始化程式在系統開機的時候最先得到執行,它負責最初的CPU,主橋及記憶體的初始化工作,緊接著載入EFI驅動執行環境(DXE)。當DXE被載入執行時,系統便具有了列舉並載入其他EFI驅動的能力。在基於PCI架構的系統中,各PCI橋及PCI介面卡的EFI驅動會被相繼載入及初始化;這時,系統進而列舉並載入各橋接器及介面卡後面的各種匯流排及裝置驅動程式,周而復始,直到最後一個裝置的驅動程式被成功載入。正因如此,EFI驅動程式可以放置於系統的任何位置,只要能保證它可以按順序被正確列舉。例如一個具PCI匯流排介面的ATAPI大容量儲存介面卡,其EFI驅動程式一般會放置在這個裝置的符合PCI規範的擴充功能唯讀記憶體(PCI Expansion ROM)中,當PCI匯流排驅動被載入完畢,並開始列舉其子裝置時,這個儲存介面卡旋即被正確識別並載入它的驅動程式。部分EFI驅動程式還可以放置在某個磁碟的EFI專用分割中,只要這些驅動不是用於載入這個磁碟的驅動的必要部件。在EFI規範中,一種突破傳統MBR磁碟分割結構限制的GUID磁碟分割系統(GPT)被引入,新結構中,磁碟的分割數不再受限制(在MBR結構下,只能存在4個主分割),並且分割型別將由GUID來表示。在眾多的分割型別中,EFI系統分割可以被EFI系統存取,用於存放部分驅動和應用程式。很多人擔心這將會導致新的安全性因素,因為EFI系統比傳統的BIOS更易於受到電腦病毒的攻擊,當一部分EFI驅動程式被破壞時,系統有可能面臨無法引導的情況。實際上,系統引導所依賴的EFI驅動部分通常都不會存放在EFI的GUID分割中,即使分割中的驅動程式遭到破壞,也可以用簡單的方法得到恢復,這與作業系統下的驅動程式的儲存習慣是一致的。CSM是在x86平台EFI系統中的一個特殊的模組,它將為不具備EFI引導能力的作業系統提供類似於傳統BIOS的系統服務。

[编辑] EFI的發展英特爾無疑是推廣EFI的積極因素,近年來由於業界對其認識的不斷深入,更多的廠商正投入這方面的研究。包括英特爾,AMD在內的一些PC生產廠家聯合成立了聯合可延伸韌體介面論壇,目前最新的UEFI規範的版本號是v2.3。另外各大BIOS提供商如Insyde,Phoenix, AMI等,他們原先被認為是EFI發展的阻礙力量,現在也不斷的推出各自的解決方案。分析人士指出,這是由於BIOS廠商在EFI架構中重新找到了諸如Pre-EFI啟動環境之類的市場位置,然而隨著EFI在PC系統上的成功運用,以及英特爾新一代晶片組的推出,這一部分市場佔有率將會不出意料的在英特爾的掌控之中。


以上出自:
http://zh.wikipedia.org/wiki/%E5%8F%AF%E6%89%A9%E5%B1%95%E5%9B%BA%E4%BB%B6%E6%8E%A5%E5%8F%A3


雖然我電腦外行,不過看完有耳目一新的感覺
各位高手參考看看。

搜尋相關Tags的文章: [ BIOS ] , [ 作業系統 ] , [ EFI ] ,
本篇文章發表於2011-11-23 01:20
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

househao3dcc
檢舉此回應
路過!! 支持一下!















_________________________________
醫學美容 dysport restylane
瘦面 抗衰老
本篇文章回覆於2012-01-13 02:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

househao3dcc
檢舉此回應
有趣,幫手推一下













_________________________________
醫學美容 dysport restylane
瘦面 抗衰老
本篇文章回覆於2012-02-15 12:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

etman
檢舉此回應
看了你的文章真的讓我有些想法, 提供如下給您參考

有時候真的想法不用那麼多,多看點書比較重要,把一些觀念搞對了想法就對了
要是不喜歡看書,那就多做一點,做的越多越知道什麼是錯的,對錯的感覺也會變敏銳

要用講的或寫文章的,前面2件事其碼也做個3-3或3-5的比例
出來的東西才會有信徒,你到時候也不用寫,有人會幫你寫
本篇文章回覆於2012-02-19 22:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.