本發(fā)明涉及一種電子設(shè)備及其方法,更具體地,涉及一種包括用于訪問基本輸入/輸出系統(tǒng)的功能的基于網(wǎng)頁的接口的電子設(shè)備及其方法。
背景技術(shù):像計(jì)算機(jī)或其它類型的設(shè)備這樣的電子設(shè)備能夠包括負(fù)責(zé)啟動(dòng)該電子設(shè)備的基本輸入/輸出系統(tǒng)(BIOS)。在啟動(dòng)期間,BIOS初始化并配置該電子設(shè)備的組件,并且加載該電子設(shè)備中的操作系統(tǒng)。此外,BIOS還能夠提供其它服務(wù),如電源管理服務(wù)、熱管理服務(wù)、BIOS更新服務(wù)等等。
技術(shù)實(shí)現(xiàn)要素:一種電子設(shè)備的方法,包括:當(dāng)操作系統(tǒng)在所述電子設(shè)備中運(yùn)行時(shí),接收訪問基本輸入/輸出系統(tǒng)BIOS的功能的請(qǐng)求,所述請(qǐng)求包含所述BIOS的所述功能的地址;以及基于所述BIOS的所述功能的所述地址,通過基于網(wǎng)頁的接口將所述請(qǐng)求路由至包括所述BIOS的所述功能的域,至所述域的所述請(qǐng)求的路由引起對(duì)所述BIOS的所述功能的訪問,而不需要進(jìn)入所述電子設(shè)備的系統(tǒng)管理模式。一種電子設(shè)備,包括:基于網(wǎng)頁的接口;至少一個(gè)處理器;以及操作系統(tǒng),能在所述至少一個(gè)處理器上運(yùn)行來向所述基于網(wǎng)頁的接口提交用于訪問基本輸入/輸出系統(tǒng)BIOS的功能的請(qǐng)求,而不需要進(jìn)入所述電子設(shè)備的系統(tǒng)管理模式,所述請(qǐng)求包含所述BIOS的所述功能的網(wǎng)頁地址,并且所述基于網(wǎng)頁的接口將包含所述網(wǎng)頁地址的所述請(qǐng)求引導(dǎo)至所述BIOS的所述功能。附圖說明一些實(shí)施例是關(guān)于下面的附圖描述的:圖1、圖3、圖5和圖6是根據(jù)各個(gè)實(shí)現(xiàn)方式的布置的框圖;以及圖2和圖4是根據(jù)各個(gè)實(shí)現(xiàn)方式的過程的流程圖。具體實(shí)施方式基本輸入/輸出系統(tǒng)(BIOS)通常是在電子設(shè)備啟動(dòng)時(shí)由該電子設(shè)備運(yùn)行的最初代碼。電子設(shè)備的示例包括計(jì)算機(jī)(例如臺(tái)式計(jì)算機(jī)、筆記本計(jì)算機(jī)、平板計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)等)、手持設(shè)備(例如個(gè)人數(shù)字助理、智能電話等)、電子裝置、游戲控制臺(tái)或任何其它類型的電子設(shè)備。BIOS對(duì)該電子設(shè)備的多個(gè)硬件組件進(jìn)行初始化和配置,并且加載和啟動(dòng)該電子設(shè)備的操作系統(tǒng)(OS)。用于BIOS的代碼通常存儲(chǔ)在非易失性存儲(chǔ)器上,如閃存設(shè)備或其它類型的可編程只讀存儲(chǔ)器(ROM)。BIOS還提供能夠在電子設(shè)備中啟用的其它功能。BIOS的這種其它功能中的許多功能經(jīng)常在電子設(shè)備中通過進(jìn)入系統(tǒng)管理模式(SMM)來運(yùn)行,該系統(tǒng)管理模式是OS運(yùn)行被暫停的操作模式。此外,在具有多個(gè)處理器或多個(gè)處理器核的電子設(shè)備中,在SMM模式中可以禁用這些處理器或處理器核中除一個(gè)處理器或處理器核以外的全部處理器或處理器核。為了進(jìn)入SMM模式,生效(assert)系統(tǒng)管理中斷(SMI),并且運(yùn)行(經(jīng)常在相對(duì)高特權(quán)模式下)SMI處理程序(handler)來執(zhí)行各功能,該SMI處理程序是BIOS的一部分??赡艽嬖诎殡S進(jìn)入SMM模式來執(zhí)行BIOS功能的各種問題。首先,由于OS運(yùn)行被暫停,所以不能執(zhí)行正常的電子設(shè)備操作。此外,在SMM模式期間禁用處理器(多個(gè)處理器)或處理器核(多個(gè)處理器核)的電子設(shè)備中,該電子設(shè)備的處理能力的一部分被臨時(shí)地解激活,這意味著處理能力的這一部分不可用來執(zhí)行其它任務(wù)。而且,預(yù)測(cè)SMM處理可能占用多長時(shí)間可能是困難的,這能夠造成電子設(shè)備操作的不確定性。而且,由于特定BIOS功能可能花費(fèi)相對(duì)長的一段時(shí)間來完成(例如大約數(shù)分鐘),所以狀態(tài)信息可能不可被該電子設(shè)備的使用者獲得,這能夠?qū)е掠脩舻牟话搀w驗(yàn),因?yàn)橛脩舨荒軌虼_定該電子設(shè)備是否正在正常工作。安全性也可能是個(gè)問題,因?yàn)樵赟MM操作期間惡意軟件可能進(jìn)行攻擊,這能夠?qū)е孪到y(tǒng)出錯(cuò)。為避免任何對(duì)SMM操作的這種攻擊而采取的安全措施可能導(dǎo)致電子設(shè)備設(shè)計(jì)方面的增加復(fù)雜度。這種安全措施的示例包括鎖定特定存儲(chǔ)區(qū),該特定存儲(chǔ)區(qū)包括寄存器和/或非易失性存儲(chǔ)器的一部分,如閃存設(shè)備或其它類型的可編程只讀存儲(chǔ)器,這樣能夠提供保護(hù)以免受不想要的或未經(jīng)授權(quán)的BIOS改變。然而,這些安全措施可能對(duì)特定BIOS功能(如BIOS代碼更新)的性能施加限制,這能夠迫使僅在特定時(shí)間(如系統(tǒng)重啟動(dòng)時(shí))執(zhí)行這種BIOS功能。SMM中經(jīng)常執(zhí)行的各種功能的示例能夠包括以下任意一個(gè)或以下的組合:更新BIOS代碼的服務(wù),訪問或修改BIOS設(shè)置的服務(wù),執(zhí)行熱管理(例如控制電子設(shè)備中的冷卻設(shè)備,如風(fēng)扇)的熱管理服務(wù),功率管理服務(wù)(移除或恢復(fù)對(duì)特定硬件組件的供電),使電子設(shè)備在不同功率狀態(tài)(例如休眠狀態(tài)、睡眠狀態(tài)、完全開機(jī)狀態(tài)等等)之間轉(zhuǎn)變的服務(wù),處理電子設(shè)備中的按鍵或按鍵序列的激活(包括多個(gè)按鍵的某一組合的激活)的服務(wù)(例如開啟/關(guān)閉無線接口組件的按鍵、執(zhí)行某一預(yù)限定的任務(wù)的熱鍵序列等等),與電子設(shè)備的環(huán)境光傳感器關(guān)聯(lián)的服務(wù)(用于檢測(cè)該電子設(shè)備周圍的環(huán)境光),修改BIOS設(shè)置的服務(wù),修改電子設(shè)備中的硬件組件的設(shè)置的服務(wù),改變電子設(shè)備的可啟動(dòng)設(shè)備的啟動(dòng)順序的服務(wù),用于處理OS和BIOS之間的特定類型調(diào)用(例如中斷15調(diào)用)的服務(wù),運(yùn)行嵌入式控制器的命令的服務(wù),以及在特定條件下支持過時(shí)外圍設(shè)備(例如通用串行總線設(shè)備)的服務(wù)。盡管上面列出各種示例BIOS功能,但是注意到在其它實(shí)現(xiàn)方式中能夠使用其它或可替代的BIOS功能。根據(jù)一些實(shí)現(xiàn)方式,為了更強(qiáng)健的系統(tǒng)行為,能夠在域中提供BIOS的功能,該域允許在電子設(shè)備不必進(jìn)入SMM模式的條件下訪問BIOS功能。該域能夠位于該電子設(shè)備外部,或者該域能夠位于該電子設(shè)備內(nèi)部。通常,該BIOS能夠被視作“云中BIOS”,也被稱為“BIOS.v”。該云能夠位于該電子設(shè)備內(nèi)或者該電子設(shè)備外部。為了訪問該“云中BIOS”,提供基于網(wǎng)頁(web)的接口。通常,“基于網(wǎng)頁的接口”能夠指允許請(qǐng)求者使用經(jīng)由網(wǎng)絡(luò)(如互聯(lián)網(wǎng)或其它類型的網(wǎng)絡(luò))發(fā)送的消息傳遞(messaging)訪問資源的接口?;诰W(wǎng)頁的接口能夠提供用于訪問BIOS的新式接口,其中該接口能夠獨(dú)立于包括操作系統(tǒng)和芯片組(下面進(jìn)一步介紹)在內(nèi)的底層平臺(tái)或者對(duì)底層平臺(tái)具有較低依賴性。圖1是根據(jù)一些實(shí)現(xiàn)方式的電子設(shè)備100的簡(jiǎn)化框圖。電子設(shè)備100包括請(qǐng)求實(shí)體102(例如虛擬機(jī)監(jiān)視器、來賓虛擬機(jī)或某一其它實(shí)體),請(qǐng)求實(shí)體102能夠提交BIOS訪問請(qǐng)求104。BIOS訪問請(qǐng)求104被提交至基于網(wǎng)頁的接口106。然后,提供基于網(wǎng)頁的接口106的功能能夠?qū)IOS訪問請(qǐng)求104送至云110中的對(duì)應(yīng)BIOS功能108,其中云110能夠位于電子設(shè)備100內(nèi)部,或者位于可經(jīng)由網(wǎng)絡(luò)訪問的外部位置。盡管接下來的介紹指單數(shù)意義上的“BIOS功能”,但是注意該“BIOS功能”能夠指單個(gè)BIOS功能或多個(gè)BIOS功能。還被稱為管理程序的虛擬機(jī)監(jiān)視器(VMM)管理電子設(shè)備的包括硬件組件在內(nèi)的物理資源中由虛擬機(jī)進(jìn)行的共享。VMM對(duì)物理資源進(jìn)行虛擬化。每個(gè)虛擬機(jī)具有由VMM管理的關(guān)聯(lián)的虛擬化物理資源。VMM處理對(duì)物理資源的請(qǐng)求。“虛擬機(jī)”(還被稱為“虛擬裝置”或“虛擬部分”)指物理機(jī)器(電子設(shè)備)的、被提供來虛擬化或仿真物理機(jī)器的某一部分或某一片段。從用戶或應(yīng)用的角度看,虛擬機(jī)看上去像物理機(jī)器。虛擬機(jī)包括操作系統(tǒng)(被稱為來賓操作系統(tǒng))和至少一個(gè)應(yīng)用程序?!皝碣e虛擬機(jī)”能夠指包括來賓操作系統(tǒng)和應(yīng)用程序的虛擬機(jī)。來賓虛擬機(jī)不同于域0,該域0經(jīng)常是由虛擬機(jī)監(jiān)視器啟動(dòng)的第一域(或虛擬機(jī))。作為示例,基于網(wǎng)頁的接口106可以是網(wǎng)頁服務(wù)接口。網(wǎng)頁服務(wù)指被設(shè)計(jì)來支持經(jīng)由網(wǎng)絡(luò)的可互操作的機(jī)器對(duì)機(jī)器交互的機(jī)制。注意,在一些實(shí)現(xiàn)方式中,網(wǎng)頁服務(wù)接口還能夠允許電子設(shè)備100中的實(shí)體之間的交互。網(wǎng)頁服務(wù)接口能夠根據(jù)由網(wǎng)頁服務(wù)描述語言(WSDL)描述的格式,該網(wǎng)頁服務(wù)描述語言(WSDL)由萬維網(wǎng)聯(lián)盟(W3C)定義??商娲?,網(wǎng)頁服務(wù)接口能夠根據(jù)(也由W3C定義的)簡(jiǎn)單對(duì)象訪問協(xié)議(SOAP),該簡(jiǎn)單對(duì)象訪問協(xié)議是用于通過網(wǎng)絡(luò)在網(wǎng)頁服務(wù)實(shí)現(xiàn)方式中交換結(jié)構(gòu)化信息的協(xié)議。作為另一替代,基于網(wǎng)頁的接口106能夠根據(jù)表述性狀態(tài)轉(zhuǎn)移(REST)體系結(jié)構(gòu),該體系結(jié)構(gòu)包括客戶機(jī)和服務(wù)器,其中客戶機(jī)能夠向服務(wù)器提交請(qǐng)求且服務(wù)器能夠向客戶機(jī)提供響應(yīng)。請(qǐng)求和響應(yīng)是圍繞資源的表述的轉(zhuǎn)移建立的。資源可以是可以被尋址的任何連貫的且有意義的概念。資源的表述通常是捕獲資源的當(dāng)前狀態(tài)或預(yù)期狀態(tài)的文檔。在REST體系結(jié)構(gòu)中,由客戶機(jī)提交的請(qǐng)求能夠在一些示例中是超文本傳輸協(xié)議(HTTP)獲得(Get)請(qǐng)求。服務(wù)器能夠?qū)υ揌TTP獲得請(qǐng)求提供HTTP響應(yīng)。注意,客戶機(jī)和服務(wù)器能夠經(jīng)由網(wǎng)絡(luò)聯(lián)接,或者可替代地,客戶機(jī)和服務(wù)器能夠位于電子設(shè)備100內(nèi)部。在基于網(wǎng)頁的接口106中,通過發(fā)出包含所請(qǐng)求的資源的地址的BIOS訪問請(qǐng)求,能夠訪問資源(例如,內(nèi)部BIOS功能或外部BIOS功能)。該地址可以是網(wǎng)頁地址,如統(tǒng)一資源定位器(URL)、互聯(lián)網(wǎng)協(xié)議(IP)地址、或能夠唯一地識(shí)別所請(qǐng)求的資源的某一其它地址。響應(yīng)于包含在基于網(wǎng)頁的接口106處接收的地址的BIOS訪問請(qǐng)求,該請(qǐng)求能夠被送往內(nèi)部BIOS功能和外部BIOS功能中合適的一個(gè)BIOS功能。在一些情況中,該請(qǐng)求能夠被送往內(nèi)部BIOS功能和外部BIOS功能。在外部位置提供BIOS功能能夠提供特定益處。例如,與外部服務(wù)器計(jì)算機(jī)關(guān)聯(lián)的服務(wù)提供者能夠在不牽涉客戶機(jī)設(shè)備(如電子設(shè)備100)的情況下執(zhí)行BIOS更新的自動(dòng)檢查。該服務(wù)提供者還能夠控制BIOS至前一版本的還原,如在檢測(cè)到故障或錯(cuò)誤時(shí)。能夠存在與BIOS相關(guān)的能夠以更有效且更經(jīng)濟(jì)的方式在外部服務(wù)器計(jì)算機(jī)處執(zhí)行的其它更多服務(wù)。提供基于網(wǎng)頁的接口的另一益處是能夠存在對(duì)在訪問BIOS功能時(shí)涉及的通信所用特定芯片組或操作系統(tǒng)體系結(jié)構(gòu)的降低的依賴性。例如,在采用來自微軟的操作系統(tǒng)的一些系統(tǒng)中,WMI(WindowsManagementInstrumentation,視窗管理規(guī)范)機(jī)制(其是WBEM(WebBasedEnterpriseManagement,基于網(wǎng)頁的企業(yè)管理)的實(shí)現(xiàn))能夠用來從操作系統(tǒng)訪問BIOS功能。然而,在其它操作環(huán)境(如使用Linux或其它操作系統(tǒng)的環(huán)境)中,對(duì)WMI的支持可能是不可用的或者可能是稀少的。作為進(jìn)一步的示例,特定中斷機(jī)制,如int15或int1A,能夠與特定類型的芯片組一起使用。使用更開放的接口,如根據(jù)一些實(shí)現(xiàn)方式的基于網(wǎng)頁的接口,減少對(duì)特定芯片組和操作系統(tǒng)體系結(jié)構(gòu)的依賴性。此外,使用上面提到的WMI或其它機(jī)制訪問BIOS功能所用的命令格式可能是過時(shí)的并且可能缺乏靈活性?;诰W(wǎng)頁的接口允許使用根據(jù)更廣泛使用的標(biāo)準(zhǔn)(如XML(ExtensibleMarupLanguage,可擴(kuò)展標(biāo)記語言)或其它標(biāo)準(zhǔn))的命令來進(jìn)行啟用BIOS功能的通信,這能夠允許更開放的且可擴(kuò)展的命令格式并且允許采用基于標(biāo)準(zhǔn)的驗(yàn)證機(jī)制(例如基于XML的驗(yàn)證機(jī)制)。圖2是根據(jù)一些實(shí)現(xiàn)方式的過程的流程圖。該過程能夠由電子設(shè)備100執(zhí)行。該過程接收(在202處)訪問BIOS功能的請(qǐng)求。該請(qǐng)求能夠由基于網(wǎng)頁的接口(例如106)接收。然后,該過程通過基于網(wǎng)頁的接口106將該請(qǐng)求路由(在204處)至包括BIOS功能108的云110。在一些實(shí)現(xiàn)方式中,提供BIOS功能108的云110是電子設(shè)備100的特權(quán)域,其中該特權(quán)域是該電子設(shè)備的域,該域相對(duì)安全并且具有不可由該電子設(shè)備中的其它實(shí)體利用的特定預(yù)限定的特權(quán)。一般而言,“特權(quán)域”指具有預(yù)限定的特權(quán)的域,該預(yù)限定的特權(quán)允許該域中的實(shí)體執(zhí)行該電子設(shè)備中其它實(shí)體(例如OS、應(yīng)用程序等)不被允許執(zhí)行的功能。此外,特權(quán)域還具有安全機(jī)制,以保護(hù)該特權(quán)域不受未經(jīng)授權(quán)的訪問或攻擊的影響。通過將BIOS的功能移動(dòng)至該特權(quán)域,電子設(shè)備100可以不必進(jìn)入SMM模式來執(zhí)行已經(jīng)被移動(dòng)到該特權(quán)域內(nèi)的上述BIOS的功能。在一些實(shí)現(xiàn)方式中,能夠完全消除SMM操作。在其它實(shí)現(xiàn)方式中,仍能夠啟用SMM操作來執(zhí)行特定BIOS功能,同時(shí)通過該特權(quán)域執(zhí)行剩余的BIOS功能。在后者情況中,想法是僅對(duì)一小組BIOS功能啟用SMM,使得能夠采取有效措施來提供安全和/或提高效率。特權(quán)域的示例包括以下任意一種或某一組合:域0,其經(jīng)常是由虛擬機(jī)監(jiān)視器(還被稱為管理程序(hypervisor))啟動(dòng)來執(zhí)行管理任務(wù)的第一域;虛擬機(jī)監(jiān)視器(或管理程序)的一部分;來賓虛擬機(jī),其具有向來賓虛擬機(jī)提供增強(qiáng)的特權(quán)和/或安全的預(yù)限定的設(shè)置;或者具有預(yù)限定的特定特權(quán)和/或安全機(jī)制的電子設(shè)備中的另一種域。圖3是根據(jù)一些實(shí)現(xiàn)方式的示例電子設(shè)備300的框圖。電子設(shè)備300包括VMM302,VMM302創(chuàng)建包括至少一個(gè)BIOS功能306(上面列出的BIOS功能的任意一種或者組合,或者其它BIOS功能)的特權(quán)域304。特權(quán)域304還包括圖1的基于網(wǎng)頁的接口106。特權(quán)域304中的BIOS功能306能夠通過基于網(wǎng)頁的接口106訪問。在一些示例中,特權(quán)域304是域0,其是在系統(tǒng)啟動(dòng)時(shí)由VMM302啟動(dòng)的管理域并且具有增強(qiáng)的特權(quán)和安全機(jī)制。由域0執(zhí)行的任務(wù)的示例包括創(chuàng)建和配置來賓域。域0和來賓域中每個(gè)域都被認(rèn)為是對(duì)應(yīng)的虛擬機(jī)。在其它實(shí)現(xiàn)方式中,特權(quán)域304可以是另一種虛擬機(jī),如來賓虛擬機(jī)。特權(quán)域304能夠與VMM302分離,如根據(jù)圖3的布置。在替代實(shí)現(xiàn)方式中,特權(quán)域304可以是VMM302的一部分。在這種替代實(shí)現(xiàn)方式中,BIOS功能306和基于網(wǎng)頁的接口106是VMM302的一部分。BIOS功能306可由電子設(shè)備300中的實(shí)體308訪問。在一些示例中,能夠訪問特權(quán)域304中的BIOS功能306的實(shí)體308是來賓虛擬機(jī)310的一部分。例如,這種實(shí)體308可以是來賓虛擬機(jī)310中的來賓操作系統(tǒng)或另一種實(shí)體。在其它示例中,實(shí)體308能夠位于任何來賓虛擬機(jī)310的外部,如在主機(jī)操作系統(tǒng)(圖3中未示出)或應(yīng)用程序想要訪問BIOS功能306的場(chǎng)景中?!爸鳈C(jī)操作系統(tǒng)”不同于“來賓操作系統(tǒng)”,因?yàn)閬碣e操作系統(tǒng)是虛擬機(jī)的一部分,而主機(jī)操作系統(tǒng)不是虛擬機(jī)的一部分。有兩種用于實(shí)體308訪問特權(quán)域304中的BIOS功能306的替代機(jī)制。第一機(jī)制涉及實(shí)體308直接向基于網(wǎng)頁的接口106發(fā)送請(qǐng)求(312)來訪問特權(quán)域304中的BIOS功能306。如下面進(jìn)一步介紹的,這能夠通過來賓虛擬機(jī)310中的虛擬BIOS的存在來支持。根據(jù)第二機(jī)制,訪問BIOS功能306的請(qǐng)求(314)被VMM302截獲并且被VMM302路由(沿路徑316)至特權(quán)域304中基于網(wǎng)頁的接口106。在一些實(shí)現(xiàn)方式中,VMM302能夠截獲訪問BIOS功能306的請(qǐng)求(來自實(shí)體308)并將該請(qǐng)求路由至特權(quán)域304,而不必用虛擬BIOS配置VMM302。這降低VMM302的設(shè)計(jì)的復(fù)雜度。圖3還示出電子設(shè)備300中的硬件資源316。作為示例,硬件資源316包括處理器(或多個(gè)處理器)、I/O設(shè)備、易失性存儲(chǔ)器、二級(jí)存儲(chǔ)器、閃存、網(wǎng)絡(luò)接口控制器、圖形適配器等等。來賓虛擬機(jī)(如310)對(duì)硬件資源316的訪問由VMM302管理。圖4是根據(jù)一些實(shí)現(xiàn)方式的過程的流程圖。圖4的過程能夠由例如圖3所示的實(shí)體執(zhí)行。該過程接收(在402處)啟用BIOS功能(例如圖1或圖3中的BIOS功能306)的請(qǐng)求。該請(qǐng)求能夠由VMM302從例如實(shí)體308接收。該過程將該請(qǐng)求路由(在404處)至特權(quán)域304。這種路由能夠由VMM302執(zhí)行,或者可替代地,該路由能夠由來賓虛擬機(jī)310中的虛擬BIOS執(zhí)行。在具有虛擬BIOS的實(shí)現(xiàn)方式中,來賓虛擬機(jī)310中想要訪問BIOS(如BIOS功能306)的實(shí)體(例如308,該實(shí)體可以是來賓操作系統(tǒng))向來賓虛擬機(jī)310中的虛擬BIOS發(fā)出訪問請(qǐng)求。然后,虛擬BIOS將該訪問請(qǐng)求路由至特權(quán)域304。然后,特權(quán)域304基于對(duì)該請(qǐng)求的源進(jìn)行識(shí)別或者對(duì)該請(qǐng)求的背景進(jìn)行識(shí)別或者對(duì)該請(qǐng)求的源和背景進(jìn)行識(shí)別,確定(在406處)是否運(yùn)行所請(qǐng)求的BIOS功能。在特權(quán)域基于對(duì)該請(qǐng)求的源進(jìn)行識(shí)別而做出確定(406)的實(shí)現(xiàn)方式中,于是如果特權(quán)域304確定該請(qǐng)求的源被授權(quán)來訪問所請(qǐng)求的BIOS功能,則運(yùn)行所請(qǐng)求的BIOS功能。另一方面,在這種實(shí)現(xiàn)方式中,如果特權(quán)域304確定該請(qǐng)求的源未被授權(quán)來訪問所請(qǐng)求的BIOS功能(如在惡意軟件發(fā)出該請(qǐng)求的場(chǎng)景中),那么特權(quán)域304能夠拒絕對(duì)所請(qǐng)求的BIOS功能的訪問。以此方式,特權(quán)域304能夠安全地運(yùn)行BIOS功能??商娲鼗虼送?,特權(quán)域304基于對(duì)該請(qǐng)求的背景進(jìn)行識(shí)別來做出確定(406)。該請(qǐng)求的“背景(context)”指在需處理該請(qǐng)求時(shí)該電子設(shè)備(或者該電子設(shè)備的一部分)的當(dāng)前狀態(tài)或環(huán)境?;谠撜?qǐng)求在背景上是否正確(換言之,基于該電子設(shè)備(或該電子設(shè)備的一部分)的當(dāng)前狀態(tài)或環(huán)境是否滿足用于該請(qǐng)求的運(yùn)行的規(guī)則),特權(quán)域304確定是否能夠運(yùn)行該請(qǐng)求。例如,假設(shè)該電子設(shè)備能夠合法地依次從狀態(tài)S1變化至狀態(tài)S2、至狀態(tài)S3以及至狀態(tài)S4。還假設(shè)運(yùn)行所請(qǐng)求的BIOS功能會(huì)將該電子設(shè)備置于狀態(tài)S4。在這種示例中,只有當(dāng)該電子設(shè)備處于狀態(tài)S3(換言之,該請(qǐng)求的背景正確)時(shí),特權(quán)域304才會(huì)允許該請(qǐng)求運(yùn)行該BIOS功能。另一方面,如果該電子設(shè)備處于狀態(tài)S2,那么特權(quán)域304不會(huì)允許該請(qǐng)求的運(yùn)行,因?yàn)檫@將是不合法的轉(zhuǎn)變(背景不正確)。運(yùn)行BIOS功能的請(qǐng)求的背景是否正確的另一示例如下。假設(shè)系統(tǒng)規(guī)定執(zhí)行動(dòng)作的命令涉及以下命令順序:(1)鎖定系統(tǒng),(2)執(zhí)行動(dòng)作,以及(3)解鎖系統(tǒng)。如果在鎖定該系統(tǒng)的命令以后接收用于運(yùn)行的請(qǐng)求,那么運(yùn)行BIOS功能的該請(qǐng)求將在背景上是正確的。然而,如果在接收鎖定該系統(tǒng)的命令以前接收請(qǐng)求,那么該請(qǐng)求將在背景上是不正確的,并且該請(qǐng)求不能夠被特權(quán)域運(yùn)行。根據(jù)一些實(shí)現(xiàn)方式,在不必進(jìn)入SMM的情況下執(zhí)行所請(qǐng)求的BIOS功能,換言之,能夠繞過SMM來執(zhí)行傳統(tǒng)上在SMM中由SMIBIOS處理程序執(zhí)行的特定BIOS功能。通過使用根據(jù)一些實(shí)現(xiàn)方式的技術(shù)或機(jī)制,傳統(tǒng)上會(huì)在SMM中執(zhí)行的BIOS功能能夠作為替代在由特權(quán)域提供的受信任運(yùn)行時(shí)環(huán)境中執(zhí)行。此外,能夠簡(jiǎn)化電子設(shè)備的總體設(shè)計(jì),因?yàn)槟軌蚴÷詡鹘y(tǒng)上使用的安全機(jī)制(如對(duì)寄存器或非易失性存儲(chǔ)器的多個(gè)部分的鎖定),因?yàn)檎翘貦?quán)域現(xiàn)在控制對(duì)BIOS功能的請(qǐng)求是否被允許執(zhí)行。除了運(yùn)行所請(qǐng)求的BIOS功能以外,特權(quán)域304還能夠在運(yùn)行該BIOS功能以前執(zhí)行特定任務(wù)。作為示例,特權(quán)域304能夠確定是否恰當(dāng)?shù)匦纬闪嗽L問或執(zhí)行BIOS功能的請(qǐng)求,或者待寫數(shù)據(jù)(如在BIOS代碼更新的情況中)或者BIOS策略的設(shè)置是否正確(例如正確的大小,正確的核驗(yàn)碼等)。這能夠提供保護(hù)來防止以下情況:惡意軟件能夠使用惡意形成的訪問BIOS功能的請(qǐng)求以圖導(dǎo)致由處理該惡意形成的命令請(qǐng)求帶來BIOS故障。特權(quán)域304還能夠確定是否能夠在執(zhí)行該BIOS功能以前執(zhí)行待修改的數(shù)據(jù)(例如BIOS代碼)的備份。特權(quán)域304能夠進(jìn)一步確定是否有充足的電池電力來完成所請(qǐng)求的BIOS功能。通常來說,在該特權(quán)域開始實(shí)際上對(duì)啟用BIOS功能的請(qǐng)求進(jìn)行處理并且將該請(qǐng)求路由至實(shí)際的物理BIOS去進(jìn)一步處理以前,該特權(quán)域能夠首先驗(yàn)證與該請(qǐng)求關(guān)聯(lián)的請(qǐng)求輸入,以及該請(qǐng)求和其輸入的背景。在更新BIOS代碼的背景中,特權(quán)域304還能夠處理與BIOS更新關(guān)聯(lián)的元數(shù)據(jù)和/或元代碼。該元數(shù)據(jù)能夠提供關(guān)于要更新BIOS代碼的哪個(gè)(哪些)部分的策略或描述以及與執(zhí)行該更新關(guān)聯(lián)的條件(如與保證與用于更新BIOS代碼的更新代碼映像具有正確簽名有關(guān)的條件,與在更新失敗時(shí)還原至較舊的BIOS代碼版本有關(guān)的條件,等等)。該元代碼能夠限定關(guān)于將如何更新BIOS的變量和設(shè)置的步驟。特權(quán)域304能夠?qū)崿F(xiàn)解釋器(interpreter)來處理該元數(shù)據(jù)和/或元代碼。圖5是根據(jù)替代實(shí)現(xiàn)方式的電子設(shè)備500的框圖。電子設(shè)備500包括多個(gè)來賓虛擬機(jī)502A、502B,盡管在圖5中示出兩個(gè)虛擬機(jī)502A、502B,但是注意,在替代實(shí)現(xiàn)方式中,能夠僅存在一個(gè)來賓虛擬機(jī)或者能夠存在兩個(gè)以上的來賓虛擬機(jī)。每個(gè)來賓虛擬機(jī)502A或502B包括各自的來賓操作系統(tǒng)504A或504B,以及各自的應(yīng)用程序506A或506B。在一些實(shí)現(xiàn)方式中,每個(gè)來賓虛擬機(jī)502A或502B進(jìn)一步包括虛擬BIOS508A或508B。被設(shè)計(jì)來訪問BIOS的服務(wù)的來賓操作系統(tǒng)504A或504B會(huì)進(jìn)行對(duì)各自的虛擬BIOS508A或508B(而不是實(shí)際的BIOS)的調(diào)用。在一些實(shí)現(xiàn)方式中,于是虛擬BIOS508A或508B能夠?qū)⒃撜?qǐng)求直接路由至包括BIOS功能306的特權(quán)域520。就根據(jù)圖3的實(shí)現(xiàn)方式而言,特權(quán)域520能夠用域0或另一虛擬機(jī)實(shí)現(xiàn),或者能夠在VMM302中實(shí)現(xiàn)。在替代實(shí)現(xiàn)方式中,虛擬BIOS508A或508B能夠替代地通過VMM302路由該訪問BIOS功能的請(qǐng)求。在又一替代實(shí)現(xiàn)方式中,能夠從來賓虛擬機(jī)502A或502B中省略虛擬BIOS508A或508B,在這種實(shí)現(xiàn)方式中,訪問BIOS功能的請(qǐng)求能夠被VMM302截獲。電子設(shè)備500進(jìn)一步包括硬件資源316和固件層510,固件層510具有包括實(shí)際BIOS512(在接下來的介紹中被稱為“物理BIOS”)的機(jī)器可讀指令?!拔锢鞡IOS”或“實(shí)際BIOS”指BIOS代碼,該BIOS代碼駐留在非易失性存儲(chǔ)器(如閃存或其它可編程只讀存儲(chǔ)器)中并且會(huì)在電子設(shè)備500啟動(dòng)時(shí)運(yùn)行。物理BIOS512可以是典型的物理BIOS的縮小(簡(jiǎn)化)版本,因?yàn)锽IOS的一個(gè)或多個(gè)功能已經(jīng)被移動(dòng)至特權(quán)域520,使得從特權(quán)域520運(yùn)行這些功能,從而不必執(zhí)行對(duì)物理BIOS512的訪問。然而,存在仍屬于物理BIOS512的物理BIOS512的特定功能,訪問這種BIOS功能涉及啟用物理BIOS512。這種啟用能夠通過VMM302從特權(quán)域104實(shí)現(xiàn),如圖5中的路徑514所示。還應(yīng)注意,傳統(tǒng)上不對(duì)在操作系統(tǒng)和BIOS之間交換的數(shù)據(jù)進(jìn)行保護(hù),因此,一些系統(tǒng)可以采用各種專有的方案來提供在操作系統(tǒng)和BIOS之間交換的數(shù)據(jù)的某一程度保護(hù)。這種保護(hù)被執(zhí)行,因?yàn)樵诓僮飨到y(tǒng)和BIOS之間轉(zhuǎn)移的數(shù)據(jù)可能包括敏感信息,如用戶姓名、密碼、認(rèn)證哈希和/或授權(quán)策略。所使用的一個(gè)示例常規(guī)保護(hù)方案是對(duì)在操作系統(tǒng)和BIOS之間交換的信息進(jìn)行加密。由于使用加密的保護(hù)會(huì)涉及在BIOS(以及操作系統(tǒng))中使用和存儲(chǔ)密鑰,并且由于通常沒有對(duì)該密鑰進(jìn)行足夠的保護(hù),所以對(duì)在操作系統(tǒng)和BIOS之間交換的信息提供的保護(hù)可能弱。由于與物理BIOS512的通信是通過特權(quán)域520執(zhí)行的,所以用于保護(hù)與物理BIOS512傳遞的數(shù)據(jù)的機(jī)密性和/或完整性(如通過對(duì)該數(shù)據(jù)進(jìn)行加密)的傳統(tǒng)機(jī)制將不必被實(shí)現(xiàn)。這提供解決方案的簡(jiǎn)單和性能增強(qiáng),同時(shí)對(duì)向物理BIOS傳遞的數(shù)據(jù)提供更高保護(hù),而實(shí)際上不必提供特殊的專有保護(hù)機(jī)制。除來賓虛擬機(jī)502A、來賓虛擬機(jī)502B和特權(quán)域520以外,電子設(shè)備500還能夠包括服務(wù)域虛擬機(jī)516,該服務(wù)域虛擬機(jī)516包括可運(yùn)行來提供用戶界面的用戶界面(UI)代碼518。在服務(wù)域虛擬機(jī)516中由UI代碼518提供的用戶界面能夠由用戶用來監(jiān)視特權(quán)域520的狀態(tài),使得用戶能夠在BIOS功能306的運(yùn)行期間被提供反饋。此外,該用戶界面還被用來配置特權(quán)域520的設(shè)置。如圖5中進(jìn)一步描繪的,特權(quán)域520還包括基于網(wǎng)頁的接口106,以允許訪問特權(quán)域520中的BIOS功能306。BIOS功能306的訪問能夠來自電子設(shè)備500中的實(shí)體。在進(jìn)一步的示例中,基于網(wǎng)頁的接口106允許來自位于電子設(shè)備500外部的實(shí)體524經(jīng)由安全連接526的網(wǎng)頁訪問?!鞍踩B接”指一種網(wǎng)絡(luò)連接,在該網(wǎng)絡(luò)連接中應(yīng)用安全機(jī)制(例如數(shù)據(jù)加密、安全隧道的建立等)來防止經(jīng)由該網(wǎng)絡(luò)連接傳遞的數(shù)據(jù)的未經(jīng)授權(quán)的訪問。例如,在企業(yè)環(huán)境中(其中企業(yè)可以是公司、教育機(jī)構(gòu)或政府部門),安全連接526允許電子設(shè)備500建立與受信任的服務(wù)器(524)的通信,如與被配置為提供預(yù)限定的服務(wù)的服務(wù)器的通信。服務(wù)器524能夠提供的預(yù)限定的服務(wù)的示例可以包括更新物理BIOS512或BIOS功能306的服務(wù)。在其它示例中,服務(wù)器524能夠提供其它服務(wù)。受信任的特權(quán)域520的使用允許調(diào)用從電子設(shè)備500外部提供的BIOS功能。在一些實(shí)現(xiàn)方式中,云中的BIOS建立在基于VMM的體系結(jié)構(gòu)的以下前提基礎(chǔ)上:物理BIOS知道并且信任該物理BIOS正在啟動(dòng)的主運(yùn)行時(shí)實(shí)體(圖3或圖5的VMM302),并且BIOS信任的VMM有能力捕獲并且關(guān)閉除來自該特權(quán)域的那些I/O請(qǐng)求以外的所有I/O請(qǐng)求(訪問BIOS功能的I/O請(qǐng)求)。在一些實(shí)現(xiàn)方式中,能夠提供BIOS核驗(yàn)機(jī)制來認(rèn)證要被該電子設(shè)備啟動(dòng)的VMM的來源。這種核驗(yàn)機(jī)制的示例在美國專利申請(qǐng)No.PCT/US2011/022814中描述。這種核驗(yàn)機(jī)制允許管理員或其它用戶指定在電子設(shè)備100或電子設(shè)備300中只能夠啟動(dòng)經(jīng)授權(quán)的VMM。核驗(yàn)機(jī)制確保該電子設(shè)備內(nèi)的VMM鏡像未被惡意修改,并且該VMM能夠被信任。物理BIOS能夠可視地核驗(yàn)該VMM鏡像,并且確保用事先已經(jīng)規(guī)定的已知一組受控操作設(shè)置啟動(dòng)該VMM。在核驗(yàn)已經(jīng)啟動(dòng)了經(jīng)授權(quán)的VMM以后,物理BIOS能夠推遲或省略物理BIOS會(huì)正常執(zhí)行以防止被未經(jīng)授權(quán)的或惡意的代碼破壞的多種安全措施的運(yùn)行。例如,物理BIOS能夠選擇不鎖定BIOS快閃寄存器和/或閃存的多個(gè)部分。圖3和圖5示出在電子設(shè)備(300或500)內(nèi)部提供云中BIOS(例如BIOS功能306)的實(shí)現(xiàn)方式。然而注意,從來賓虛擬機(jī)或電子設(shè)備的想要訪問BIOS服務(wù)的其它實(shí)體的角度看,包括BIOS服務(wù)的該云能夠位于任何位置,包括位于該電子設(shè)備外部的位置。圖6示出這種布置的示例。圖6示出電子設(shè)備600,電子設(shè)備600具有來賓虛擬機(jī)602、VMM604以及硬件資源606。電子設(shè)備600進(jìn)一步包括特權(quán)域608,特權(quán)域608具有基于網(wǎng)頁的網(wǎng)絡(luò)通信功能610?;诰W(wǎng)頁的網(wǎng)絡(luò)通信功能610提供基于網(wǎng)頁的接口611,該基于網(wǎng)頁的接口611能夠?qū)IOS訪問請(qǐng)求路由至內(nèi)部BIOS功能612(其可以是特權(quán)域608的一部分)或者外部BIOS功能614(其可通過網(wǎng)絡(luò)616訪問)。請(qǐng)求實(shí)體(例如VMM604或來賓虛擬機(jī)602)能夠?qū)IOS訪問請(qǐng)求提交至由基于網(wǎng)頁的網(wǎng)絡(luò)通信功能610提供的基于網(wǎng)頁的接口611。在一些實(shí)現(xiàn)方式中,網(wǎng)絡(luò)616是用安全機(jī)制實(shí)現(xiàn)的安全網(wǎng)絡(luò),以防止經(jīng)由網(wǎng)絡(luò)616在網(wǎng)絡(luò)要素之間傳遞的信息的未經(jīng)授權(quán)的訪問。外部BIOS功能614可以是服務(wù)器計(jì)算機(jī)620中的受信任的環(huán)境618的一部分。在一些實(shí)現(xiàn)方式中,受信任的環(huán)境618還能夠在服務(wù)器計(jì)算機(jī)620中的特權(quán)域(例如域0、安全的來賓虛擬機(jī)、虛擬機(jī)監(jiān)視器等)中實(shí)現(xiàn)。服務(wù)器計(jì)算機(jī)620具有一個(gè)或多個(gè)處理器622、存儲(chǔ)介質(zhì)624以及經(jīng)由網(wǎng)絡(luò)616與電子設(shè)備600通信的網(wǎng)絡(luò)接口626。各種模塊,如在圖1、圖3、圖5和圖6中繪出的那些模塊,能夠被實(shí)現(xiàn)為能夠在一個(gè)或多個(gè)處理器上運(yùn)行的機(jī)器可讀指令。處理器能夠包括微處理器、微控制器、處理器模塊或子系統(tǒng)、可編程集成電路、可編程門陣列或者別的控制設(shè)備或計(jì)算設(shè)備。該機(jī)器可讀指令能夠存儲(chǔ)在機(jī)器可讀存儲(chǔ)介質(zhì)或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該機(jī)器可讀存儲(chǔ)介質(zhì)或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)能夠被實(shí)現(xiàn)為一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或機(jī)器可讀存儲(chǔ)介質(zhì)。存儲(chǔ)介質(zhì)能夠包括不同形式的存儲(chǔ)器,包括諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)或靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、可擦可編程只讀存儲(chǔ)器(EPROM)、電可擦可編程只讀存儲(chǔ)器(EEPROM)和閃存之類的半導(dǎo)體存儲(chǔ)器設(shè)備,諸如硬盤、軟盤和可換式磁盤之類的磁盤,包括磁帶的其它磁性介質(zhì),諸如光盤(CD)或數(shù)字視頻盤(DVD)之類的光學(xué)介質(zhì),或其它類型的存儲(chǔ)設(shè)備。注意,上面論述的指令能夠提供在一個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或機(jī)器可讀存儲(chǔ)媒介上,或者可替代地,能夠提供在分布于可能具有多個(gè)節(jié)點(diǎn)的大型系統(tǒng)中的多個(gè)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或機(jī)器可讀存儲(chǔ)介質(zhì)上。這種計(jì)算機(jī)可讀存儲(chǔ)媒介或介質(zhì),或機(jī)器可讀存儲(chǔ)媒介或介質(zhì)被認(rèn)為是物品(或制品)的一部分。物品或制品能夠指任意被制造的單個(gè)組件或多個(gè)組件。存儲(chǔ)媒介或存儲(chǔ)介質(zhì)能夠位于運(yùn)行該機(jī)器可讀指令的機(jī)器內(nèi)或者位于能夠通過網(wǎng)絡(luò)下載用于運(yùn)行的機(jī)器可讀指令的遠(yuǎn)程位置。在前面的描述中,闡述許多細(xì)節(jié),以提供對(duì)本文公開的主題的理解。然而,實(shí)現(xiàn)方式可以在沒有這些細(xì)節(jié)中的一些細(xì)節(jié)或全部細(xì)節(jié)的條件下實(shí)踐。其它實(shí)現(xiàn)方式可以包括上面介紹的細(xì)節(jié)的改變和變型。希望所附權(quán)利要求覆蓋上述改變和變型。