国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于防止在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中加載和執(zhí)行流氓操作系統(tǒng)的方法和設(shè)備的制作方法

      文檔序號:6541725閱讀:181來源:國知局
      專利名稱:用于防止在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中加載和執(zhí)行流氓操作系統(tǒng)的方法和設(shè)備的制作方法
      技術(shù)領(lǐng)域
      一般來說,本發(fā)明涉及一種改進(jìn)的數(shù)據(jù)處理系統(tǒng),具體來說,涉及一種用于處理數(shù)據(jù)的方法、設(shè)備和計(jì)算機(jī)指令。更具體來說,本發(fā)明涉及用于管理邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的操作系統(tǒng)的方法、設(shè)備和計(jì)算機(jī)指令。
      背景技術(shù)
      越來越多的大型對稱多處理器數(shù)據(jù)處理系統(tǒng),如IBM公司所提供的IBM eServer P690、惠普公司所提供的DHP9000 SuperdomeEnterprise Server,以及Sun Microsystems,Inc.所提供的Sunfire15K server沒有被用作單個大型數(shù)據(jù)處理系統(tǒng)。相反,這些類型的數(shù)據(jù)處理系統(tǒng)可以被分區(qū)并用作較小的系統(tǒng)。這些系統(tǒng)被配置為啟用多分區(qū)的系統(tǒng)。換句話說,單個物理數(shù)據(jù)處理系統(tǒng)具有多個分區(qū),其中,每一個分區(qū)都具有操作系統(tǒng)。這些分區(qū)可以同時執(zhí)行。
      當(dāng)以邏輯方式進(jìn)行分區(qū)時,這些系統(tǒng)也被稱為邏輯分區(qū)(LPAR)數(shù)據(jù)處理系統(tǒng)。數(shù)據(jù)處理系統(tǒng)內(nèi)的邏輯分區(qū)功能允許單個操作系統(tǒng)的多個副本或多個異構(gòu)操作系統(tǒng)同時在單個數(shù)據(jù)處理系統(tǒng)平臺上運(yùn)行。操作系統(tǒng)映像在其中運(yùn)行的分區(qū),被分配了不相重疊的平臺資源的子集。這些平臺可分配的資源包括一個或多個在體系結(jié)構(gòu)上不同的處理器,并具有中斷管理區(qū)域、系統(tǒng)內(nèi)存的區(qū)域,以及輸入/輸出(I/O)適配器總線插槽。分區(qū)的資源由平臺的固件到操作系統(tǒng)映像來代表。
      在平臺內(nèi)運(yùn)行的每一個不同的操作系統(tǒng)或操作系統(tǒng)的映像可以彼此被保護(hù),以便一個邏輯分區(qū)上的軟件錯誤不能影響其他分區(qū)中的任何分區(qū)的正確操作。此保護(hù)是這樣提供的通過分配平臺資源的不相交集以直接由每一個操作系統(tǒng)映像進(jìn)行管理,以及通過提供機(jī)制以便確保各種映像不能控制沒有分配給該映像的任何資源。此外,還防止操作系統(tǒng)的分配的資源的控制中的軟件錯誤影響任何其他映像的資源。如此,操作系統(tǒng)的每一個映像或每一個不同的操作系統(tǒng)都直接控制平臺內(nèi)的不同的可分配資源集。
      對于邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的硬件資源,這些資源在各種分區(qū)之間不相交地共享。這些資源可以包括,輸入/輸出(I/O)適配器、內(nèi)存DIMM、非易失性隨機(jī)存取存儲器(NVRAM)以及硬盤驅(qū)動器。LPAR數(shù)據(jù)處理系統(tǒng)內(nèi)的每一個分區(qū)都可以再三地啟動和關(guān)閉,而不必將整個數(shù)據(jù)處理系統(tǒng)啟動和關(guān)閉。
      當(dāng)前,系統(tǒng)管理員可以加載邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)的操作系統(tǒng),但是,不能知道操作系統(tǒng)是否為流氓(rogue)或未經(jīng)授權(quán)的操作系統(tǒng),這是一個已經(jīng)被非法地修改的操作系統(tǒng)。在已經(jīng)被允許同時運(yùn)行多個操作系統(tǒng)的邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中,不允許流氓或未經(jīng)授權(quán)的操作系統(tǒng)加載并執(zhí)行是很關(guān)鍵的。此要求對于支持同時的多線程(SMT)和子處理器分區(qū)(SPP)的操作系統(tǒng)特別重要。如果允許未經(jīng)授權(quán)的操作系統(tǒng)加載,則此操作系統(tǒng)具有自動特權(quán)級別,這些特權(quán)級別足夠允許對平臺固件進(jìn)行調(diào)用。
      利用這些特權(quán),未經(jīng)授權(quán)的操作系統(tǒng)可以試圖滲透到系統(tǒng)中,通過拒絕服務(wù)攻擊嘗試,至少會導(dǎo)致資源丟失。對于未經(jīng)授權(quán)的操作系統(tǒng)的問題是啟用SMT和SPP的系統(tǒng)更加關(guān)鍵,因?yàn)槲唇?jīng)授權(quán)的操作系統(tǒng)可以共享處理器功能,而不是使用隔離的處理器,并能夠在比較大的程度上影響其他分區(qū)。
      當(dāng)前,沒有任何機(jī)制可以用來限制未經(jīng)授權(quán)的操作系統(tǒng)的加載。因此,應(yīng)該具有改進(jìn)的方法、設(shè)備和計(jì)算機(jī)指令,用于防止未經(jīng)授權(quán)的操作系統(tǒng)在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中加載和執(zhí)行。

      發(fā)明內(nèi)容
      本發(fā)明提供了一種用于管理操作系統(tǒng)的方法、設(shè)備和計(jì)算機(jī)指令。在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中接收來自操作系統(tǒng)的注冊訪問邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中的硬件的請求。請求包括操作系統(tǒng)的關(guān)鍵代碼。響應(yīng)于接收到所述請求的情況,使用關(guān)鍵代碼就操作系統(tǒng)是否為授權(quán)的操作系統(tǒng)作出判斷。如果操作系統(tǒng)是授權(quán)的操作系統(tǒng),則注冊所述操作系統(tǒng)。否則,終止操作系統(tǒng)。


      在所附的權(quán)利要求中闡述了本發(fā)明的新穎的特征。然而,本發(fā)明本身,以及優(yōu)選的使用模式,進(jìn)一步的目標(biāo)和優(yōu)點(diǎn),通過參考對說明性的實(shí)施例的詳細(xì)描述并參考附圖,將得到最好的理解,其中圖1是可以在其中實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的方框圖;圖2是其中可以實(shí)現(xiàn)本發(fā)明的示范性邏輯分區(qū)平臺的方框圖;圖3是描述了一個說明在根據(jù)本發(fā)明的優(yōu)選實(shí)施例的邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中防止未經(jīng)授權(quán)的操作系統(tǒng)的加載和執(zhí)行所使用的組件的圖表。
      圖4是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的創(chuàng)建授權(quán)的操作系統(tǒng)的列表的過程的流程圖;圖5是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的處理來自操作系統(tǒng)的注冊請求的過程的流程圖;以及圖6是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的處理對硬件服務(wù)的請求的過程的流程圖。
      具體實(shí)施例方式
      現(xiàn)在參考附圖,具體來說,參考圖1,該圖描述了其中可以實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的方框圖。數(shù)據(jù)處理系統(tǒng)100可以是包括連接到系統(tǒng)總線106的多個處理器101、102、103和104的對稱多處理器(SMP)系統(tǒng)。例如,數(shù)據(jù)處理系統(tǒng)100可以是IBM eServer,該系統(tǒng)是位于紐約Armonk的IBM公司的產(chǎn)品,是作為網(wǎng)絡(luò)內(nèi)的服務(wù)器來實(shí)現(xiàn)的。或者,也可以使用單處理器系統(tǒng)。連接到系統(tǒng)總線106的還有內(nèi)存控制器/緩存108,它提供了到多個本地內(nèi)存160-163的接口。I/O總線橋路110連接到系統(tǒng)總線106,并提供到I/O總線112的接口。如本文所述,內(nèi)存控制器/緩存108和I/O總線橋路110也可以集成在一起。
      數(shù)據(jù)處理系統(tǒng)100是邏輯分區(qū)(LPAR)數(shù)據(jù)處理系統(tǒng)。如此,數(shù)據(jù)處理系統(tǒng)100可能具有同時運(yùn)行的多個異構(gòu)操作系統(tǒng)(或單個操作系統(tǒng)的多個實(shí)例)。這些多個操作系統(tǒng)中的每一個操作都可以具有任意數(shù)量的軟件程序在其內(nèi)執(zhí)行。數(shù)據(jù)處理系統(tǒng)100是在邏輯上分區(qū)的,以便不同的PCII/O適配器120-121、126-129和136、圖形適配器146和硬盤適配器149可以分配給不同的邏輯分區(qū)。在此情況下,圖形適配器148提供了到顯示設(shè)備(未顯示)的連接,而硬盤適配器149提供了連接,以控制硬盤150。
      為此,例如假設(shè)數(shù)據(jù)處理系統(tǒng)100被分成三個邏輯分區(qū),P1、P2和P3。每一個PCII/O適配器120-121、128-129、136,圖形適配器148、硬盤適配器149、每一個主機(jī)處理器101-104,以及本地內(nèi)存160-163中的內(nèi)存,被分配給三個分區(qū)中的每一個分區(qū)。在這些示例中,內(nèi)存160-163可以呈現(xiàn)雙列直插式存儲器模塊(DIMM)的形式。DIMM通常不每個DIMM地分配到分區(qū)。相反,分區(qū)將獲得由平臺所看到的總內(nèi)存的一部分。例如,處理器101、本地內(nèi)存160-163中的部分內(nèi)存,以及I/O適配器120、128和129可以分配給邏輯分區(qū)P1;處理器102-103,本地內(nèi)存160-163中的部分內(nèi)存,以及PCII/O適配器121和136可以分配給分區(qū)P2;處理器104,本地內(nèi)存160-163中的部分內(nèi)存,圖形適配器148和硬盤適配器149可以分配給邏輯分區(qū)P3。
      在數(shù)據(jù)處理系統(tǒng)100內(nèi)執(zhí)行的每一個操作系統(tǒng)都分配給不同的邏輯分區(qū)。如此,在數(shù)據(jù)處理系統(tǒng)100內(nèi)執(zhí)行的每一個操作系統(tǒng)只能訪問其邏輯分區(qū)內(nèi)的那些I/O單元。如此,高級交互執(zhí)行(AIX)操作系統(tǒng)的一個實(shí)例可以在分區(qū)P1內(nèi)執(zhí)行,AIX操作系統(tǒng)的第二個實(shí)例(映像)可以在分區(qū)P2內(nèi)執(zhí)行,Linux或OS/400操作系統(tǒng)可以在邏輯分區(qū)P3內(nèi)操作。
      連接到I/O總線112的外圍組件互連(PCI)主機(jī)橋路114提供了到PCI本地總線115的接口。許多PCI輸入/輸出適配器120-121可以通過PCI到PCI橋路116、PCI總線118、PCI總線119、I/O插槽170和I/O插槽171連接到PCI總線115。PCI到PCI橋路116提供了到PCI總線118和PCI總線119的接口。PCII/O適配器120和121分別被插入I/O插槽170和171。典型的PCI總線實(shí)現(xiàn)方式將支持四個到八個I/O適配器(即,插入式連接器的擴(kuò)展槽)。每一個PCII/O適配器120-121提供了數(shù)據(jù)處理系統(tǒng)100和輸入/輸出設(shè)備(如,作為數(shù)據(jù)處理系統(tǒng)100的客戶端的其他網(wǎng)絡(luò)計(jì)算機(jī))。
      其他PCI主機(jī)橋路122提供了其他PCI總線123的接口。PCI總線123連接到多個PCII/O適配器128-129。PCII/O適配器128-129可以通過PCI到PCI橋路124、PCI總線126、PCI總線127、I/O插槽172和I/O插槽173連接到PCI總線123。PCI到PCI橋路124提供了到PCI總線126和PCI總線127的接口。PCII/O適配器128和129分別被插入I/O插槽172和173。這樣,諸如調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器之類的其他I/O設(shè)備可以通過PCII/O適配器128-129中的每一個適配器得到支持。如此,通過數(shù)據(jù)處理系統(tǒng)100,可以連接到多個網(wǎng)絡(luò)計(jì)算機(jī)。
      插入到I/O插槽174的內(nèi)存映射圖形適配器148可以通過PCI總線144、PCI到PCI橋路142、PCI總線141和PCI主機(jī)橋路140連接到I/O總線112。硬盤適配器149可以插入I/O插槽175、該插槽175連接到PCI總線145。而此總線又連接到PCI到PCI橋路142,該橋路142通過PCI總線141連接到PCI主機(jī)橋路140。
      PCI主機(jī)橋路130為PCI總線131提供了接口,以連接到I/O總線112。PCII/O適配器136連接到I/O插槽176,該插槽176通過PCI總線133連接到PCI到PCI橋路132。PCI到PCI橋路132連接到PCI總線131。此PCI總線還將PCI主機(jī)橋路130連接到服務(wù)處理器郵箱接口和ISA總線訪問通路邏輯194和PCI到PCI橋路132。服務(wù)處理器郵箱接口和ISA總線訪問通路邏輯194將轉(zhuǎn)發(fā)發(fā)往到PCI/ISA橋路193的PCI訪問。NVRAM存儲器192連接到ISA總線196。服務(wù)處理器135通過其本地PCI總線195連接到服務(wù)處理器郵箱接口和ISA總線訪問通路邏輯194。服務(wù)處理器135還通過多個JTAG/I2C總線134連接到處理器101-104。JTAG/I2C總線134是JTAG/掃描總線(請參見IEEE 1149.1)和Phillips I2C總線的組合。然而,或者,JTAG/I2C總線134只可以被Phillips I2C總線或只可以被JTAG/掃描總線替代。主機(jī)處理器101、102、103和104的所有SP-ATTN信號一起連接到服務(wù)處理器的中斷輸入信號。服務(wù)處理器135具有其自己的本地存儲器191,并可以訪問硬件OP面板190。
      當(dāng)數(shù)據(jù)處理系統(tǒng)100最初被通電時,服務(wù)處理器135使用JTAG/I2C總線134詢問系統(tǒng)(主機(jī))處理器101-104、內(nèi)存控制器/緩存108,以及I/O橋路110。在完成此步驟時,服務(wù)處理器135具有數(shù)據(jù)處理系統(tǒng)100的統(tǒng)計(jì)和拓?fù)淅斫狻7?wù)處理器135還執(zhí)行Built-In-Self-Test(BIST)、基本保證測試(BAT)和通過查詢主機(jī)處理器101-104、內(nèi)存控制器/緩存108和I/O橋路110查找到的所有元素上的存儲器測試。在BIST、BAT和存儲器測試期間檢測到的故障的任何錯誤信息由服務(wù)處理器135收集和報(bào)告。
      如果系統(tǒng)資源的有意義的/有效配置在提取了在BIST、BAT和存儲器測試期間發(fā)現(xiàn)有故障的元素仍是可能的,那么,數(shù)據(jù)處理系統(tǒng)100被允許繼續(xù)將可執(zhí)行代碼加載到本地(主機(jī))存儲器160-163中。然后,服務(wù)處理器135釋放主機(jī)處理器101-104,以便執(zhí)行加載到本地存儲器160-163中的代碼。當(dāng)主機(jī)處理器101-104執(zhí)行來自數(shù)據(jù)處理系統(tǒng)100內(nèi)的相應(yīng)的操作系統(tǒng)的代碼時,服務(wù)處理器135進(jìn)入監(jiān)視和報(bào)告錯誤的模式。被服務(wù)處理器135監(jiān)視的項(xiàng)目的類型包括,例如,冷風(fēng)扇的速度和操作,熱傳感器、電源調(diào)節(jié)器、處理器101-104報(bào)告的可恢復(fù)的和不可恢復(fù)的錯誤,本地存儲器160-163,以及I/O橋路110。
      服務(wù)處理器135負(fù)責(zé)保存和報(bào)告與數(shù)據(jù)處理系統(tǒng)100中的被監(jiān)視的所有項(xiàng)目相關(guān)的錯誤。服務(wù)處理器135還基于錯誤類型和定義的閾值執(zhí)行操作。例如,服務(wù)處理器135可能會注意到處理器的高速緩存上有過多的可恢復(fù)的錯誤,并判斷這是硬件故障的前兆。基于此判斷,服務(wù)處理器135可以標(biāo)記該資源,以便在當(dāng)前運(yùn)行會話和未來的初始程序加載(IPL)期間取消配置。IPL有時也被稱為“啟動”或“自舉”。
      數(shù)據(jù)處理系統(tǒng)100可以使用各種市場上買得到的計(jì)算機(jī)系統(tǒng)來實(shí)現(xiàn)。例如,數(shù)據(jù)處理系統(tǒng)100可以使用IBM公司所提供的IBMeServer iSeries Model 840系統(tǒng)來實(shí)現(xiàn)。這樣的系統(tǒng)可以支持使用OS/400操作系統(tǒng)(這也是IBM公司所提供的)的邏輯分區(qū)。
      那些本領(lǐng)域技術(shù)人員將認(rèn)識到,圖1所描述的硬件可以不同。例如,除了所描述的硬件,也可以使用諸如光盤驅(qū)動器之類的其他外圍設(shè)備,或者代替所描述的硬件。所描述的示例不對本發(fā)明的體系結(jié)構(gòu)作出限制。
      現(xiàn)在參考圖2,方框圖描述了在其中可以實(shí)現(xiàn)本發(fā)明的的示范性邏輯分區(qū)平臺的方框圖。邏輯分區(qū)平臺200中的硬件可以作為圖1中的數(shù)據(jù)處理系統(tǒng)100來實(shí)現(xiàn)。邏輯分區(qū)平臺200包括分區(qū)硬件230、操作系統(tǒng)202、204、206、208和分區(qū)管理固件210。操作系統(tǒng)202、204、206和208可以是同時在邏輯分區(qū)平臺200上運(yùn)行的單個操作系統(tǒng)的多個副本或多個異構(gòu)操作系統(tǒng)。這些操作系統(tǒng)可以使用OS/400來實(shí)現(xiàn),該操作系統(tǒng)是為諸如Hypervisor之類的分區(qū)管理固件連接而設(shè)計(jì)的。OS/400只用作這些說明性實(shí)施例中的示例。當(dāng)然,諸如AIX和linux之類的其他操作系統(tǒng)類型,也可以使用,具體情況視特定的實(shí)現(xiàn)方式而定。操作系統(tǒng)202、204、206和208位于分區(qū)203、205、207和209中。Hypervisor軟件是可以用來實(shí)現(xiàn)分區(qū)管理固件210的軟件的示例,是IBM公司所提供的。固件是存儲在在沒有通電的情況下仍能保存其內(nèi)容的存儲器芯片(如只讀存儲器、可編程序只讀存儲器(PROM)、可擦可編程序只讀存儲器(EPROM)、電可擦可編程序只讀存儲器(EEPROM)、以及非易失性隨機(jī)存取存儲器(非易失性RAM)中的“軟件”。
      另外,這些分區(qū)也包括分區(qū)固件211、213、215和217。分區(qū)固件211、213、215和217可以使用初始自舉代碼、IEEE-1275標(biāo)準(zhǔn)公開固件,以及運(yùn)行時抽象軟件(RTAS)(這是IBM公司所提供的)來實(shí)現(xiàn)。當(dāng)分區(qū)203、205、207和209被實(shí)例化時,自舉代碼的一個副本被平臺固件210加載到分區(qū)203、205、207和209上。此后,控制被傳輸?shù)阶耘e代碼,然后,自舉代碼加載公開固件和RTAS。然后,將與分區(qū)關(guān)聯(lián)的處理器或分配給分區(qū)的處理器派遣到分區(qū)的存儲器,以執(zhí)行分區(qū)固件。
      分區(qū)硬件230包括多個處理器232-238、多個系統(tǒng)內(nèi)存單元240-246、多個輸入/輸出(I/O)適配器248-262和存儲單元270??梢詫⑻幚砥?32-238、內(nèi)存單元240-246、NVRAM存儲器296和I/O適配器248-262中的每一個分配給邏輯分區(qū)平臺200內(nèi)的多個分區(qū)中的某一個,其中每一個都對應(yīng)于操作系統(tǒng)202、204、206和208中的某一個。
      分區(qū)管理固件210為分區(qū)203、205、207和209執(zhí)行許多功能和服務(wù),以創(chuàng)建和實(shí)施邏輯分區(qū)平臺200的分區(qū)。分區(qū)管理固件210是與基礎(chǔ)硬件相同的固件實(shí)現(xiàn)的虛擬機(jī)。如此,分區(qū)管理固件210通過虛擬化邏輯分區(qū)平臺200的所有硬件資源,允許同時執(zhí)行獨(dú)立的OS映像202、204、206和208。
      可以使用服務(wù)處理器290來提供各種服務(wù),如處理分區(qū)中的平臺錯誤。這些服務(wù)還可以充當(dāng)服務(wù)代理,來將錯誤報(bào)告回諸如IBM公司之類的供應(yīng)商。不同的分區(qū)的操作可以通過諸如硬件管理控制臺280之類的硬件管理控制臺來進(jìn)行控制。硬件管理控制臺280是單獨(dú)的數(shù)據(jù)處理系統(tǒng),系統(tǒng)管理員可以從該系統(tǒng)執(zhí)行各種功能,包括將資源重新分配到不同的分區(qū)。
      本發(fā)明提供了改進(jìn)的方法、設(shè)備和計(jì)算機(jī)指令,用于防止未經(jīng)授權(quán)的操作系統(tǒng)的加載和執(zhí)行。此機(jī)制在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中特別有用。本發(fā)明的機(jī)制要求在激活分區(qū)之前通過硬件管理控制臺輸入密鑰或關(guān)鍵代碼,其中,此關(guān)鍵代碼必須與操作系統(tǒng)中包含的此關(guān)鍵代碼匹配。操作系統(tǒng)中的關(guān)鍵代碼被傳遞到諸如圖2中的平臺固件210之類的平臺固件。如果關(guān)鍵代碼匹配,則允許操作系統(tǒng)注冊和完成加載。否則,終止操作系統(tǒng)。
      現(xiàn)在參考圖3,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,描述了一個說明在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中防止未經(jīng)授權(quán)的操作系統(tǒng)的加載和執(zhí)行所使用的組件的圖表。在此說明性示例中,存在操作系統(tǒng)300、302、304和306。這些操作系統(tǒng)類似于圖2中的分區(qū)203、205、207和209中所說明的操作系統(tǒng)。這些說明性示例中的每一個被許可的操作系統(tǒng)包括代碼內(nèi)的標(biāo)識序列號。此序列號被用作關(guān)鍵代碼??梢钥闯觯P(guān)鍵代碼308、310、312和314在操作系統(tǒng)300、302、304和306內(nèi)存在。
      這些操作系統(tǒng)中的每一個操作系統(tǒng)在加載和注冊階段都將它們的關(guān)鍵代碼傳遞到諸如hypervisor 316之類的平臺固件。在此階段,操作系統(tǒng)將其本身加載到分區(qū)中,并注冊其本身,以訪問硬件資源。在這些說明性示例中,hypervisor 316包括驗(yàn)證過程318,用于驗(yàn)證正在加載的操作系統(tǒng)是授權(quán)的操作系統(tǒng)。
      在此說明性的實(shí)施例中,驗(yàn)證過程318檢查操作系統(tǒng)提供的關(guān)鍵代碼,以便用關(guān)鍵代碼注冊授權(quán)的操作系統(tǒng)。這些關(guān)鍵代碼位于關(guān)鍵代碼列表322中的分區(qū)配置文件320中。分區(qū)配置文件320位于諸如圖1中的NVRAM 192之類的非易失性存儲器中。
      如果操作系統(tǒng)提供的關(guān)鍵代碼有效,則hypervisor 316將注冊所述操作系統(tǒng),并允許它繼續(xù)訪問硬件資源。如果操作系統(tǒng)提供關(guān)鍵代碼不匹配關(guān)鍵代碼列表322中的關(guān)鍵代碼,則終止所述操作系統(tǒng)。
      在這些說明性示例中,分區(qū)配置文件320和關(guān)鍵代碼列表322是由對HMC具有適當(dāng)?shù)脑L問權(quán)限的系統(tǒng)管理員產(chǎn)生的。為將加載到LPAR數(shù)據(jù)處理系統(tǒng)的每一個操作系統(tǒng)輸入關(guān)鍵代碼。這些關(guān)鍵代碼存儲在分區(qū)配置文件320中的關(guān)鍵代碼列表322中。
      在操作系統(tǒng)300、302、304和306的加載過程中,在操作系統(tǒng)向hypervisor 316注冊之前,這些操作系統(tǒng)將作為初始化過程的一部分,進(jìn)行調(diào)用,以訪問硬件。在進(jìn)行注冊之前,hypervisor 316中的驗(yàn)證過程318判斷所進(jìn)行的調(diào)用是否為加載和初始化操作系統(tǒng)所需要的。如果這些調(diào)用是需要的,則處理調(diào)用,并提供對硬件的訪問。否則,阻止對硬件進(jìn)行訪問,并終止進(jìn)行不需要的硬件調(diào)用的操作系統(tǒng)。
      需要的調(diào)用的示例包括對操作系統(tǒng)的映射內(nèi)存的調(diào)用。內(nèi)存必須由操作系統(tǒng)進(jìn)行映射,才能使資源發(fā)揮作用。在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中,諸如hypervisor之類的平臺固件控制包括內(nèi)存在內(nèi)的硬件。因此,內(nèi)存必須從物理地址映射到邏輯地址,以允許操作系統(tǒng)使用此內(nèi)存。所需要的調(diào)用的另一個示例包括對I/O的調(diào)用。需要I/O資源以便與外部世界進(jìn)行通信。需要類似的映射,以將I/O適配器的物理地址映射到由操作系統(tǒng)使用的邏輯地址范圍。
      相反,不需要的調(diào)用包括對諸如時刻或虛擬終端支持之類的設(shè)置或讀取項(xiàng)的調(diào)用。
      如此,可以防止未經(jīng)過授權(quán)的操作在到注冊可以發(fā)生的那一點(diǎn)之前訪問初始化操作系統(tǒng)所需要的那些硬件之外的硬件??梢允褂么斯δ芙K止試圖避免注冊的未經(jīng)授權(quán)的操作系統(tǒng)。
      現(xiàn)在參考圖4,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,描述了創(chuàng)建被授權(quán)的操作系統(tǒng)的列表的過程的流程圖。圖4中所顯示的過程可以以軟件方式來實(shí)施,以便可以在諸如圖2中的硬件管理控制臺280之類的硬件管理控制臺中使用。
      過程從接收添加或更改代碼密鑰的請求開始(步驟400)。接下來,接收關(guān)鍵代碼的用戶輸入(步驟402)。在步驟402中,輸入通過在硬件管理控制臺中提供的圖形用戶界面來進(jìn)行。這些關(guān)鍵代碼可以作為創(chuàng)建或修改分區(qū)配置文件的一部分來輸入的。然后,關(guān)鍵代碼保存在分區(qū)配置文件中(步驟404)。接下來,判斷是否存在更多關(guān)鍵代碼添加或更改(步驟406)。如果沒有其他關(guān)鍵代碼添加或更改,那么,保存分區(qū)配置文件(步驟408),此后過程終止。
      請回頭參看步驟406,如果存在其他關(guān)鍵代碼或更改,那么,過程返回到如上所述的步驟402。
      在這些說明性示例中,分區(qū)配置文件保存在非易失性存儲器中的數(shù)據(jù)結(jié)構(gòu)中,如圖1中的NVRAM 192。當(dāng)LPAR數(shù)據(jù)處理系統(tǒng)啟動時,平臺固件使用此配置文件信息。利用此信息,本發(fā)明的機(jī)制可以防止未經(jīng)授權(quán)的操作系統(tǒng)加載并執(zhí)行。
      現(xiàn)在參考圖5,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,描述了處理來自操作系統(tǒng)的注冊請求的過程的流程圖。圖5中所顯示的過程可以以平臺固件實(shí)現(xiàn),如圖3中的管理程序316中的驗(yàn)證過程318。
      過程從接收來自操作系統(tǒng)的注冊請求開始(步驟500)。然后,就在注冊請求中是否存在關(guān)鍵代碼作出判斷(步驟502)。如果存在關(guān)鍵代碼,那么,將注冊請求中的關(guān)鍵代碼與關(guān)鍵代碼列表進(jìn)行比較(步驟504)。關(guān)鍵代碼列表是通過諸如圖4中所顯示的過程來產(chǎn)生。
      接下來,就是否有匹配作出判斷(步驟506)。如果存在匹配,則注冊操作系統(tǒng)(步驟508),此后終止該過程。
      請回頭參看步驟502,如果在注冊請求中不存在關(guān)鍵代碼,那么,終止操作系統(tǒng)(步驟510)。接下來,發(fā)送安全消息(步驟512),過程此后終止。此安全消息可以包括有關(guān)試圖加載的操作系統(tǒng)的信息,進(jìn)行嘗試的時間,及其他識別未經(jīng)授權(quán)的操作系統(tǒng)的來源所需要的信息。在步驟506中,如果在從操作系統(tǒng)接收到的關(guān)鍵代碼和關(guān)鍵代碼列表中的關(guān)鍵代碼之間不存在匹配,則過程進(jìn)入如上所述的步驟510。
      現(xiàn)在參考圖6,根據(jù)本發(fā)明的優(yōu)選實(shí)施例,描述了處理硬件服務(wù)的請求的過程的流程圖。圖6中所顯示的過程可以以平臺固件實(shí)現(xiàn),如圖3中的管理程序316中的驗(yàn)證過程318。
      過程以從操作系統(tǒng)接收硬件服務(wù)的調(diào)用開始(步驟600)。接下來,就操作系統(tǒng)是否已經(jīng)注冊作出判斷(步驟602)。在這些說明性示例中,注冊的操作系統(tǒng)是已經(jīng)被驗(yàn)證作為授權(quán)的操作系統(tǒng)(如通過上面的圖5中顯示的過程)的操作系統(tǒng)。
      如果操作系統(tǒng)沒有注冊,則就是否需要硬件服務(wù)來設(shè)置操作系統(tǒng)作出判斷(步驟604)。在步驟604中,所需要的硬件服務(wù)是操作系統(tǒng)加載并初始化到操作系統(tǒng)準(zhǔn)備向平臺固件注冊其自己的那一點(diǎn)所需要的那些硬件服務(wù)。在這一點(diǎn)之前,操作系統(tǒng)需要一些硬件服務(wù)來加載并初始化其本身來完成正常的操作。所需要的硬件服務(wù)的示例有那些映射供操作系統(tǒng)使用的存儲器資源和I/O資源的硬件服務(wù)。如果需要硬件服務(wù)來設(shè)置操作系統(tǒng),則處理提供硬件服務(wù)的調(diào)用,(步驟606),過程此后終止。
      請回頭參看步驟602,如果操作系統(tǒng)已經(jīng)注冊,則過程終止。在步驟604中,如果不需要硬件服務(wù)來設(shè)置或完成操作系統(tǒng)的初始化,則,終止操作系統(tǒng)(步驟608)。接下來,發(fā)送安全消息(步驟610),過程此后終止。如此,此過程防止操作系統(tǒng)在沒有向平臺固件注冊的情況下加載并執(zhí)行。
      如此,本發(fā)明提供了改進(jìn)的方法、設(shè)備和計(jì)算機(jī)指令,用于防止未經(jīng)授權(quán)的或流氓操作系統(tǒng)的加載。此功能是通過要求操作系統(tǒng)發(fā)送關(guān)鍵代碼或某些其他唯一標(biāo)識符以便在驗(yàn)證操作系統(tǒng)是否被授權(quán)時使用。維護(hù)了授權(quán)的關(guān)鍵代碼,并與向操作系統(tǒng)提供的關(guān)鍵代碼相比。如果發(fā)生匹配,則允許操作系統(tǒng)繼續(xù)執(zhí)行。否則,終止操作系統(tǒng)。
      值得注意的是,盡管是在完全運(yùn)轉(zhuǎn)的數(shù)據(jù)處理系統(tǒng)的上下文中描述本發(fā)明的,那些本領(lǐng)域技術(shù)人員將認(rèn)識到,本發(fā)明的進(jìn)程能夠以存儲了指令的計(jì)算機(jī)可讀的介質(zhì)的形式和各種各樣的形式進(jìn)行分發(fā),本發(fā)明同樣適用,不管實(shí)際用于進(jìn)行分發(fā)的承載信號的介質(zhì)的特定類型是什么。計(jì)算機(jī)可讀的介質(zhì)的示例包括可記錄類型的介質(zhì),如軟盤、硬盤驅(qū)動器、RAM、CD-ROM、DVD-ROM、傳輸類型的介質(zhì),例如使用諸如射頻和光波傳輸?shù)膫鬏斝问降臄?shù)字和模擬通信鏈路、有線或無線通信鏈路。計(jì)算機(jī)可讀的介質(zhì)可以采取編碼格式的形式,這些編碼在特定數(shù)據(jù)處理系統(tǒng)中實(shí)際使用時被解碼。
      本發(fā)明的說明書只作說明,而不是詳盡的說明或限于所說明的形式。那些本領(lǐng)域技術(shù)人員將認(rèn)識到,可以進(jìn)行許多修改。所選擇的實(shí)施例只是為了最好地說明本發(fā)明的原理,實(shí)際應(yīng)用,并使精通本技術(shù)的其他人懂得,帶有各種修改的各種實(shí)施例也是可以接受的。
      權(quán)利要求
      1.一種用于在多分區(qū)數(shù)據(jù)處理系統(tǒng)中管理操作系統(tǒng)的方法,該方法包括接收來自多分區(qū)數(shù)據(jù)處理系統(tǒng)中的操作系統(tǒng)的注冊訪問多分區(qū)數(shù)據(jù)處理系統(tǒng)中的硬件的請求,其中,所述請求包括操作系統(tǒng)的關(guān)鍵代碼;響應(yīng)于接收到所述請求,使用關(guān)鍵代碼判斷操作系統(tǒng)是否為授權(quán)的操作系統(tǒng),以及如果操作系統(tǒng)是授權(quán)的操作系統(tǒng),則注冊所述操作系統(tǒng)。
      2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括如果操作系統(tǒng)是未經(jīng)授權(quán)的操作系統(tǒng),則終止所述操作系統(tǒng)。
      3.根據(jù)權(quán)利要求1所述的方法,其中,判斷步驟包括比較關(guān)鍵代碼與授權(quán)的操作系統(tǒng)的關(guān)鍵代碼集;以及判斷在所述關(guān)鍵代碼和關(guān)鍵代碼集中的任何關(guān)鍵代碼之間是否存在匹配。
      4.根據(jù)權(quán)利要求3所述的方法,其中,關(guān)鍵代碼集位于分區(qū)配置文件中。
      5.根據(jù)權(quán)利要求3所述的方法,其中,關(guān)鍵代碼集通過硬件管理控制臺來進(jìn)行定義。
      6.根據(jù)權(quán)利要求4所述的方法,其中,分區(qū)配置文件存儲在非易失性存儲器中。
      7.根據(jù)權(quán)利要求1所述的方法,其中,操作系統(tǒng)的關(guān)鍵代碼嵌入在操作系統(tǒng)內(nèi),并且是唯一的關(guān)鍵代碼。
      8.根據(jù)權(quán)利要求1所述的方法,其中,接收步驟、判斷步驟和注冊步驟是在平臺固件中執(zhí)行的。
      9.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括響應(yīng)于接收到訪問硬件的調(diào)用,判斷操作系統(tǒng)是否已經(jīng)注冊;響應(yīng)于接收到訪問硬件的調(diào)用,判斷調(diào)用是否需要設(shè)置操作系統(tǒng);以及如果操作系統(tǒng)沒有注冊并且如果調(diào)用不需要設(shè)置操作系統(tǒng),則終止所述操作系統(tǒng)。
      10.用于管理操作系統(tǒng)的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)包括接收裝置,用于接收來自多分區(qū)數(shù)據(jù)處理系統(tǒng)中的操作系統(tǒng)的注冊訪問多分區(qū)數(shù)據(jù)處理系統(tǒng)中的硬件的請求,其中,所述請求包括操作系統(tǒng)的關(guān)鍵代碼;判斷裝置,響應(yīng)于接收到所述請求,用于使用關(guān)鍵代碼判斷操作系統(tǒng)是否是授權(quán)的操作系統(tǒng);以及注冊裝置,用于如果操作系統(tǒng)是授權(quán)的操作系統(tǒng),則注冊所述操作系統(tǒng)。
      11.根據(jù)權(quán)利要求10所述的數(shù)據(jù)處理系統(tǒng),進(jìn)一步包括終止裝置,用于如果操作系統(tǒng)是未經(jīng)授權(quán)的操作系統(tǒng),則終止所述操作系統(tǒng)。
      12.根據(jù)權(quán)利要求10所述的數(shù)據(jù)處理系統(tǒng),其中,判斷步驟包括比較裝置,用于比較關(guān)鍵代碼與授權(quán)的操作系統(tǒng)的關(guān)鍵代碼集;以及用于判斷在所述關(guān)鍵代碼和關(guān)鍵代碼集中的任何關(guān)鍵代碼之間是否存在匹配的裝置。
      13.根據(jù)權(quán)利要求12所述的數(shù)據(jù)處理系統(tǒng),其中,關(guān)鍵代碼集位于分區(qū)配置文件中。
      14.根據(jù)權(quán)利要求12所述的數(shù)據(jù)處理系統(tǒng),其中,關(guān)鍵代碼集通過硬件管理控制臺來進(jìn)行定義。
      15.根據(jù)權(quán)利要求13所述的數(shù)據(jù)處理系統(tǒng),其中,分區(qū)配置文件存儲在非易失性存儲器中。
      16.根據(jù)權(quán)利要求10所述的數(shù)據(jù)處理系統(tǒng),其中,操作系統(tǒng)的關(guān)鍵代碼嵌入在操作系統(tǒng)內(nèi),并且是唯一的關(guān)鍵代碼。
      17.根據(jù)權(quán)利要求10所述的數(shù)據(jù)處理系統(tǒng),其中,接收裝置、判斷步驟和注冊步驟是在平臺固件中執(zhí)行的。
      18.根據(jù)權(quán)利要求10所述的數(shù)據(jù)處理系統(tǒng),其中,判斷裝置是第一判斷裝置,并進(jìn)一步包括第二判斷裝置,響應(yīng)于接收到訪問硬件的調(diào)用,用于判斷操作系統(tǒng)是否已經(jīng)注冊;第三判斷裝置,響應(yīng)于接收到訪問硬件的調(diào)用,用于判斷調(diào)用是否需要設(shè)置操作系統(tǒng);以及終止裝置,用于如果操作系統(tǒng)沒有注冊并且如果不需要調(diào)用設(shè)置操作系統(tǒng),則終止所述操作系統(tǒng)。
      19.用于管理操作系統(tǒng)的計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括第一指令,用于接收來自多分區(qū)數(shù)據(jù)處理系統(tǒng)中的操作系統(tǒng)的注冊訪問多分區(qū)數(shù)據(jù)處理系統(tǒng)中的硬件的請求,其中,所述請求包括操作系統(tǒng)的關(guān)鍵代碼;第二指令,響應(yīng)于接收到所述請求,用于使用關(guān)鍵代碼判斷操作系統(tǒng)是否是授權(quán)的操作系統(tǒng);以及第三指令,用于如果操作系統(tǒng)是授權(quán)的操作系統(tǒng),則注冊所述操作系統(tǒng)。
      20.根據(jù)權(quán)利要求19所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括第四指令,用于如果操作系統(tǒng)是未經(jīng)授權(quán)的操作系統(tǒng),則終止所述操作系統(tǒng)。
      21.根據(jù)權(quán)利要求19所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,第二指令包括第一子指令,用于比較關(guān)鍵代碼與授權(quán)的操作系統(tǒng)的關(guān)鍵代碼集;以及第二子指令,用于判斷在所述關(guān)鍵代碼和關(guān)鍵代碼集中的任何關(guān)鍵代碼之間是否存在匹配。
      22.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)程序產(chǎn)品,其中,關(guān)鍵代碼集位于分區(qū)配置文件中。
      23.根據(jù)權(quán)利要求21所述的計(jì)算機(jī)程序產(chǎn)品,其中,關(guān)鍵代碼集通過硬件管理控制臺來進(jìn)行定義。
      24.根據(jù)權(quán)利要求22所述的計(jì)算機(jī)程序產(chǎn)品,其中,分區(qū)配置文件存儲在非易失性存儲器中。
      25.根據(jù)權(quán)利要求19所述的計(jì)算機(jī)程序產(chǎn)品,其中,操作系統(tǒng)的關(guān)鍵代碼嵌入在操作系統(tǒng)內(nèi),并且是唯一的關(guān)鍵代碼。
      26.根據(jù)權(quán)利要求19所述的計(jì)算機(jī)程序產(chǎn)品,其中,第一指令、判斷步驟和注冊步驟是在平臺固件中執(zhí)行的。
      27.根據(jù)權(quán)利要求19所述的計(jì)算機(jī)程序產(chǎn)品,進(jìn)一步包括第四指令,響應(yīng)于接收到訪問硬件的調(diào)用,用于判斷操作系統(tǒng)是否已經(jīng)注冊;第五指令,響應(yīng)于接收到訪問硬件的調(diào)用,用于判斷調(diào)用是否需要設(shè)置操作系統(tǒng);以及第六指令,用于如果操作系統(tǒng)沒有注冊并且如果不需要調(diào)用設(shè)置操作系統(tǒng),則終止所述操作系統(tǒng)。
      全文摘要
      公開了用于防止在邏輯分區(qū)數(shù)據(jù)處理系統(tǒng)中加載和執(zhí)行流氓操作系統(tǒng)的方法和設(shè)備。在多分區(qū)數(shù)據(jù)處理系統(tǒng)中接收來自操作系統(tǒng)的注冊訪問多分區(qū)數(shù)據(jù)處理系統(tǒng)中的硬件的請求。請求包括操作系統(tǒng)的關(guān)鍵代碼。響應(yīng)于接收到所述請求的情況,使用關(guān)鍵代碼就操作系統(tǒng)是否為授權(quán)的操作系統(tǒng)作出判斷。如果操作系統(tǒng)是授權(quán)的操作系統(tǒng),則注冊所述操作系統(tǒng)。否則,終止操作系統(tǒng)。
      文檔編號G06F11/00GK1673924SQ20051005917
      公開日2005年9月28日 申請日期2005年3月24日 優(yōu)先權(quán)日2004年3月25日
      發(fā)明者喬治·約翰·道金斯, 高爾登·D·邁金托什 申請人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1