回覆列表
  • 1 # 範閒不是我

    EFI

    1 可擴充套件韌體介面

      可擴充套件韌體介面(英文名Extensible Firmware Interface 或EFI)是由英特爾,一個主導個人電腦技術研發的公司推出的一種在未來的類PC的電腦系統中替代BIOS的升級方案。BIOS技術的興起源於IBM PC/AT機器的流行以及第一臺由康柏公司研製生產的“克隆”PC。在PC啟動的過程中,BIOS擔負著初始化硬體,檢測硬體功能,以及引導作業系統的責任,在早期,BIOS還提供一套執行時的服務程式給作業系統及應用程式使用。BIOS程式存放於一個掉電後內容不會丟失的只讀儲存器中,系統加電時處理器的第一條指令的地址會被定位到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技術的發展時,必須有人對它作必要的改變。

  • 中秋節和大豐收的關聯?
  • 用什麼可以白色的工作服洗乾淨。漂白水和洗衣液就不用說了?