專利名稱:信息處理裝置、處理控制方法和計(jì)算機(jī)程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種信息處理裝置、處理控制方法和計(jì)算機(jī)程序。本發(fā)明尤其涉及一種信息處理裝置、處理控制方法和計(jì)算機(jī)程序,用于提高多個(gè)邏輯處理器的資源的可訪問(wèn)性、并且用于在多個(gè)邏輯處理器共享信息處理裝置中的資源的配置中執(zhí)行有效率的數(shù)據(jù)處理。
背景技術(shù):
在多操作系統(tǒng)(OS)(單一系統(tǒng)中具有多個(gè)OS)中,每個(gè)OS可以執(zhí)行各自的處理和對(duì)系統(tǒng)公共的硬件,如CPU和存儲(chǔ)器以時(shí)間順序連續(xù)切換。
多個(gè)OS的處理(任務(wù))的調(diào)度是通過(guò)例如分區(qū)管理軟件程序執(zhí)行的。如果OS(α)和OS(β)在單一系統(tǒng)中共存,OS(α)的處理是分區(qū)A,而OS(β)的處理是分區(qū)B,則分區(qū)管理軟件程序確定分區(qū)A和分區(qū)B的調(diào)度,并且用基于確定的調(diào)度分配的硬件資源執(zhí)行OS的處理。
專利文獻(xiàn)1公開(kāi)了一種多OS系統(tǒng)的任務(wù)管理技術(shù)。根據(jù)該公開(kāi),用加在處理上的緊急優(yōu)先級(jí)來(lái)調(diào)度多個(gè)OS要執(zhí)行的任務(wù)。
實(shí)體處理數(shù)據(jù)被建立為分區(qū)。更具體地,建立邏輯分區(qū)作為共享系統(tǒng)中的資源的實(shí)體。各種資源,如物理處理器的使用時(shí)間、虛擬地址空間和存儲(chǔ)空間,被分配給邏輯分區(qū)。然后使用分配的資源執(zhí)行處理。在邏輯分區(qū)中建立對(duì)應(yīng)于任一物理處理器的邏輯處理器,并且基于邏輯處理器執(zhí)行數(shù)據(jù)處理。邏輯處理器不總是與物理處理器一一對(duì)應(yīng)。例如,單一邏輯處理器可以對(duì)應(yīng)于多個(gè)物理處理器,而多個(gè)邏輯處理器可以對(duì)應(yīng)于單一物理處理器。
如果使用邏輯處理器并行執(zhí)行多個(gè)處理,則通過(guò)調(diào)度多個(gè)邏輯處理器來(lái)使用物理處理器。更具體地,多個(gè)邏輯處理器以分時(shí)的方式使用物理處理器。
現(xiàn)在如圖1所示,將單一邏輯處理器分配給單一物理處理器,換句話說(shuō),邏輯處理器(a)獨(dú)占地使用物理處理器(1),而邏輯處理器(b)獨(dú)占地使用物理處理器(2)?,F(xiàn)在討論邏輯處理器(a)的訪問(wèn)處理。
與其中建立邏輯處理器(a)的邏輯分區(qū)對(duì)應(yīng)的OS現(xiàn)在嘗試訪問(wèn)邏輯處理器(a)。邏輯處理器(a)保存的物理處理器(1)的本地存儲(chǔ)區(qū)域被映射到對(duì)應(yīng)于邏輯處理器(a)的邏輯分區(qū)的地址空間,作為對(duì)應(yīng)于物理處理器(1)的區(qū)域。對(duì)應(yīng)于邏輯分區(qū)的OS可總是訪問(wèn)邏輯處理器(a)。通過(guò)訪問(wèn)邏輯處理器(a),OS可以獲取包括對(duì)應(yīng)于邏輯處理器(a)的本地存儲(chǔ)信息的各種信息。
如圖2所示,現(xiàn)在多個(gè)邏輯處理器被分配給單一物理處理器來(lái)以分時(shí)(time sharing)的方式執(zhí)行處理。在邏輯處理器(a)使用物理處理器(1)時(shí)的訪問(wèn)A,對(duì)應(yīng)于邏輯分區(qū)的OS可以用與上述相同的方式訪問(wèn)邏輯處理器(a)。然而,在邏輯處理器(a)不使用物理處理器(1)時(shí)的訪問(wèn)B,邏輯處理器(a)不使用物理處理器。與對(duì)應(yīng)于物理處理器的本地存儲(chǔ)有關(guān)的信息不被映射到對(duì)應(yīng)于邏輯處理器(a)的邏輯分區(qū)的地址空間。OS不能訪問(wèn)邏輯處理器(a)。在這種情況下,OS必須等待,直到邏輯處理器(a)可以以分時(shí)的方式使用物理處理器為止。數(shù)據(jù)處理因此經(jīng)受延遲。
日本待審查的專利申請(qǐng)公開(kāi)No.2003-345612發(fā)明內(nèi)容[本發(fā)明要解決的問(wèn)題]本發(fā)明的目的是提供一種信息處理裝置、處理控制方法和計(jì)算機(jī)程序,用于提高多個(gè)邏輯處理器的資源的可訪問(wèn)性、并且用于在多個(gè)邏輯處理器共享信息處理裝置中的資源的配置中執(zhí)行有效率的數(shù)據(jù)處理。
根據(jù)本發(fā)明的第一方面,通過(guò)將多個(gè)邏輯處理器以分時(shí)的方式分配給一物理處理器來(lái)處理數(shù)據(jù)的信息處理裝置包括環(huán)境管理單元,用于將未向其分配物理處理器的邏輯處理器的環(huán)境映射到該邏輯處理器被應(yīng)用到的邏輯分區(qū)的邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
根據(jù)本發(fā)明一個(gè)實(shí)施例的信息處理裝置包括控制OS,用于以分時(shí)的方式將所述多個(gè)邏輯處理器分配給該物理處理器,和訪客OS,所述邏輯分區(qū)與其相關(guān)聯(lián),并且所述邏輯處理器被應(yīng)用到所述邏輯分區(qū)。控制OS基于從訪客OS對(duì)控制OS的系統(tǒng)調(diào)用,將被應(yīng)用到與訪客OS相關(guān)聯(lián)的邏輯分區(qū)的邏輯處理器的環(huán)境映射到與訪客OS相關(guān)聯(lián)的邏輯分區(qū)的邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
在根據(jù)本發(fā)明一個(gè)實(shí)施例的信息處理裝置中,控制OS基于從訪客OS對(duì)控制OS的系統(tǒng)調(diào)用,將被應(yīng)用到與訪客OS相關(guān)聯(lián)的邏輯分區(qū)的邏輯處理器排除在作為給物理處理器的分配候選的分時(shí)處理之外,將該邏輯處理器的環(huán)境映射到邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
在根據(jù)本發(fā)明一個(gè)實(shí)施例的信息處理裝置中,控制OS在分配邏輯處理器給物理處理器的活動(dòng)狀態(tài)和不分配邏輯處理器給物理處理器的不活動(dòng)狀態(tài)之間切換,并且控制OS基于從訪客OS對(duì)控制OS的系統(tǒng)調(diào)用,設(shè)置應(yīng)用訪客OS的邏輯處理器處于不活動(dòng)狀態(tài),將邏輯處理器的環(huán)境映射到邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
在根據(jù)本發(fā)明一個(gè)實(shí)施例的信息處理裝置中,控制OS通過(guò)基于從訪客OS對(duì)控制OS的系統(tǒng)調(diào)用,將應(yīng)用訪客OS的邏輯處理器從不活動(dòng)狀態(tài)重設(shè)到活動(dòng)狀態(tài),來(lái)將邏輯處理器恢復(fù)回要分配給物理處理器的分配候選。
在根據(jù)本發(fā)明一個(gè)實(shí)施例的信息處理裝置中,環(huán)境管理單元基于邏輯處理器的寄存器、I/O端口和本地存儲(chǔ)中的至少一個(gè),執(zhí)行邏輯處理器的環(huán)境的存儲(chǔ)。
根據(jù)本發(fā)明的第二方面,一種處理控制方法,通過(guò)以分時(shí)的方式將多個(gè)邏輯處理器分配給一物理處理器來(lái)處理數(shù)據(jù),包括邏輯處理器調(diào)度步驟,用于將一邏輯處理器排除在要分配給物理處理器的分配候選之外;和環(huán)境存儲(chǔ)步驟,用于將排除在要分配給物理處理器的候選之外的邏輯處理器的環(huán)境映射到該邏輯處理器被應(yīng)用到的邏輯分區(qū)的邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
根據(jù)本發(fā)明一個(gè)實(shí)施例的處理控制方法還包括系統(tǒng)調(diào)用輸出步驟,用于從訪客OS向控制OS輸出系統(tǒng)調(diào)用,其中,所述邏輯處理器調(diào)用步驟包括基于系統(tǒng)調(diào)用將邏輯處理器排除在要分配給物理處理器的分配候選之外,并且其中,所述環(huán)境存儲(chǔ)步驟包括基于系統(tǒng)調(diào)用,將被應(yīng)用到訪客OS與其相關(guān)聯(lián)的邏輯分區(qū)的邏輯處理器的環(huán)境映射到訪客OS與其相關(guān)聯(lián)的邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
在本發(fā)明一個(gè)實(shí)施例的處理控制方法中,控制OS在分配邏輯處理器給物理處理器的活動(dòng)狀態(tài)和不分配邏輯處理器給物理處理器的不活動(dòng)狀態(tài)之間切換,并且控制OS基于從訪客OS對(duì)控制OS的系統(tǒng)調(diào)用,設(shè)置應(yīng)用訪客OS的邏輯處理器處于不活動(dòng)狀態(tài),將邏輯處理器的環(huán)境映射到邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
在本發(fā)明一個(gè)實(shí)施例的處理控制方法中,控制OS通過(guò)基于從訪客OS對(duì)控制OS的系統(tǒng)調(diào)用,將應(yīng)用訪客OS的邏輯處理器從不活動(dòng)狀態(tài)重設(shè)到活動(dòng)狀態(tài),來(lái)將邏輯處理器恢復(fù)回要分配給物理處理器的分配候選。
根據(jù)本發(fā)明的第三方面,一種用于執(zhí)行處理控制方法的計(jì)算機(jī)程序,該方法通過(guò)以分時(shí)的方式將多個(gè)邏輯處理器分配給一物理處理器來(lái)處理數(shù)據(jù),包括邏輯處理器調(diào)度步驟,用于將一邏輯處理器排除在要分配給物理處理器的分配候選之外;和環(huán)境存儲(chǔ)步驟,用于將排除在要分配給物理處理器的候選之外的邏輯處理器的環(huán)境映射到該邏輯處理器被應(yīng)用的邏輯分區(qū)的邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
將本發(fā)明一個(gè)實(shí)施例的計(jì)算機(jī)程序提供給執(zhí)行計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(如CD、FD或MO)或通信介質(zhì)(如網(wǎng)絡(luò))中的、各種程序代碼的通用計(jì)算機(jī)系統(tǒng)。通過(guò)以計(jì)算機(jī)可讀的方式提供計(jì)算機(jī)程序,計(jì)算機(jī)系統(tǒng)響應(yīng)于計(jì)算機(jī)程序執(zhí)行處理。
通過(guò)下面本發(fā)明的描述和附圖,本發(fā)明的這些和其他特征和優(yōu)點(diǎn)將變得顯而易見(jiàn)。在本發(fā)明描述的環(huán)境中,系統(tǒng)是指多個(gè)裝置的邏輯集合,而不限于在同一外殼內(nèi)裝有各元件的一個(gè)裝置。
根據(jù)本發(fā)明的實(shí)施例,信息處理裝置通過(guò)以分時(shí)的方式分配多個(gè)邏輯處理器給一物理處理器來(lái)處理數(shù)據(jù),并且存儲(chǔ)沒(méi)有給其分配物理處理器的邏輯處理器的環(huán)境,環(huán)境被映射到邏輯處理器被應(yīng)用到的邏輯分區(qū)的邏輯分區(qū)地址空間。即使邏輯處理器未被分配給物理處理器,也可以獲得該邏輯處理器的環(huán)境??梢詧?zhí)行對(duì)邏輯處理器的處理,包括訪問(wèn)和程序加載,而不必等到該邏輯處理器被分配給物理存儲(chǔ)器。從而大大增加了數(shù)據(jù)處理效率。
根據(jù)本發(fā)明的實(shí)施例,除了寄存器的內(nèi)容,環(huán)境表存儲(chǔ)公知環(huán)境表中未存儲(chǔ)的內(nèi)容,如輸入-輸出端口和本地存儲(chǔ)區(qū)域的內(nèi)容。訪客OS引用寄存器的內(nèi)容、本地存儲(chǔ)的內(nèi)容和輸入-輸出端口的內(nèi)容,作為與設(shè)置在不活動(dòng)狀態(tài)的邏輯處理器對(duì)應(yīng)的各種信息,不活動(dòng)狀態(tài)對(duì)應(yīng)于物理處理器處于不可使用狀態(tài)。訪客OS由此根據(jù)響應(yīng)于該信息的資源訪問(wèn)來(lái)處理數(shù)據(jù)。從而提高了數(shù)據(jù)處理效率。
圖1示出邏輯處理器和物理處理器以分時(shí)方式的分配處理。
圖2示出邏輯處理器和物理處理器以分時(shí)方式的分配處理。
圖3示出本發(fā)明的信息處理裝置的結(jié)構(gòu)。
圖4示出信息處理裝置中的處理器模塊的結(jié)構(gòu)。
圖5示出本發(fā)明的信息處理裝置中的OS的系統(tǒng)配置。
圖6示出邏輯處理器和物理處理器之間的分配處理。
圖7示出訪客OS所引用的區(qū)域和本發(fā)明的環(huán)境表的設(shè)置。
圖8示出與訪客OS相關(guān)聯(lián)的邏輯分區(qū)地址空間和訪客OS所引用的信息。
圖9示出根據(jù)本發(fā)明一個(gè)實(shí)施例的、由訪客OS和控制OS執(zhí)行的處理。
圖10示出根據(jù)本發(fā)明由訪客OS和控制OS執(zhí)行的處理序列流程圖。
圖11示出根據(jù)本發(fā)明的邏輯處理器和物理處理器之間以分時(shí)方式的分配處理和環(huán)境設(shè)置處理。
圖12示出根據(jù)本發(fā)明的邏輯處理器和物理處理器之間以分時(shí)方式的分配處理、環(huán)境設(shè)置處理和程序加載處理。
具體實(shí)施例方式
下面參照附圖描述本發(fā)明的信息處理裝置、處理控制方法和計(jì)算機(jī)程序。
下面參照?qǐng)D3描述本發(fā)明的信息處理裝置的硬件結(jié)構(gòu)。處理器模塊101包括多個(gè)處理單元,并且根據(jù)存儲(chǔ)在ROM(只讀存儲(chǔ)器)104和HDD 123中的各種程序處理數(shù)據(jù),所述程序包括OS和OS上運(yùn)行的應(yīng)用程序。將在稍后參照?qǐng)D4描述處理器模塊101。
響應(yīng)于通過(guò)處理器模塊101的命令輸入,圖形引擎102產(chǎn)生要在構(gòu)成輸出單元122的顯示器的屏幕上顯示的數(shù)據(jù),例如,執(zhí)行3D繪圖處理。主存儲(chǔ)器(DRAM)103存儲(chǔ)處理器模塊101執(zhí)行的程序和在執(zhí)行程序期間變化的參數(shù)。這些元件通過(guò)包括CPU總線在內(nèi)的主機(jī)總線111互連。
主機(jī)總線111通過(guò)橋105連接到外部總線112,如外圍部件互連/接口(PCI)總線。橋105控制主機(jī)總線111、外部總線112、控制器106、存儲(chǔ)卡107和其他設(shè)備之間的數(shù)據(jù)輸入和輸出。
輸入單元121將信息輸入到用戶操作的諸如鍵盤和定點(diǎn)設(shè)備之類的輸入設(shè)備。輸出單元122包括諸如液晶顯示器和CRT(陰極射線管)之一的圖像輸出單元和諸如揚(yáng)聲器之類的音頻輸出設(shè)備。
HDD(硬盤驅(qū)動(dòng)器)123驅(qū)動(dòng)其中裝載的硬盤,從而記錄或回放信息和處理器模塊101要執(zhí)行的程序。
驅(qū)動(dòng)器124讀取存儲(chǔ)在加載的可移動(dòng)記錄介質(zhì)127(如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器)中的數(shù)據(jù)和程序,并且將數(shù)據(jù)和程序通過(guò)接口113、外部總線112、橋105和主機(jī)總線111提供給主存儲(chǔ)器(DRAM)103。
連接端口125連接到外部設(shè)備128,并且可以包括USB、IEEE 1394總線等。連接端口125通過(guò)接口113、外部總線112、橋105和主機(jī)總線111連接到處理器模塊101。連接到網(wǎng)絡(luò)的通信單元126發(fā)送從HDD 123等提供的數(shù)據(jù),并且從外部接收數(shù)據(jù)。
下面參照?qǐng)D4描述處理器模塊101的結(jié)構(gòu)。如圖所示,處理器模塊200包括具有多個(gè)主處理器單元的主處理器組201和多個(gè)子處理器組202-20n,每個(gè)子處理器組包括多個(gè)子處理器單元。每個(gè)組還包括存儲(chǔ)控制器和二級(jí)高速緩存。處理器組201-20n每個(gè)包括8個(gè)處理器單元,例如通過(guò)交叉桿(cross-bar)架構(gòu)和分組交換網(wǎng)絡(luò)之一連接。響應(yīng)于主處理器組201的主處理器的命令,選擇多個(gè)子處理器組202-20n中的至少一個(gè)子處理器來(lái)執(zhí)行預(yù)定程序。
本發(fā)明的信息處理裝置包括多個(gè)物理處理器,并且軟件程序以分時(shí)的方式復(fù)用物理處理器,并為OS提供邏輯處理器??刂谱犹幚砥鞯目刂芆S在主處理器上運(yùn)行。本發(fā)明一個(gè)實(shí)施例的方法可應(yīng)用到?jīng)]有主從關(guān)系(如主處理器—子處理器關(guān)系)的多處理器機(jī)器。
每個(gè)處理器組中的存儲(chǔ)器流控制器控制到圖3的主存儲(chǔ)器103的數(shù)據(jù)輸出和數(shù)據(jù)輸入。二級(jí)高速緩存用作每個(gè)處理器組中處理數(shù)據(jù)的存儲(chǔ)區(qū)域。
下面參照?qǐng)D5描述本發(fā)明的信息處理裝置中的操作系統(tǒng)(OS)的系統(tǒng)配置。信息處理裝置具有多OS結(jié)構(gòu),其中存在多個(gè)OS。如圖5所示,信息處理裝置包括邏輯層結(jié)構(gòu)中的多個(gè)OS。
如圖5所示,控制OS 301安排在下層。多個(gè)訪客OS 302、303和304安排在上層??刂芆S 301與系統(tǒng)控制OS 304一起構(gòu)成邏輯分區(qū),作為參照?qǐng)D3和圖4討論的處理器模塊101執(zhí)行的每個(gè)處理的執(zhí)行單位,并且向每個(gè)邏輯分區(qū)分配系統(tǒng)硬件資源(例如,主處理器、子處理器、存儲(chǔ)器和設(shè)備,作為計(jì)算資源)。
訪客OS 302和303是游戲OS(gaming OS)、Windows(注冊(cè)商標(biāo))、Linux(注冊(cè)商標(biāo))等,并且在控制OS 301的控制下操作。盡管圖5僅僅示出兩個(gè)訪客OS 302和303,但訪客OS的數(shù)量不限于任何具體數(shù)目。
訪客OS 302和303在控制OS 301和系統(tǒng)控制OS 304所設(shè)置的邏輯分區(qū)內(nèi)操作。訪客OS 302和303使用分配給邏輯分區(qū)的硬件資源(如,主處理器、子處理器、存儲(chǔ)器和設(shè)備)處理各種數(shù)據(jù)。
訪客OS(a)302使用包括分配給由控制OS 301和系統(tǒng)控制OS 304建立的邏輯分區(qū)2的主處理器、子處理器、存儲(chǔ)器和設(shè)備的硬件資源,從而執(zhí)行對(duì)應(yīng)于訪客OS(a)302的應(yīng)用程序305。訪客OS(b)303使用包括分配給邏輯分區(qū)n的主處理器、子處理器、存儲(chǔ)器和設(shè)備的硬件資源,從而執(zhí)行對(duì)應(yīng)于訪客OS(b)303的應(yīng)用程序306??刂芆S 301提供執(zhí)行訪客OS所需的訪客OS編程接口。
系統(tǒng)控制OS 304產(chǎn)生包括邏輯分區(qū)管理程序的系統(tǒng)控制程序307,并且與控制OS 301一起執(zhí)行響應(yīng)于系統(tǒng)控制程序307的操作控制。系統(tǒng)控制程序307使用系統(tǒng)控制程序編程接口控制系統(tǒng)策略。控制OS 301提供系統(tǒng)控制程序編程接口給系統(tǒng)控制OS 304。例如,系統(tǒng)控制程序307允許靈活的定制,例如設(shè)置資源分配的上限。
系統(tǒng)控制程序307使用系統(tǒng)控制程序編程接口控制系統(tǒng)的行為。例如,系統(tǒng)控制程序307產(chǎn)生新的邏輯分區(qū),并且在該邏輯分區(qū)啟動(dòng)新的訪客OS。在多個(gè)訪客OS操作的系統(tǒng)中,按照系統(tǒng)控制程序307中編程的順序啟動(dòng)訪客OS。被控制OS 301接收之前,系統(tǒng)控制程序307可以接收和檢查從訪客OS發(fā)出的資源分配請(qǐng)求,修改系統(tǒng)策略,甚至自己拒絕請(qǐng)求。這樣,沒(méi)有特定的訪客OS獨(dú)占資源。將系統(tǒng)策略實(shí)現(xiàn)于其中的程序是系統(tǒng)控制程序。
控制OS 301將特定的邏輯分區(qū)(例如,如圖5中所示的邏輯分區(qū)1)分配給系統(tǒng)控制OS 304??刂芆S 301以管理程序(hypervisor)模式操作。訪客OS以管理程序模式操作。系統(tǒng)控制OS 304和應(yīng)用程序以問(wèn)題模式(用戶模式)操作。
邏輯分區(qū)是接收系統(tǒng)中的資源分配的實(shí)體。例如,主存儲(chǔ)器103被分成幾個(gè)區(qū)域(見(jiàn)圖3),并且每個(gè)邏輯分區(qū)被授權(quán)使用各自區(qū)域。下面列出分配給邏輯分區(qū)的資源類型。
a)物理處理器單元使用時(shí)間
b)虛擬地址空間c)邏輯分區(qū)中操作的程序可訪問(wèn)的存儲(chǔ)器d)控制OS用來(lái)管理邏輯分區(qū)的存儲(chǔ)器e)事件端口f)使用設(shè)備的權(quán)限g)高速緩存分區(qū)h)使用總線的權(quán)限如前面所討論的,訪客OS在邏輯分區(qū)內(nèi)操作。訪客OS獨(dú)占分配給邏輯分區(qū)的資源來(lái)處理各種數(shù)據(jù)。在許多情況下,逐個(gè)訪客OS地為訪客OS產(chǎn)生一個(gè)分區(qū),作用于系統(tǒng)上。賦予每個(gè)邏輯分區(qū)唯一標(biāo)識(shí)符。系統(tǒng)控制OS 304通過(guò)將系統(tǒng)控制程序與標(biāo)識(shí)符相關(guān)聯(lián),管理作為邏輯分區(qū)管理信息而生成的系統(tǒng)控制程序。
邏輯分區(qū)由控制OS 301和系統(tǒng)控制OS 304產(chǎn)生。在剛剛產(chǎn)生之后,邏輯分區(qū)沒(méi)有資源,并且沒(méi)有對(duì)可用資源設(shè)置的限制。邏輯分區(qū)取兩種狀態(tài)—活動(dòng)狀態(tài)和終止?fàn)顟B(tài)—之一。邏輯分區(qū)在剛剛產(chǎn)生之后取活動(dòng)狀態(tài)。邏輯分區(qū)響應(yīng)于該邏輯分區(qū)中操作的訪客OS的請(qǐng)求轉(zhuǎn)變到終止?fàn)顟B(tài),并且停止分配給該邏輯分區(qū)的所有邏輯處理器。
邏輯處理器被分配給邏輯分區(qū),并且對(duì)應(yīng)于任意物理處理器,即,圖4的處理器組中的處理器。邏輯處理器和物理處理器并不總是彼此一一對(duì)應(yīng)相關(guān)。單一邏輯處理器可以對(duì)應(yīng)于多個(gè)物理處理器?;蛘?,多個(gè)邏輯處理器可以對(duì)應(yīng)于單一物理處理器。邏輯處理器和物理處理器之間的對(duì)應(yīng)是由控制OS301決定的。
控制OS 301具有限制每個(gè)邏輯分區(qū)可用的資源量的功能。在不與系統(tǒng)控制OS 304通信的情況下,可以對(duì)訪客OS(a)302和訪客OS(b)303可分配和釋放的資源使用量設(shè)置限制。
邏輯分區(qū)具有控制信號(hào)端口。在邏輯分區(qū)之間的數(shù)據(jù)交換和數(shù)據(jù)共享所需的各種控制信號(hào)到達(dá)控制信號(hào)端口。下面列出控制信號(hào)。
a)連接邏輯分區(qū)之間的事件端口的請(qǐng)求b)連接邏輯分區(qū)之間的消息通道的請(qǐng)求c)連接到共享存儲(chǔ)器的請(qǐng)求到達(dá)每個(gè)邏輯分區(qū)的控制信號(hào)在控制信號(hào)端口排隊(duì)。對(duì)于隊(duì)列深度沒(méi)有限制,只要它在存儲(chǔ)器資源允許的范圍內(nèi)。在已經(jīng)發(fā)送控制信號(hào)的邏輯分區(qū)中保留排隊(duì)所需的存儲(chǔ)器資源。調(diào)用訪客OS編程接口來(lái)從端口接收控制信號(hào)。當(dāng)控制信號(hào)到達(dá)空閑控制信號(hào)端口時(shí),可以將事件發(fā)送給每個(gè)事件端口。事件端口可以通過(guò)調(diào)用訪客OS編程接口來(lái)指定。
控制OS為邏輯分區(qū)提供物理子處理器的抽象形式的邏輯子處理器作為計(jì)算資源。如前面所討論的,物理子處理器并不是與邏輯子處理器一一對(duì)應(yīng)相關(guān)的,并且不要求物理子處理器在數(shù)量上與邏輯子處理器相同。因此必要時(shí),控制OS可以使單一物理子處理器對(duì)應(yīng)于多個(gè)邏輯子處理器。
如果邏輯子處理器的數(shù)量大于物理子處理器的數(shù)量,則控制OS以分時(shí)的方式使用物理子處理器。邏輯子處理器可以反復(fù)停止然后恢復(fù)操作。訪客OS可以監(jiān)視這些變化。
下面如圖6所示,描述物理處理器和邏輯處理器之間的對(duì)應(yīng)關(guān)系。圖6示出單一主處理器401和物理子處理器411-414的結(jié)構(gòu),以及以分時(shí)方式操作的物理子處理器(2)和物理子處理器(4)的時(shí)序。
如圖6所示,邏輯子處理器被以如下列出的分時(shí)方式分配給物理子處理器(2)。
時(shí)隙ta0-ta1邏輯子處理器(a)時(shí)隙ta1-ta2邏輯子處理器(b)時(shí)隙ta2-ta3邏輯子處理器(c)時(shí)隙ta3-邏輯子處理器(a)在每個(gè)分配時(shí)隙中,每個(gè)邏輯子處理器使用物理子處理器(2)執(zhí)行處理。
物理子處理器(4)如下面列出的那樣由邏輯子處理器共享。
時(shí)隙tb0-tb1邏輯子處理器(b)時(shí)隙tb1-tb2邏輯子處理器(c)時(shí)隙tb2-tb3邏輯子處理器(a)時(shí)隙tb3-邏輯子處理器(b)在每個(gè)分配時(shí)隙中,每個(gè)邏輯子處理器使用物理子處理器(4)執(zhí)行處理。
邏輯子處理器分時(shí)共享物理處理器來(lái)執(zhí)行各自的處理。為了在下一分配時(shí)隙期間使用物理處理器恢復(fù)數(shù)據(jù)處理操作,每個(gè)邏輯子處理器需要在數(shù)據(jù)處理掛起時(shí)間期間保存狀態(tài)信息,如硬件狀態(tài)。狀態(tài)信息包括物理處理器的本地存儲(chǔ)的內(nèi)容、I/O端口的內(nèi)容和寄存器的內(nèi)容。
在邏輯子處理器被分配到物理處理器時(shí),反映邏輯子處理器的狀態(tài)的物理處理器的本地存儲(chǔ)區(qū)域和I/O端口的一部分被映射到對(duì)應(yīng)于邏輯子處理器的邏輯分區(qū)地址空間中的區(qū)域,并且可以通過(guò)另一處理器執(zhí)行訪問(wèn)。例如,具有給其分配邏輯子處理器的邏輯分區(qū)的訪客OS可通過(guò)另一處理器訪問(wèn)。
在邏輯子處理器未被分配到物理處理器時(shí),反映邏輯子處理器的狀態(tài)的物理處理器的本地存儲(chǔ)區(qū)域和I/O端口的一部分不被映射到對(duì)應(yīng)于邏輯子處理器的邏輯分區(qū)地址空間中的區(qū)域,如前面參照?qǐng)D2所討論的,對(duì)邏輯子處理器的訪問(wèn)通常不可能。然而根據(jù)本發(fā)明,包含I/O端口區(qū)域和本地存儲(chǔ)區(qū)域信息的環(huán)境表可以被另一處理器引用,以便允許在邏輯處理器不使用物理處理器時(shí)訪問(wèn)邏輯處理器。
下面描述存儲(chǔ)的環(huán)境的結(jié)構(gòu)。在下面的討論中,分配到參照?qǐng)D5討論的訪客OS的邏輯分區(qū)使用邏輯子處理器執(zhí)行數(shù)據(jù)處理??刂芆S以分時(shí)的方式將對(duì)應(yīng)于邏輯分區(qū)的邏輯子處理器分配到物理處理器。
邏輯子處理器在訪客OS的控制下,取兩種狀態(tài)—活動(dòng)狀態(tài)/不活動(dòng)狀態(tài)—中的一種,并且在控制OS的控制下,取兩種狀態(tài)—操作狀態(tài)/可使用狀態(tài)—中的一種。因此,邏輯子處理器取下面三種組合狀態(tài)中的一種a)活動(dòng)狀態(tài)和可使用狀態(tài),b)活動(dòng)狀態(tài)和操作狀態(tài),以及c)不活動(dòng)狀態(tài)。
活動(dòng)狀態(tài)和不活動(dòng)狀態(tài)之間的差別取決于邏輯子處理器是否可以是控制OS以分時(shí)方式要分配給物理處理器的分配目標(biāo)。處于活動(dòng)狀態(tài)時(shí),邏輯子處理器分時(shí)共享物理處理器,換句話說(shuō),是要分配給物理處理器的分配目標(biāo)。當(dāng)邏輯子處理器處于活動(dòng)狀態(tài)時(shí),控制OS適當(dāng)?shù)貙⑦壿嬜犹幚砥鞣峙涞椒謺r(shí)的物理處理器。
在不活動(dòng)狀態(tài)期間,邏輯子處理器不分時(shí)共享物理處理器。當(dāng)邏輯子處理器處于不活動(dòng)狀態(tài)時(shí),控制OS不分配邏輯子處理器到分時(shí)的物理處理器。邏輯子處理器的環(huán)境保存在環(huán)境表中。由于控制OS將環(huán)境映射到邏輯分區(qū)地址空間,因此另一處理器可訪問(wèn)處于不活動(dòng)狀態(tài)的邏輯子處理器。訪客OS可以控制邏輯子處理器是處于活動(dòng)狀態(tài)還是不活動(dòng)狀態(tài)。
操作狀態(tài)和可使用狀態(tài)之間的差別取決于處于活動(dòng)狀態(tài)的邏輯子處理器是否被物理處理器實(shí)際執(zhí)行。如果邏輯子處理器的數(shù)量大于物理處理器的數(shù)量,則如前面參照?qǐng)D2所討論的,通過(guò)分時(shí)的物理處理器實(shí)現(xiàn)邏輯子處理器。邏輯子處理器并不總是被物理處理器執(zhí)行。操作狀態(tài)指示物理處理器實(shí)際執(zhí)行邏輯子處理器的瞬時(shí)。
在可使用狀態(tài)期間,邏輯子處理器成為要被分配到物理處理器(活動(dòng)狀態(tài)下)的目標(biāo),但并沒(méi)有被物理處理器實(shí)際執(zhí)行。
操作狀態(tài)和可使用狀態(tài)之間的轉(zhuǎn)變是由控制OS所產(chǎn)生的邏輯子處理器的環(huán)境切換產(chǎn)生的。訪客OS可以得知關(guān)于邏輯子處理器是處于操作狀態(tài)還是可使用狀態(tài)的邏輯子處理器狀態(tài)。
在邏輯子處理器處于活動(dòng)狀態(tài)和操作狀態(tài)的情況下,反映邏輯子處理器狀態(tài)的物理處理器的I/O端口區(qū)域和本地邏輯存儲(chǔ)區(qū)域被映射到邏輯分區(qū)地址空間的區(qū)域。對(duì)邏輯子處理器的訪問(wèn)變得可能。
在本發(fā)明的信息處理裝置中,當(dāng)邏輯子處理器轉(zhuǎn)變到不活動(dòng)狀態(tài)時(shí),控制OS將邏輯子處理器的環(huán)境存儲(chǔ)為邏輯子處理器的狀態(tài)信息,并且將環(huán)境表映射到對(duì)應(yīng)于邏輯子處理器的訪客OS的邏輯分區(qū)地址空間的區(qū)域。通過(guò)該處理,訪客OS可以從自己的邏輯分區(qū)地址空間中引用處于不活動(dòng)狀態(tài)的邏輯子處理器的環(huán)境表的資源信息。訪客OS因此可以讀取、寫入和更新資源信息。
除了寄存器的內(nèi)容外,環(huán)境表還存儲(chǔ)已知環(huán)境表中未包含的內(nèi)容,如本地存儲(chǔ)的內(nèi)容和I/O端口的內(nèi)容。結(jié)果,訪客OS在物理處理器不工作的情況下,可以通過(guò)根據(jù)與設(shè)置在不活動(dòng)狀態(tài)的邏輯處理器對(duì)應(yīng)的各種狀態(tài)信息訪問(wèn)資源來(lái)處理數(shù)據(jù)。因此增加了數(shù)據(jù)處理效率。
下面參照?qǐng)D7描述訪客OS對(duì)與邏輯子處理器關(guān)聯(lián)的資源的資源訪問(wèn)處理。在訪客OS中設(shè)置邏輯分區(qū),并且將邏輯子處理器與邏輯分區(qū)相關(guān)聯(lián)。資源被分成訪客OS不可訪問(wèn)的資源501和訪客OS可訪問(wèn)的資源502。
如果應(yīng)用到訪客OS相關(guān)聯(lián)的邏輯分區(qū)的邏輯子處理器處于活動(dòng)狀態(tài)和操作狀態(tài),則物理子處理器510工作來(lái)處理數(shù)據(jù)。使用訪客OS不可訪問(wèn)的資源501中包含的通用寄存器521和I/O端口的部分522、以及訪客OS可訪問(wèn)的資源502中包含的I/O端口的部分523、本地存儲(chǔ)524和主存儲(chǔ)器525來(lái)進(jìn)行數(shù)據(jù)處理。
當(dāng)物理處理器處于數(shù)據(jù)處理操作狀態(tài)時(shí),I/O端口的部分523、本地存儲(chǔ)524等被映射到訪客OS的邏輯分區(qū)地址空間。訪客OS可以訪問(wèn)這些資源。
當(dāng)邏輯子處理器轉(zhuǎn)移到不活動(dòng)狀態(tài)時(shí),即,變?yōu)樵谝环峙涞轿锢硖幚砥鞯暮蜻x之外時(shí),將相應(yīng)環(huán)境存儲(chǔ)在邏輯子處理器的主存儲(chǔ)器525中的環(huán)境表531中。
由于存儲(chǔ)在主存儲(chǔ)器525中的邏輯子處理器的環(huán)境表531被映射到對(duì)應(yīng)于邏輯子處理器的訪客OS的邏輯分區(qū)地址空間中的區(qū)域,因此訪客OS可以訪問(wèn)環(huán)境表531。
下面將參照?qǐng)D8描述對(duì)應(yīng)于邏輯處理器的訪客OS的邏輯分區(qū)地址空間與物理地址空間之間的對(duì)應(yīng)關(guān)系。
圖8示出對(duì)應(yīng)于邏輯子處理器的訪客OS的邏輯分區(qū)地址空間560和物理地址空間570。物理地址空間570是對(duì)應(yīng)于主存儲(chǔ)器的物理空間。訪客OS只能訪問(wèn)映射到訪客OS的邏輯分區(qū)地址空間的物理地址空間。
如果應(yīng)用到訪客OS相關(guān)聯(lián)的邏輯分區(qū)的邏輯子處理器處于活動(dòng)狀態(tài)和操作狀態(tài),換句話說(shuō),如果物理子處理器處于數(shù)據(jù)處理操作狀態(tài),則I/O端口的區(qū)域和本地存儲(chǔ)區(qū)域561被映射到訪客OS的邏輯分區(qū)地址空間560。訪客OS可以訪問(wèn)這些資源。
如果應(yīng)用到訪客OS相關(guān)聯(lián)的邏輯分區(qū)的邏輯子處理器處于不活動(dòng)狀態(tài),換句話說(shuō),如果邏輯子處理器變?yōu)樵谝环峙涞轿锢硖幚砥鞯暮蜻x之外,則環(huán)境表562被映射到訪客OS的邏輯分區(qū)地址空間560,環(huán)境表562包含I/O端口的部分、本地存儲(chǔ)區(qū)域和不包含在I/O端口中的相關(guān)I/O端口的區(qū)域、和寄存器。訪客OS由此可以訪問(wèn)這些資源。
下面參照?qǐng)D9詳細(xì)描述環(huán)境存儲(chǔ)處理。圖9示出執(zhí)行環(huán)境存儲(chǔ)處理的控制OS 610和具有邏輯分區(qū)的訪客OS 620,在該邏輯分區(qū)上對(duì)應(yīng)于要存儲(chǔ)的環(huán)境的邏輯處理器執(zhí)行數(shù)據(jù)處理。
如前面參照?qǐng)D8所討論的,以下面的方式存儲(chǔ)環(huán)境,使得允許訪客OS在邏輯子處理器處于不活動(dòng)狀態(tài)時(shí)(換句話說(shuō),當(dāng)邏輯子處理器變?yōu)樵谝环峙涞轿锢硖幚砥鞯暮蜻x之外時(shí))引用環(huán)境。
如圖9所示,訪客OS 620輸出系統(tǒng)調(diào)用,請(qǐng)求控制OS 610中的系統(tǒng)調(diào)用處理器611執(zhí)行存儲(chǔ)處理來(lái)將環(huán)境存儲(chǔ)到訪客OS 620可讀取的位置。在接收到來(lái)自訪客OS 620的系統(tǒng)調(diào)用后,控制OS 610中的系統(tǒng)調(diào)用處理器611向邏輯處理器調(diào)度器612輸出邏輯子處理器的調(diào)度更新請(qǐng)求,并且請(qǐng)求環(huán)境管理器存儲(chǔ)邏輯處理器的環(huán)境。
作為響應(yīng),系統(tǒng)調(diào)用處理器611將邏輯子處理器從活動(dòng)狀態(tài)轉(zhuǎn)移到不活動(dòng)狀態(tài)。更具體地,系統(tǒng)調(diào)用處理器611將對(duì)應(yīng)于訪客OS 620中設(shè)置的邏輯分區(qū)的邏輯子處理器排除在到物理處理器的分配候選之外。邏輯子處理器然后轉(zhuǎn)移到不活動(dòng)狀態(tài)。
邏輯處理器調(diào)度器612請(qǐng)求環(huán)境管理器613存儲(chǔ)對(duì)應(yīng)于轉(zhuǎn)移到不活動(dòng)狀態(tài)的邏輯子處理器的環(huán)境。在從邏輯處理器調(diào)度器612接收到存儲(chǔ)和恢復(fù)邏輯子處理器的環(huán)境的請(qǐng)求后,環(huán)境管理器613執(zhí)行環(huán)境存儲(chǔ)和恢復(fù)。在檢查邏輯子處理器處于不活動(dòng)狀態(tài)之后,環(huán)境管理器613請(qǐng)求主存儲(chǔ)器管理器614將已經(jīng)存儲(chǔ)環(huán)境的環(huán)境表映射到邏輯分區(qū)地址空間。要存儲(chǔ)的環(huán)境包含邏輯子處理器的本地存儲(chǔ)的內(nèi)容、I/O端口的內(nèi)容和寄存器的內(nèi)容。
主存儲(chǔ)器管理器614將要存儲(chǔ)在作為物理地址空間的主存儲(chǔ)器中的環(huán)境以下面的方式映射到訪客OS 620的邏輯分區(qū)地址空間,使得允許訪客OS 620引用環(huán)境。主存儲(chǔ)器管理器614將訪客OS 620的邏輯分區(qū)地址空間中的環(huán)境訪問(wèn)地址通知給訪客OS 620。
響應(yīng)于通知的地址,訪客OS 620可以直接引用環(huán)境。訪客OS 620可以基于環(huán)境獲得資源。資源包括I/O端口的區(qū)域和本地存儲(chǔ)區(qū)域以及寄存器的內(nèi)容,每個(gè)可由主處理器直接訪問(wèn);和主處理器不能直接訪問(wèn)的I/O端口的內(nèi)容。訪客OS 620由此讀取和寫入這些條資源信息。
下面參照?qǐng)D10描述使用所存儲(chǔ)的環(huán)境的環(huán)境存儲(chǔ)處理和資源訪問(wèn)處理。
如圖10所示,訪客OS通過(guò)將邏輯子處理器從活動(dòng)狀態(tài)設(shè)置到不活動(dòng)狀態(tài)、然后將邏輯子處理器恢復(fù)到活動(dòng)狀態(tài),基于映射到邏輯分區(qū)地址空間的環(huán)境執(zhí)行資源訪問(wèn)處理。
在步驟S110中,訪客OS開(kāi)始邏輯子處理器的資源訪問(wèn)處理。在訪客OS中設(shè)置邏輯分區(qū),并且對(duì)對(duì)應(yīng)于所設(shè)置的邏輯分區(qū)的邏輯子處理器執(zhí)行資源訪問(wèn)處理。
在步驟S110中的處理包括圖10右手部分的步驟S111到S113。在步驟S111中,訪客OS執(zhí)行對(duì)控制OS的系統(tǒng)調(diào)用。在系統(tǒng)調(diào)用中,訪客OS請(qǐng)求控制OS來(lái)標(biāo)識(shí)邏輯子處理器并且將邏輯子處理器的環(huán)境存儲(chǔ)到訪客OS引用的位置。
控制OS響應(yīng)于來(lái)自訪客OS的系統(tǒng)調(diào)用,執(zhí)行步驟S112和S113。如圖10所示,控制OS執(zhí)行用粗線方框標(biāo)出的步驟S112、S113和S132。
在步驟S112中,控制OS將訪客OS請(qǐng)求的邏輯子處理器排除在分時(shí)共享目標(biāo)之外。更具體地,將邏輯子處理器排除在要分配到物理處理器的候選之外,然后設(shè)置到不活動(dòng)狀態(tài)。在步驟S113中,存儲(chǔ)子處理器的環(huán)境。要存儲(chǔ)的環(huán)境被映射到訪客OS的邏輯分區(qū)地址空間,使得允許訪客OS引用環(huán)境。要存儲(chǔ)的環(huán)境包括I/O端口的內(nèi)容、本地存儲(chǔ)的內(nèi)容和寄存器的內(nèi)容。
在步驟S120中,訪客OS從自己的邏輯分區(qū)地址空間訪問(wèn)環(huán)境,從而執(zhí)行包括獲取和重寫環(huán)境信息的資源訪問(wèn)處理。
在完成資源訪問(wèn)后,訪客OS在步驟S130中執(zhí)行邏輯子處理器的資源訪問(wèn)結(jié)束處理。
在步驟S130中的處理包括在圖10的右手部分示出的步驟S131到S132。在步驟S131中,訪客OS執(zhí)行對(duì)控制OS的系統(tǒng)調(diào)用。在系統(tǒng)調(diào)用中,訪客OS請(qǐng)求控制OS標(biāo)識(shí)邏輯子處理器并將邏輯子處理器設(shè)為分時(shí)共享的候選,即,將邏輯子處理器從不活動(dòng)狀態(tài)轉(zhuǎn)移到活動(dòng)狀態(tài)。
在從訪客OS接收到系統(tǒng)調(diào)用后,控制OS將訪客OS所請(qǐng)求的邏輯子處理器恢復(fù)回分時(shí)共享的候選。更具體地,將邏輯子處理器重設(shè)為要被分配到物理處理器的候選,并且將其轉(zhuǎn)移到活動(dòng)狀態(tài)。
由此將邏輯子處理器恢復(fù)回活動(dòng)狀態(tài),作為要被分配到物理處理器的候選。根據(jù)分時(shí)調(diào)度,使用物理處理器執(zhí)行數(shù)據(jù)處理。
根據(jù)本發(fā)明,可以引用不使用物理處理器執(zhí)行數(shù)據(jù)處理的邏輯子處理器中的環(huán)境。有效地執(zhí)行對(duì)邏輯子處理器的資源的訪問(wèn)。該配置不需要等待資源訪問(wèn)直到邏輯子處理器被分配到物理處理器。數(shù)據(jù)處理被有效執(zhí)行。
下面參照?qǐng)D11和12描述使用處于不活動(dòng)狀態(tài)的邏輯子處理器的環(huán)境的處理。
當(dāng)并行執(zhí)行使用邏輯子處理器的多個(gè)處理時(shí),由多個(gè)邏輯子處理器調(diào)度物理處理器。更具體地,多個(gè)邏輯子處理器以分時(shí)的方式使用物理處理器。
如圖11所示,邏輯子處理器(a)-(d)被分配到兩個(gè)物理處理器1和2來(lái)以分時(shí)的方式執(zhí)行處理。如果執(zhí)行對(duì)與訪客OS兼容的邏輯子處理器(a)的訪問(wèn),則邏輯子處理器(a)被分配到物理處理器(1)和(2)之一來(lái)以分時(shí)的方式執(zhí)行數(shù)據(jù)處理。如前面所討論的,I/P端口的區(qū)域的部分和本地存儲(chǔ)區(qū)域被映射到訪客OS的邏輯分區(qū)地址空間。訪客OS由此可以訪問(wèn)邏輯子處理器(a)及其資源。如果邏輯子處理器(a)沒(méi)有以分時(shí)的方式被分配到物理處理器(1)和(2)中的任何一個(gè),并且不執(zhí)行數(shù)據(jù)處理,則本地存儲(chǔ)區(qū)域和I/O端口的區(qū)域的部分不被映射到對(duì)應(yīng)于訪客OS的邏輯分區(qū)地址空間。
根據(jù)本發(fā)明,訪客OS向控制OS發(fā)出系統(tǒng)調(diào)用。邏輯子處理器(a)被設(shè)置到處于不活動(dòng)狀態(tài),即,被排除在分時(shí)共享候選之外。存儲(chǔ)環(huán)境,并且將環(huán)境表映射到對(duì)應(yīng)于訪客OS的邏輯分區(qū)地址空間。圖11的邏輯子處理器(a)701存儲(chǔ)訪客OS可以引用的環(huán)境。
如圖11所示,在時(shí)隙t1到t2期間,邏輯子處理器(a)被設(shè)置到處于不活動(dòng)狀態(tài)。將邏輯子處理器(a)的環(huán)境映射到對(duì)應(yīng)于訪客OS的邏輯分區(qū)地址空間,使得允許訪客OS引用環(huán)境。在時(shí)間t1,訪客OS向控制OS輸出系統(tǒng)調(diào)用,邏輯子處理器(a)從活動(dòng)狀態(tài)轉(zhuǎn)移到不活動(dòng)狀態(tài),并且環(huán)境被映射到對(duì)應(yīng)于訪客OS的邏輯分區(qū)地址空間。在時(shí)間t2,訪客OS向控制OS發(fā)出系統(tǒng)調(diào)用來(lái)將邏輯子處理器(a)從不活動(dòng)狀態(tài)轉(zhuǎn)移到活動(dòng)狀態(tài)。
在公知的技術(shù)中,在邏輯子處理器未被分配到物理處理器的期間內(nèi)不引用邏輯子處理器的環(huán)境,因此OS對(duì)邏輯子處理器的訪問(wèn)觸發(fā)錯(cuò)誤。更具體地,公知的裝置需要等待邏輯子處理器(a)被分配到物理處理器(1)和(2)之一的下一定時(shí)。相反,根據(jù)本發(fā)明的實(shí)施例,執(zhí)行對(duì)邏輯子處理器的訪問(wèn),而不需要等待邏輯子處理器到物理處理器的分配定時(shí)。
圖12示出允許立即執(zhí)行程序的本發(fā)明實(shí)施例。根據(jù)該實(shí)施例,邏輯子處理器被設(shè)為處于不活動(dòng)狀態(tài)。在環(huán)境引用使能期間內(nèi),向邏輯子處理器發(fā)出程序和程序開(kāi)始請(qǐng)求。當(dāng)邏輯子處理器被分配到物理處理器時(shí),使用物理處理器。
在時(shí)間t1,訪客OS向控制OS發(fā)出系統(tǒng)調(diào)用。邏輯子處理器(a)被設(shè)置到不活動(dòng)狀態(tài),換句話說(shuō),被排除在分時(shí)共享候選之外,存儲(chǔ)環(huán)境,并且將環(huán)境映射到對(duì)應(yīng)于訪客OS的邏輯分區(qū)地址空間。如圖12所示,在時(shí)隙t1-t2期間,訪客OS可以從對(duì)應(yīng)于訪客OS的邏輯分區(qū)地址空間中引用環(huán)境,即,可以訪問(wèn)邏輯子處理器(a)701。
在時(shí)隙t1到t2期間,訪客OS將數(shù)據(jù)處理程序發(fā)送給邏輯子處理器(a),然后輸出開(kāi)始請(qǐng)求到邏輯子處理器(a)。更具體地,訪客OS執(zhí)行程序數(shù)據(jù)到記錄在環(huán)境表上的邏輯子處理器(a)的本地存儲(chǔ)區(qū)域的加載處理。在處理結(jié)束之后,訪客OS在時(shí)間t2向控制OS發(fā)出系統(tǒng)調(diào)用。邏輯子處理器從不活動(dòng)狀態(tài)轉(zhuǎn)移到活動(dòng)狀態(tài)。在下一分時(shí)共享定時(shí)使用物理處理器期間,邏輯子處理器(a)立即執(zhí)行加載到本地存儲(chǔ)區(qū)域的程序。
在公知的技術(shù)中,在邏輯子處理器未被分配到物理處理器的期間內(nèi)不能引用邏輯子處理器的環(huán)境,并且邏輯子處理器對(duì)本地存儲(chǔ)區(qū)域的訪問(wèn)觸發(fā)錯(cuò)誤。更具體地,直到邏輯子處理器(a)被分配到物理處理器(1)和(2)之一的下一定時(shí),才能執(zhí)行程序加載處理。因此延遲了程序執(zhí)行定時(shí),并且降低了數(shù)據(jù)處理效率。相反,本發(fā)明提高了數(shù)據(jù)處理效率。
參照特定實(shí)施例已經(jīng)描述了本發(fā)明。在本發(fā)明的范圍內(nèi)對(duì)實(shí)施例的修改和改變對(duì)于本領(lǐng)域技術(shù)人員是清楚的。本發(fā)明的實(shí)施例僅僅是為了示例目的而討論的,并不意圖限制本發(fā)明的范圍。本發(fā)明的范圍僅由權(quán)利要求限定。
上面的系列步驟可以使用軟件、硬件或其組合執(zhí)行。如果使用軟件執(zhí)行系列步驟,則將構(gòu)成軟件的程序從記錄介質(zhì)或者通過(guò)網(wǎng)絡(luò)安裝到裝入專用硬件的計(jì)算機(jī)中的存儲(chǔ)器或者例如執(zhí)行各種程序的通用計(jì)算機(jī)上。
程序可以預(yù)先記錄到作為記錄介質(zhì)的硬盤和ROM(只讀存儲(chǔ)器)之一。程序也可以臨時(shí)或永久記錄到可移動(dòng)記錄介質(zhì)上。記錄介質(zhì)包括軟盤、CD-ROM(致密盤只讀存儲(chǔ)器)、MO(磁光)盤、DVD(數(shù)字多功能盤)、磁盤、半導(dǎo)體存儲(chǔ)器等。這樣的可移動(dòng)介質(zhì)可以在軟件包中提供。
可以將程序從可移動(dòng)記錄介質(zhì)安裝到計(jì)算機(jī)上??梢砸詿o(wú)線方式從下載站點(diǎn)將程序傳輸?shù)接?jì)算機(jī)。也可以通過(guò)諸如LAN(局域網(wǎng))和因特網(wǎng)之一的網(wǎng)絡(luò)以有線的方式傳輸程序。程序然后被計(jì)算機(jī)接收并安裝到計(jì)算機(jī)中的諸如硬盤之類的記錄介質(zhì)上。
按照所述的時(shí)間順序依次執(zhí)行本說(shuō)明書中所討論的處理步驟?;蛘?,可以并行或單獨(dú)地執(zhí)行步驟。在該說(shuō)明書中,系統(tǒng)是指由多個(gè)裝置構(gòu)成的邏輯系統(tǒng),并且每個(gè)裝置的元件不是必須包含在同一外殼內(nèi)。
工業(yè)適用性信息處理裝置通過(guò)將多個(gè)邏輯處理器以分時(shí)的方式分配到物理處理器來(lái)處理數(shù)據(jù),并且存儲(chǔ)沒(méi)有給其分配物理處理器的邏輯處理器的環(huán)境,將環(huán)境映射到邏輯處理器應(yīng)用到的邏輯分區(qū)的邏輯分區(qū)地址空間。即使在邏輯處理器未被分配到物理處理器的情況下也可以獲得邏輯處理器的環(huán)境。可以執(zhí)行對(duì)邏輯處理器的處理,包括訪問(wèn)和程序加載,而不等待邏輯處理器被分配到物理處理器。從而大大增加了數(shù)據(jù)處理效率。
根據(jù)本發(fā)明的實(shí)施例,除了寄存器的內(nèi)容外,環(huán)境表存儲(chǔ)公知的環(huán)境表中未存儲(chǔ)的內(nèi)容,如I/O端口和本地存儲(chǔ)區(qū)域的內(nèi)容。訪客OS引用寄存器的內(nèi)容、本地存儲(chǔ)的內(nèi)容和輸入-輸出端口的內(nèi)容,作為對(duì)應(yīng)于設(shè)置在不活動(dòng)狀態(tài)(對(duì)應(yīng)于處于不可使用狀態(tài)的物理處理器)的邏輯處理器的各種信息。訪客OS由此響應(yīng)于信息,根據(jù)資源訪問(wèn)處理數(shù)據(jù)。因此提高了數(shù)據(jù)處理效率。
權(quán)利要求
1.一種信息處理裝置,通過(guò)以分時(shí)的方式將多個(gè)邏輯處理器分配給一物理處理器來(lái)處理數(shù)據(jù),所述信息處理裝置包括環(huán)境管理單元,用于將未向其分配物理處理器的邏輯處理器的環(huán)境映射到該邏輯處理器被應(yīng)用到的邏輯分區(qū)的邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
2.如權(quán)利要求1所述的信息處理裝置,包括控制OS,用于以分時(shí)的方式將所述多個(gè)邏輯處理器分配給該物理處理器,和訪客OS,所述邏輯分區(qū)與其相關(guān)聯(lián),并且所述邏輯處理器被應(yīng)用到所述邏輯分區(qū),其中,控制OS基于從訪客OS對(duì)控制OS的系統(tǒng)調(diào)用,將被應(yīng)用到與訪客OS相關(guān)聯(lián)的邏輯分區(qū)的邏輯處理器的環(huán)境映射到與訪客OS相關(guān)聯(lián)的邏輯分區(qū)的邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
3.如權(quán)利要求2所述的信息處理裝置,其中,控制OS基于從訪客OS對(duì)控制OS的系統(tǒng)調(diào)用,將被應(yīng)用到與訪客OS相關(guān)聯(lián)的邏輯分區(qū)的邏輯處理器排除在作為給物理處理器的分配候選的分時(shí)處理之外,將該邏輯處理器的環(huán)境映射到邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
4.如權(quán)利要求2所述的信息處理裝置,其中,控制OS在分配邏輯處理器給物理處理器的活動(dòng)狀態(tài)和不分配邏輯處理器給物理處理器的不活動(dòng)狀態(tài)之間切換,并且其中控制OS基于從訪客OS對(duì)控制OS的系統(tǒng)調(diào)用,設(shè)置應(yīng)用訪客OS的邏輯處理器處于不活動(dòng)狀態(tài),將邏輯處理器的環(huán)境映射到邏輯分區(qū)地址空間,并且存儲(chǔ)該環(huán)境。
5.如權(quán)利要求4所述的信息處理裝置,其中,控制OS基于從訪客OS對(duì)控制OS的系統(tǒng)調(diào)用,將應(yīng)用訪客OS的邏輯處理器從不活動(dòng)狀態(tài)重設(shè)到活動(dòng)狀態(tài),來(lái)將邏輯處理器恢復(fù)回要分配給物理處理器的分配候選。
6.如權(quán)利要求1所述的信息處理裝置,其中,環(huán)境管理單元在邏輯處理器的寄存器、I/O端口和本地存儲(chǔ)中的至少一個(gè)中存儲(chǔ)邏輯處理器的環(huán)境。
7.一種處理控制方法,通過(guò)以分時(shí)的方式將多個(gè)邏輯處理器分配給一物理處理器來(lái)處理數(shù)據(jù),包括邏輯處理器調(diào)度步驟,用于將一邏輯處理器排除在要分配給物理處理器的分配候選之外;和環(huán)境存儲(chǔ)步驟,用于將排除在要分配給物理處理器的候選之外的邏輯處理器的環(huán)境映射到該邏輯處理器被應(yīng)用到的邏輯分區(qū)的邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
8.如權(quán)利要求7所述的處理控制方法,還包括系統(tǒng)調(diào)用輸出步驟,用于從訪客OS向控制OS輸出系統(tǒng)調(diào)用,其中,所述邏輯處理器調(diào)用步驟包括基于系統(tǒng)調(diào)用將邏輯處理器排除在要分配給物理處理器的分配候選之外,并且其中,所述環(huán)境存儲(chǔ)步驟包括基于系統(tǒng)調(diào)用,將被應(yīng)用到訪客OS與其相關(guān)聯(lián)的邏輯分區(qū)的邏輯處理器的環(huán)境映射到訪客OS與其相關(guān)聯(lián)的邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
9.如權(quán)利要求8所述的處理控制方法,其中,控制OS在分配邏輯處理器給物理處理器的活動(dòng)狀態(tài)和不分配邏輯處理器給物理處理器的不活動(dòng)狀態(tài)之間切換,并且其中控制OS基于從訪客OS對(duì)控制OS的系統(tǒng)調(diào)用,設(shè)置應(yīng)用訪客OS的邏輯處理器處于不活動(dòng)狀態(tài),將邏輯處理器的環(huán)境映射到邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
10.如權(quán)利要求9所述的處理控制方法,其中,控制OS通過(guò)基于從訪客OS對(duì)控制OS的系統(tǒng)調(diào)用,將應(yīng)用訪客OS的邏輯處理器從不活動(dòng)狀態(tài)重設(shè)到活動(dòng)狀態(tài),來(lái)將邏輯處理器恢復(fù)回要分配給物理處理器的分配候選。
11.一種用于執(zhí)行處理控制方法的計(jì)算機(jī)程序,該方法通過(guò)以分時(shí)的方式將多個(gè)邏輯處理器分配給一物理處理器來(lái)處理數(shù)據(jù),包括邏輯處理器調(diào)度步驟,用于將一邏輯處理器排除在要分配給物理處理器的分配候選之外;和環(huán)境存儲(chǔ)步驟,用于將排除在要分配給物理處理器的候選之外的邏輯處理器的環(huán)境映射到該邏輯處理器被應(yīng)用的邏輯分區(qū)的邏輯分區(qū)地址空間,然后存儲(chǔ)該邏輯處理器的環(huán)境。
全文摘要
提供一種利用改進(jìn)的環(huán)境存儲(chǔ)配置提高數(shù)據(jù)處理效率的裝置和方法。多個(gè)邏輯處理器通過(guò)分時(shí)與一物理處理器相關(guān)聯(lián),用來(lái)執(zhí)行數(shù)據(jù)處理。與物理處理器的處于非適用狀態(tài)的邏輯處理器對(duì)應(yīng)的環(huán)境表被映射到邏輯分區(qū)地址空間以便被存儲(chǔ)。使用該配置,當(dāng)邏輯處理器未分配給物理處理器時(shí),變?yōu)榭梢垣@得邏輯處理器的環(huán)境,并且可以訪問(wèn)邏輯處理器,并且在不等待物理處理器分配定時(shí)的情況下加載程序。這大大提高了數(shù)據(jù)處理效率。
文檔編號(hào)G06F9/46GK1906584SQ20058000183
公開(kāi)日2007年1月31日 申請(qǐng)日期2005年9月26日 優(yōu)先權(quán)日2004年9月29日
發(fā)明者橫田大輔 申請(qǐng)人:索尼株式會(huì)社