SOGO論壇
  登入   註冊   找回密碼
查看: 1794|回覆: 0
列印 上一主題 下一主題

[好料分享] 新世代電腦BIOS架構標準 [複製連結]

論壇顧問

Q^心靈導師^Q

Rank: 14Rank: 14Rank: 14Rank: 14

顧問勳章 原創及親傳圖影片高手勳章 布布達人勳章

狀態︰ 離線
跳轉到指定樓層
1
發表於 2007-3-5 14:20:15 |只看該作者 |倒序瀏覽
早從個人電腦剛出現,BIOS便如影隨形的跟著,雖然在功能上有所增加,但是基本介面與應用方式卻都沒有太大的改變。BIOS(Basic Input�Output System)即基本輸入輸出系統,通常是儲存在唯讀記憶體(ROM)中。它直接對電腦系統中的輸入、輸出設備進行最底層的控制,是連接軟件程式和硬體之間的樞紐。

常見的BIOS架構

BIOS是電腦系統中用來最低階且直接的硬體控制程式。就PC而言,BIOS包含了控制鍵盤、螢幕,磁碟機,串列通訊設備以及很多其它功能的控制碼。電腦技術發展至今,雖然在硬體技術上不斷推陳出新,比如說CPU核心架構越來越複雜、顯示晶片規模越來越龐大、記憶體與匯流排子系統之間的規格的進步神速,即便如此,這些技術仍需要藉助BIOS來進行管理。

諸如PnP技術(Plug and Play-即插即用技術),就是在 BIOS中加上PnP模組實現的。而在熱插拔技術方面,也是由系統BIOS將熱插拔訊息傳送給BIOS中的配置管理程式,並由該程式進行重新配置的動作(如中斷、 DMA通道分配等等)。事實上,熱插拔技術也可以看做是PnP技術的一種。

舊有BIOS限制重重 急待突破

隨著時間過去,電腦平台上的硬體規格與技術越來越多,BIOS需要紀錄的硬體參數越來越多,但是在OS載入之後,被呼叫的機率卻越來越少,到了目前最新ACPI BIOS架構上,包含了ACPI Registers、ACPI System Description Tables和ACPI System Firmware等三大部分,也因此具備了讓作業系統直接掌控電源管理機制的能力,但是BIOS在基本概念與呈現方式上仍與過去20年來沒什麼兩樣。

ACPI BIOS雖然已經具備了許多先進功能,但是介面仍維持過去的一貫冷僻風格,許多電腦使用者可能一輩子也沒有進過BIOS調整硬體設定,而事實上,在許多情況之下,透過調整BIOS才能完整發揮出電腦的能力,或者是藉由調整硬體的中斷來避免衝突的情況發生。

除了極為不友善的使用者介面以外,為了增加可支援的硬體,常常需要進行BIOS更新的動作,雖然不少廠商已經具備有可直接在視窗環境下更新的軟體,但是視窗環境的不穩定,往往可能造成更新的中斷,甚至造成電腦無法啟動的狀況。因此,產業界針對BIOS這塊領域提出了不少新的概念,比如說自由軟體基金會(Free Software Foundation)總裁Richard Stallman就曾經以要求BIOS提供原始碼並進行開放的動作,不過這點在實際執行上遇到了困難,因為BIOS通常牽涉到了硬體的詳細規格,硬體廠商為了確保自己的競爭力,因此大多也是採取封閉的態度,即使為了撰寫BIOS而不得不提供相關資料,也都必須簽署保密協定才行。不過眾家硬體大廠則偏向於新一代的EFI/UEFI架構。

新世代BIOS技術綜觀

■OpenBIOS

OpenBIOS 的開發目的是實作 IEEE 1275-1994 (即 Open Firmware 標準) 相容的 firmware。OpenBIOS 提供的 FCODE Suite 將 ANS Forth 相容的程式碼翻譯成 FCODE 中介形式,可以提供我們開發 platform-independent 的 boot-time device drivers。

OpenFirmware標準是一個與硬體獨立的韌體架構標準,最早是由SUN所開發,並且應用於早期使用PowerPC的蘋果電腦、SPARC平台以及PowerPC等平台中,這個標準其實並沒有被IEEE所實際認可,不過依照此一標準架構所開發的專案數量不少,目前已知的已有SUN公司的OpenBOOT,Fireworks的OpenFirmware,以及Codegen SmartFirmware,原始碼都在OpemBIOSOpemBIOS專案下完全開放。

由於OpenFirmware所使用的Forth碼可以編譯為FCode,而非如傳統BIOS編譯為機器碼,只能應用在特定平台。在應用方式上,我們可以將特定裝置安裝於使用OpenFirmwar的系統中,此裝置可以進行啟動時的調測,並提供系統OpenFirmware可用的裝置驅動來進行組態工作,只要系統採用的是OpenFirmware,不論使用的是哪種硬體裝置,都可以快速進行測試與套用。

■LinuxBIOS

這也是一個開放軟體專案,主要是想以輕量化的架構來取代傳統疊床架屋的BIOS體系。LinuxBIOS提供最基本的執行架構,可以滿足目前主流的作業系統需求。一般來說,LinuxBIOS會載入Linux的核心,不過它也具備了可以載入其他獨立啟動管理工具的能力,因此基本上,也能夠用來啟動Windows家族的作業系統。雖然LinuxBIOS會對硬體裝置進行偵測動作,但是他並不會完全執行完整個偵測步驟,而是會將部分步驟交由作業系統的接手進行。

LinuxBIOS最獨特的能力,就是它的X86版本中,只要執行僅僅16個指令便可切換至32位元模式(幾乎所有的傳統BIOS都是執行於16位元的模式之下)。在32位元模式之下執行的LinuxBIOS具有非常高的效能,冷啟動(在完全關閉電源的狀態下啟動)只需要3秒鐘便可完成所有測試動作並開始載入作業系統。雖然是以Linux作為開頭命名,但事實上它可以應用於大部分的系統平台上。

■CSS

這個BIOS架構是由微軟以及Phoenix(著名的傳統BIOS廠商)在2003年時所制訂,當時號稱是完全基於圖形化介面的BIOS,當時業界的呼聲很高,也因此CSS BIOS被視為傳統BIOS的下一代接班人。

CSS主要是訴求在與硬體及作業系統的高度結合上,因此對於系統控管方面,可以提供比傳統BIOS更為全面的保護。不過CSS有個原罪,那就是他架構包含了信賴運算架構,業界一般咸認這是微軟利用來控制整個資訊產業的手段,從軟體端掌控所有硬體的能力,雖然規劃的應用相當多,但主要是被微軟拿來作為對抗盜版的工具,而非真正是為使用者而規劃。CSS BIOS可以給予管理者(遠端或近端,甚至是非法取得權限的駭客)非常巨大的權限,可以在不經使用者同意之下,任意取得使用者的資料。

而在另一個BIOS標準—EFI出現之後,這個規劃也隨之被打入冷門,只能成為Phoenix產品中的另一分支,而無法成為主導整個BIOS架構的發展標準。

■EFI/UEFI

2000年時,在Intel春季IDF中被提出之後,歷經數次的修改,轉而被UEFI制定後續規格之後,目前也已經進展到2.1版,但由於是被UEFI這個組織所接手發展,因此也稱為UEFI BIOS。

Intel當初提出這個標準,主要是為了提供所有Intel平台一個共通的韌體平台,小至Xscale,大至Itanium都是其適用範圍,雖然初始發展是由Intel以及AMI、台灣Insyde這三家公司,但是後來看出這個規劃有其前瞻性,因此產業界成立了UEFI論壇,以1.10版的EFI標準為基礎,接手後續相關規格的開發。

UEFI包含了硬體控制與作業系統核心兩大模組,硬體控制模組上,只要是相同版本的UEFI BIOS,便能提供相同的功能,而在作業系統核心模組上,則是提供硬體廠商類似C語言的標準API,讓廠商可以自行編寫出自訂功能的擴充功能,比如說備份還原、防毒、燒錄等等自訂功能模組都可以透過該功能達成。以這個方面來看,UEFI幾乎就等同於一個微型的作業系統。

而由於功能龐大,因此儲存需求也隨之水漲船高,過去常用的快閃記憶體已經不敷使用,而改用在硬碟前端劃出一塊專有的儲存區塊,來進行UEFI資料的儲存。在使用UEFI開機時,使用者可以選擇以UEFI介面作為使用者介面,並透過它來啟動任一自訂的作業系統,變成像過去Windows 9X時代般,由DOS為基礎,視窗作業系統只是另一層使用者介面而已。

不過由於UEFI是儲存在硬碟中,如果硬碟實體損壞,或者是被病毒入侵,那麼有可能整個UEFI區域的資料會完全損失,因此UEFI仍需要更高的安全規格搭配,才能進一步實用化。

結論:新一代BIOS架構競爭幾乎已經塵埃落定,由於微軟的強勢支援,以及各家硬體廠商的眾星拱月,目前已經確定由UEFI出線,不過這也不代表其他BIOS架構就沒有存在的餘地,在特定領域中(比如說極端重視安全或輕量化的硬體架構),其他BIOS的架構要顯得比UEFI來得具有優勢。
喜歡嗎?分享這篇文章給親朋好友︰
               感謝作者     

請注意︰利用多帳號發表自問自答的業配文置入性行銷廣告者,將直接禁訪或刪除帳號及全部文章!
您需要登錄後才可以回覆 登入 | 註冊


本論壇為非營利自由討論平台,所有個人言論不代表本站立場。文章內容如有涉及侵權,請通知管理人員,將立即刪除相關文章資料。侵權申訴或移除要求:abuse@oursogo.com

GMT+8, 2024-12-28 15:40

© 2004-2024 SOGO論壇 OURSOGO.COM
回頂部