專利名稱:信息處理設(shè)備、中斷處理控制方法、以及計(jì)算機(jī)程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息處理設(shè)備、中斷進(jìn)程控制方法、以及計(jì)算機(jī)程序。更具體地,本發(fā)明涉及這樣的信息處理設(shè)備、中斷控制方法、以及計(jì)算機(jī)程序,其用于在包括多個(gè)OS的系統(tǒng)中設(shè)置用來(lái)控制中斷進(jìn)程的主操作系統(tǒng)(OS),以便減小整個(gè)系統(tǒng)的中斷屏蔽(mask)時(shí)間、改善中斷響應(yīng)、并實(shí)現(xiàn)有效率的數(shù)據(jù)處理。
背景技術(shù):
在單個(gè)系統(tǒng)中具有多個(gè)OS的多操作系統(tǒng)(OS)中,每個(gè)OS可執(zhí)行相應(yīng)的進(jìn)程,并且,以時(shí)序方式連續(xù)地切換諸如中央處理單元(CPU)和存儲(chǔ)器的系統(tǒng)共用的硬件。
例如,通過(guò)分區(qū)管理軟件程序來(lái)執(zhí)行多個(gè)OS的進(jìn)程(任務(wù))的調(diào)度。如果OS(α)和OS(β)在單個(gè)系統(tǒng)中共存,其中OS(α)的進(jìn)程為分區(qū)A,而OS(β)的進(jìn)程為分區(qū)B,那么,分區(qū)管理軟件程序確定分區(qū)A和分區(qū)B的調(diào)度,并通過(guò)基于所確定的調(diào)度而分配的硬件資源,執(zhí)行OS的進(jìn)程。
專利文檔1公開(kāi)了多OS系統(tǒng)的任務(wù)管理技術(shù)。根據(jù)該公開(kāi),通過(guò)被置于緊急進(jìn)程上的優(yōu)先級(jí),調(diào)度要由多個(gè)OS執(zhí)行的任務(wù)。
將處理數(shù)據(jù)的實(shí)體設(shè)置為分區(qū)。更具體地,設(shè)置邏輯分區(qū),作為在系統(tǒng)中共享資源的實(shí)體。對(duì)邏輯分區(qū)分配各種資源,如物理處理器的使用時(shí)間、虛擬地址空間、以及存儲(chǔ)器空間。隨后,使用所分配的資源來(lái)執(zhí)行進(jìn)程。在邏輯分區(qū)中設(shè)置與任意物理處理器相對(duì)應(yīng)的邏輯處理器,并基于邏輯處理器而執(zhí)行數(shù)據(jù)處理。邏輯處理器不總是以一一對(duì)應(yīng)的關(guān)系對(duì)應(yīng)于物理處理器。例如,單個(gè)邏輯處理器可對(duì)應(yīng)于多個(gè)物理處理器,并且,多個(gè)邏輯處理器可對(duì)應(yīng)于單個(gè)物理處理器。
如果使用邏輯處理器并行執(zhí)行多個(gè)進(jìn)程,則通過(guò)調(diào)度多個(gè)邏輯處理器使用物理處理器。更具體地,多個(gè)邏輯處理器以分時(shí)方式使用物理處理器。
在多OS中,限制了作為物理可用的處理器的硬件資源。當(dāng)前由一個(gè)OS使用的物理處理器不能由另一個(gè)OS使用。將處理器不能由另一個(gè)處理器使用的持續(xù)時(shí)間稱為中斷屏蔽周期。隨著中斷屏蔽周期被延長(zhǎng),減小了整個(gè)系統(tǒng)的效率。
日本未審查專利申請(qǐng)公開(kāi)No.2003-345612發(fā)明內(nèi)容[本發(fā)明要解決的問(wèn)題]由此,期望提供用于在包括多個(gè)OS的系統(tǒng)中設(shè)置用來(lái)控制中斷進(jìn)程的主OS的信息處理設(shè)備、中斷控制方法、以及計(jì)算機(jī)程序,以便減小整個(gè)系統(tǒng)的中斷屏蔽時(shí)間、改善中斷響應(yīng)、并實(shí)現(xiàn)有效率的數(shù)據(jù)處理。
根據(jù)本發(fā)明的一個(gè)方面,信息處理設(shè)備處理用于多個(gè)OS的數(shù)據(jù)。多個(gè)OS包括控制中斷進(jìn)程的主OS和副O(jiān)S。主OS存儲(chǔ)與副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息,并控制中斷進(jìn)程,以基于狀態(tài)信息,響應(yīng)于中斷的生成而進(jìn)行中斷進(jìn)程執(zhí)行和中斷進(jìn)程保留中的一個(gè)。
在本發(fā)明的一個(gè)實(shí)施例的信息處理設(shè)備中,主OS存儲(chǔ)與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息,并響應(yīng)于副O(jiān)S在中斷使能狀態(tài)和中斷禁用狀態(tài)之間的轉(zhuǎn)換,而恢復(fù)進(jìn)行中斷進(jìn)程執(zhí)行。
在本發(fā)明的一個(gè)實(shí)施例的信息處理設(shè)備中,副O(jiān)S向主OS通知與副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息,并且,主OS響應(yīng)于來(lái)自副O(jiān)S的通知而更新副O(jiān)S的狀態(tài)信息。
在本發(fā)明的一個(gè)實(shí)施例的信息處理設(shè)備中,主OS存儲(chǔ)中斷進(jìn)程的優(yōu)先級(jí)信息,并響應(yīng)于優(yōu)先級(jí)信息執(zhí)行中斷進(jìn)程。
在本發(fā)明的一個(gè)實(shí)施例的信息處理設(shè)備中,主OS基于包含副O(jiān)S的狀態(tài)信息、以及與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息的狀態(tài)表,而執(zhí)行狀態(tài)管理。如果生成為副O(jiān)S設(shè)計(jì)的中斷,并且主OS基于狀態(tài)表確定副O(jiān)S處于中斷禁用狀態(tài),則主OS在狀態(tài)表中將該中斷注冊(cè)為保留的中斷。如果生成為副O(jiān)S設(shè)計(jì)的中斷,并且主OS基于狀態(tài)表確定副O(jiān)S處于中斷使能狀態(tài),則以如下方式,主OS取決于在處理器上運(yùn)行的OS是主OS還是副O(jiān)S而執(zhí)行中斷控制(a)如果主OS正在運(yùn)行中,則主OS
(a1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,或(a2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程,并且(b)如果副O(jiān)S正在運(yùn)行中,則副O(jiān)S不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程。
在本發(fā)明的一個(gè)實(shí)施例的信息處理設(shè)備中,主OS基于包含副O(jiān)S的狀態(tài)信息、以及與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息的狀態(tài)表,而執(zhí)行狀態(tài)管理。如果生成為主OS設(shè)計(jì)的中斷,則以如下方式,主OS取決于在處理器上運(yùn)行的OS是主OS還是副O(jiān)S而執(zhí)行中斷控制(a)如果在主OS正在運(yùn)行中,則主OS不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程,并且(b)如果在副O(jiān)S正在運(yùn)行中,則副O(jiān)S(b1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,或(b2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程。
根據(jù)本發(fā)明的第二方面,用于在多個(gè)OS上執(zhí)行數(shù)據(jù)處理的中斷進(jìn)程控制方法包括以下步驟從除了主OS之外的副O(jiān)S接收與副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息;檢測(cè)中斷的生成;以及控制中斷進(jìn)程,以基于狀態(tài)信息,響應(yīng)于中斷的生成而進(jìn)行中斷進(jìn)程執(zhí)行和中斷進(jìn)程保留中的一個(gè)。
在本發(fā)明的一個(gè)實(shí)施例的中斷進(jìn)程控制方法中,主OS存儲(chǔ)與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息,并響應(yīng)于副O(jiān)S在中斷使能狀態(tài)和中斷禁用狀態(tài)之間的轉(zhuǎn)換,而恢復(fù)進(jìn)行中斷進(jìn)程執(zhí)行。
本發(fā)明的一個(gè)實(shí)施例的中斷進(jìn)程控制方法還可包括以下步驟向主OS通知與副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息;以及響應(yīng)于來(lái)自副O(jiān)S的通知而更新副O(jiān)S的狀態(tài)信息。
在本發(fā)明的一個(gè)實(shí)施例的中斷進(jìn)程控制方法中,主OS存儲(chǔ)中斷進(jìn)程的優(yōu)先級(jí)信息,并執(zhí)行響應(yīng)于優(yōu)先級(jí)信息的中斷進(jìn)程。
在本發(fā)明的一個(gè)實(shí)施例的中斷進(jìn)程控制方法中,主OS基于包含副O(jiān)S的狀態(tài)信息、以及與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息的狀態(tài)表,而執(zhí)行狀態(tài)管理。如果生成為副O(jiān)S設(shè)計(jì)的中斷,并且主OS基于狀態(tài)表確定副O(jiān)S處于中斷禁用狀態(tài),則主OS在狀態(tài)表中將該中斷注冊(cè)為保留的中斷。如果生成為副O(jiān)S設(shè)計(jì)的中斷,并且主OS基于狀態(tài)表確定副O(jiān)S處于中斷使能狀態(tài),則以如下方式,主OS取決于在處理器上運(yùn)行的OS是主OS還是副O(jiān)S而執(zhí)行中斷控制(a)如果主OS正在運(yùn)行中,則主OS(a1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,或(a2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程,并且(b)如果副O(jiān)S正在運(yùn)行中,則副O(jiān)S不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程。
在本發(fā)明的一個(gè)實(shí)施例的中斷進(jìn)程控制方法中,主OS基于包含副O(jiān)S的狀態(tài)信息、以及與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息的狀態(tài)表,而執(zhí)行狀態(tài)管理。如果生成為主OS設(shè)計(jì)的中斷,則以如下方式,主OS取決于在處理器上運(yùn)行的OS是主OS還是副O(jiān)S而執(zhí)行中斷控制(a)如果主OS正在運(yùn)行中,則主OS不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程,并且(b)如果副O(jiān)S正在運(yùn)行中,則副O(jiān)S(b1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,或(b2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程。
根據(jù)本發(fā)明的第三方面,用于在多個(gè)OS上的數(shù)據(jù)處理中執(zhí)行中斷進(jìn)程控制的計(jì)算機(jī)程序包括以下步驟從除了主OS之外的副O(jiān)S接收與副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息;檢測(cè)中斷的生成;以及控制中斷進(jìn)程,以基于狀態(tài)信息,響應(yīng)于中斷的生成而進(jìn)行中斷進(jìn)程執(zhí)行和中斷進(jìn)程保留中的一個(gè)。
以諸如CD、FD、或MO的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),或者例如網(wǎng)絡(luò)的通信介質(zhì)的方式,向執(zhí)行各種程序代碼的通用計(jì)算機(jī)系統(tǒng)提供本發(fā)明的一個(gè)實(shí)施例的計(jì)算機(jī)程序。通過(guò)以計(jì)算機(jī)可讀方式提供該計(jì)算機(jī)程序,計(jì)算機(jī)系統(tǒng)響應(yīng)于計(jì)算機(jī)程序執(zhí)行進(jìn)程。
從下面對(duì)本發(fā)明的描述和附圖中,本發(fā)明的這些和其它特征、以及優(yōu)點(diǎn)將變得清楚。在本發(fā)明的描述的上下文中,系統(tǒng)表示多個(gè)設(shè)備的邏輯集合,并且,不限于將元件裝在相同的機(jī)箱內(nèi)的設(shè)備。
根據(jù)本發(fā)明的實(shí)施例,在同時(shí)運(yùn)行多個(gè)OS的系統(tǒng)中設(shè)置執(zhí)行中斷進(jìn)程的主OS。利用執(zhí)行中斷控制進(jìn)程的主OS,減小了整個(gè)系統(tǒng)的屏蔽時(shí)間,改善了中斷響應(yīng),并有效地執(zhí)行數(shù)據(jù)處理。
根據(jù)本發(fā)明的實(shí)施例,設(shè)置執(zhí)行中斷進(jìn)程控制的主OS,并且,不將設(shè)置中斷屏蔽的權(quán)限轉(zhuǎn)交給除了主OS之外的副O(jiān)S。副O(jiān)S向主OS通知副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)。主OS控制副O(jiān)S的中斷屏蔽。此配置防止副O(jiān)S保留由于自身的屏蔽控制而造成的所需中斷進(jìn)程。根據(jù)主OS的意圖,而控制所有中斷進(jìn)程。由此,利用優(yōu)先級(jí)而執(zhí)行所需中斷進(jìn)程。
根據(jù)本發(fā)明的實(shí)施例,在主OS中設(shè)置副O(jiān)S中斷向量管理單元。通常,主OS管理副O(jiān)S的中斷向量區(qū)域。與由OS各自執(zhí)行的中斷向量管理不同,共享了中斷向量,并減小了存儲(chǔ)區(qū)域。
圖1是圖解本發(fā)明的一個(gè)實(shí)施例的信息處理設(shè)備的框圖。
圖2圖解了處理器模塊的結(jié)構(gòu)。
圖3圖解了根據(jù)本發(fā)明的一個(gè)實(shí)施例的信息處理設(shè)備的操作系統(tǒng)。
圖4圖解了將邏輯處理器以分時(shí)方式分配到物理處理器的分配進(jìn)程。
圖5是圖解根據(jù)本發(fā)明一個(gè)實(shí)施例的信息處理設(shè)備的主OS的功能圖。
圖6圖解了在本發(fā)明的一個(gè)實(shí)施例中,由主OS管理的列出OS狀態(tài)信息和中斷進(jìn)程狀態(tài)信息的狀態(tài)表。
圖7圖解了響應(yīng)于中斷的生成的副O(jiān)S的狀態(tài)和進(jìn)程序列。
圖8圖解了使用處理器執(zhí)行進(jìn)程的OS(正在運(yùn)行中的OS)、中斷的優(yōu)先級(jí)(高和低優(yōu)先級(jí))、中斷目標(biāo)OS、以及中斷目標(biāo)OS的中斷許可狀態(tài)的關(guān)系的列表。
具體實(shí)施例方式
下面,通過(guò)參照附圖描述根據(jù)本發(fā)明的實(shí)施例的信息處理設(shè)備、中斷進(jìn)程控制方法、以及計(jì)算機(jī)程序。
下面,通過(guò)參照?qǐng)D1描述本發(fā)明的一個(gè)實(shí)施例的信息處理設(shè)備的硬件結(jié)構(gòu)。處理器模塊101包括多個(gè)處理單元,并根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(ROM)104和HDD 123中的各種程序(包括操作系統(tǒng)(OS)和在OS上運(yùn)行的應(yīng)用程序)而處理數(shù)據(jù)。后面將通過(guò)參照?qǐng)D2描述處理器模塊101。
響應(yīng)于經(jīng)由處理器模塊101輸入的命令,例如,圖形引擎102生成要被顯示在形成輸出單元122的顯示器的屏幕上的數(shù)據(jù),執(zhí)行3D繪圖進(jìn)程。主存儲(chǔ)器(DRAM)103存儲(chǔ)由處理器模塊101執(zhí)行的程序、以及在執(zhí)行程序的過(guò)程中變化的參數(shù)。這些元件經(jīng)由包括CPU總線的主機(jī)總線111互連。
主機(jī)總線111經(jīng)由橋105連接到外部總線112,如PCI(外圍組件互連/接口)總線。橋105控制主機(jī)總線111、外部總線112、控制器106、存儲(chǔ)卡107和其它裝置之間的數(shù)據(jù)輸入和輸出。
輸入單元121將信息輸入到由用戶操作的輸入裝置,如鍵盤和定點(diǎn)裝置。輸出單元122包括例如液晶顯示器和CRT(陰極射線管)中的一個(gè)的圖像輸出單元、以及例如揚(yáng)聲器的音頻輸出裝置。
HDD(硬盤驅(qū)動(dòng)器)123驅(qū)動(dòng)在其內(nèi)加載的硬盤,由此,記錄或回放要由處理器模塊101執(zhí)行的程序、以及信息。
驅(qū)動(dòng)器124讀取存儲(chǔ)在諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器等的被加載的可移動(dòng)記錄介質(zhì)127中的數(shù)據(jù)和程序,并經(jīng)由接口113、外部總線112、橋105、以及主機(jī)總線111,將數(shù)據(jù)和程序提供到主存儲(chǔ)器(DRAM)103。
連接端口125連接到外部裝置128,并且,可包括USB、IEEE 1394總線等。連接端口125經(jīng)由接口113、外部總線112、橋105、以及主機(jī)總線111連接到處理器模塊101。連接到網(wǎng)絡(luò)的通信單元126傳送從HDD 123等提供的數(shù)據(jù),并從外部接收數(shù)據(jù)。
下面,通過(guò)參照?qǐng)D2描述處理器模塊的結(jié)構(gòu)。如所示出的,處理器模塊200包括主處理器組201,其包括多個(gè)主處理器單元;以及多個(gè)副處理器組202-20n,其各自包括多個(gè)副處理器單元。每個(gè)組還包括存儲(chǔ)控制器和次級(jí)高速緩沖存儲(chǔ)器。例如,各自包括8個(gè)處理器單元的處理器組201-20n經(jīng)由交叉臂(cross-bar)架構(gòu)和分組交換網(wǎng)絡(luò)中的一個(gè)而連接。響應(yīng)于主處理器組201的主處理器的命令,選擇多個(gè)副處理器組202-20n中的至少一個(gè)副處理器來(lái)執(zhí)行預(yù)定程序。
描述了處理器模塊的結(jié)構(gòu)。每個(gè)處理器組中的存儲(chǔ)流控制器控制對(duì)圖1的主存儲(chǔ)器103的數(shù)據(jù)輸入和數(shù)據(jù)輸出。次級(jí)高速緩沖存儲(chǔ)器用作在每個(gè)處理器組中處理數(shù)據(jù)的存儲(chǔ)區(qū)域。
下面,通過(guò)參照?qǐng)D3描述本發(fā)明的一個(gè)實(shí)施例的信息處理設(shè)備的操作系統(tǒng)(OS)。多OS信息處理設(shè)備具有以如圖3所示的邏輯分層結(jié)構(gòu)的方式而配置的多個(gè)OS。
如圖3所示,在較低層上配置主OS 301。在較高層上配置多個(gè)副O(jiān)S 302、303、以及304。將客戶(guest)副O(jiān)S 302和303和副系統(tǒng)控制OS 304設(shè)為副O(jiān)S。連同系統(tǒng)控制OS 304一起,主OS 301形成邏輯分區(qū),作為由通過(guò)參照?qǐng)D1和2討論的處理器模塊101執(zhí)行的每個(gè)進(jìn)程的執(zhí)行單元,并將系統(tǒng)硬件資源(例如,作為計(jì)算資源的主處理器、副處理器、存儲(chǔ)器以及裝置)分配給每個(gè)邏輯分區(qū)。
作為副O(jiān)S的客戶OS 302和303為游戲(gaming)OS、Windows、Linux等,并在主OS 301的控制下操作。盡管在圖3中僅示出了2個(gè)客戶OS 302和303,但客戶OS的數(shù)目不限于2。
客戶OS 302和303在由主OS 301和系統(tǒng)控制OS 304設(shè)置的邏輯分區(qū)內(nèi)操作??蛻鬙S 302和303使用各自被分配給邏輯分區(qū)的硬件資源,如主處理器、副處理器、存儲(chǔ)器以及裝置來(lái)處理多個(gè)數(shù)據(jù)。
客戶OS(a)302使用被分配給由控制OS 301和系統(tǒng)控制OS 304設(shè)置的邏輯分區(qū)2的、包括主處理器、副處理器、存儲(chǔ)器以及裝置的硬件裝置,由此,執(zhí)行與客戶OS(a)302相對(duì)應(yīng)的應(yīng)用程序305??蛻鬙S(b)303使用被分配給邏輯分區(qū)“n”的、包括主處理器、副處理器、存儲(chǔ)器以及裝置的硬件資源,由此,執(zhí)行與客戶OS(b)303相對(duì)應(yīng)的應(yīng)用程序306。主OS 301提供執(zhí)行客戶OS所需的客戶OS編程接口。
作為副O(jiān)S中的一個(gè)的系統(tǒng)控制OS 304生成包含邏輯分區(qū)管理程序的系統(tǒng)控制程序307,并連同主OS 301執(zhí)行響應(yīng)于系統(tǒng)控制程序307的操作控制。系統(tǒng)控制程序307使用系統(tǒng)控制程序編程接口控制系統(tǒng)策略。由控制OS 301向應(yīng)用程序306提供系統(tǒng)控制程序編程接口。例如,系統(tǒng)控制程序307允許靈活的定制,例如,設(shè)置資源分配的上限。
系統(tǒng)控制程序307使用系統(tǒng)控制程序編程接口來(lái)控制系統(tǒng)的行為。例如,系統(tǒng)控制程序307產(chǎn)生新的邏輯分區(qū),并在該邏輯分區(qū)上啟動(dòng)新的客戶OS。在運(yùn)行多個(gè)客戶OS的系統(tǒng)中,以在系統(tǒng)控制程序307中編程的次序而初始化客戶OS。系統(tǒng)控制程序307可在由主OS 301接收之前接收并檢查從客戶OS發(fā)出的資源分配請(qǐng)求,修改系統(tǒng)策略,并拒絕請(qǐng)求本身。這樣,無(wú)特定的客戶OS獨(dú)占資源。其中實(shí)現(xiàn)系統(tǒng)策略的程序是系統(tǒng)控制程序。
主OS 301將特定邏輯分區(qū)(例如,邏輯分區(qū)1)分配給系統(tǒng)控制OS 304。主OS 301以管理程序(hypervisor)模式操作??蛻鬙S以監(jiān)控程序(supervisor)模式操作。系統(tǒng)控制OS 304和應(yīng)用程序以問(wèn)題(problem)模式(用戶模式)操作。
邏輯分區(qū)是在系統(tǒng)中接收資源分配的實(shí)體。例如,將主存儲(chǔ)器103分區(qū)為幾個(gè)區(qū)域(見(jiàn)圖1),并且,對(duì)每個(gè)邏輯分區(qū)賦予使用相應(yīng)的區(qū)域的權(quán)限。下面列出了分配給邏輯分區(qū)的資源的類型。
a)物理處理器單位使用時(shí)間b)虛擬地址空間c)可由在邏輯分區(qū)中運(yùn)行的程序訪問(wèn)的存儲(chǔ)器d)由控制OS使用以管理邏輯分區(qū)的存儲(chǔ)器e)事件端口f)使用裝置的權(quán)限g)高速緩沖存儲(chǔ)器分區(qū)h)使用總線的權(quán)限如先前所討論的,每個(gè)OS在邏輯分區(qū)內(nèi)操作。OS獨(dú)占分配給邏輯分區(qū)的資源,以處理各種數(shù)據(jù)。在很多情況中,基于每個(gè)客戶OS,為在系統(tǒng)上起作用的客戶OS產(chǎn)生一個(gè)分區(qū)。對(duì)每個(gè)邏輯分區(qū)分配唯一標(biāo)識(shí)符。系統(tǒng)控制OS 304通過(guò)將作為邏輯分區(qū)管理信息而生成的系統(tǒng)控制程序與標(biāo)識(shí)符相關(guān)聯(lián),而管理系統(tǒng)控制程序。
由主OS 301和系統(tǒng)控制OS 304生成邏輯分區(qū)。緊接在產(chǎn)生之后,邏輯分區(qū)不具有資源,并對(duì)可用資源沒(méi)有設(shè)置限制。邏輯分區(qū)采用兩個(gè)狀態(tài)(即,活動(dòng)狀態(tài)和結(jié)束狀態(tài))中的一個(gè)。緊接在產(chǎn)生之后的邏輯分區(qū)采用活動(dòng)狀態(tài)。邏輯分區(qū)響應(yīng)于在邏輯分區(qū)中操作的客戶OS的請(qǐng)求,而轉(zhuǎn)換到結(jié)束狀態(tài),并停止分配給邏輯分區(qū)的所有邏輯處理器。
邏輯處理器是分配給邏輯分區(qū)的處理器,并對(duì)應(yīng)于任意物理處理器,即,圖2的處理器組內(nèi)的處理器。邏輯處理器和物理處理器不總是以一一對(duì)應(yīng)方式彼此相關(guān)。單個(gè)邏輯處理器可對(duì)應(yīng)于多個(gè)物理處理器??商鎿Q地,多個(gè)邏輯處理器可對(duì)應(yīng)于單個(gè)物理處理器。由主OS 301確定邏輯處理器和物理處理器之間的對(duì)應(yīng)關(guān)系。
主OS 301具有限制每個(gè)邏輯分區(qū)可用的資源量的功能??蓪?duì)客戶OS 302和客戶OS 303在不與系統(tǒng)控制OS 304通信的情況下能夠分配和釋放的資源的使用量設(shè)置限制。
主OS提供具有以物理副處理器(作為計(jì)算資源)的抽象形式的邏輯副處理器的邏輯分區(qū)。如先前所討論的,物理副處理器不是以一一對(duì)應(yīng)方式與邏輯副處理器相關(guān),并且,不需要物理副處理器在數(shù)目上與邏輯副處理器相同。根據(jù)需要,控制OS可由此使單個(gè)物理副處理器對(duì)應(yīng)于多個(gè)邏輯副處理器。
如果邏輯副處理器的數(shù)目大于物理副處理器的數(shù)目,則控制OS以分時(shí)方式使用物理副處理器。邏輯副處理器可重復(fù)地停止,并隨后恢復(fù)操作。副O(jiān)S可監(jiān)控這樣的改變。
將處理數(shù)據(jù)的實(shí)體設(shè)置為分區(qū)。更具體地,將邏輯分區(qū)設(shè)置為在系統(tǒng)中共享資源的實(shí)體。對(duì)邏輯分區(qū)分配各種資源,如物理處理器的使用時(shí)間、虛擬地址空間、以及存儲(chǔ)器空間。隨后,使用所分配的資源來(lái)執(zhí)行進(jìn)程。在邏輯分區(qū)中設(shè)置與任意物理處理器相對(duì)應(yīng)的邏輯處理器,并基于邏輯處理器而執(zhí)行數(shù)據(jù)處理。邏輯處理器不總是基于一一對(duì)應(yīng)的關(guān)系而對(duì)應(yīng)于物理處理器。例如,單個(gè)邏輯處理器可對(duì)應(yīng)于多個(gè)物理處理器,并且,多個(gè)邏輯處理器可對(duì)應(yīng)于單個(gè)物理處理器。
如果使用邏輯處理器并行執(zhí)行多個(gè)進(jìn)程,則通過(guò)多個(gè)邏輯處理器調(diào)度物理處理器。更具體地,多個(gè)邏輯處理器以分時(shí)方式使用物理處理器。
參照?qǐng)D4,討論如何以分時(shí)方式來(lái)使用物理處理器。如圖4(a)所示,將與主OS和副O(jiān)S中的一個(gè)相對(duì)應(yīng)的單個(gè)邏輯處理器分配給單個(gè)物理處理器。邏輯處理器(a)獨(dú)占物理處理器(1),而邏輯處理器(b)獨(dú)占物理處理器2。
如圖4(b)所示,被分配到單個(gè)物理處理器的多個(gè)邏輯處理器以分時(shí)方式執(zhí)行進(jìn)程。物理處理器1以邏輯處理器c→a→c→a→b→c→b的次序而按照時(shí)間被共享。執(zhí)行與主OS和副O(jiān)S中的一個(gè)的進(jìn)程相對(duì)應(yīng)的每個(gè)邏輯處理器。物理處理器2以邏輯處理器b→d→b→d→c→d→a的次序而按照時(shí)間被共享。執(zhí)行與主OS和副O(jiān)S中的一個(gè)的進(jìn)程相對(duì)應(yīng)的每個(gè)邏輯處理器。
本發(fā)明的一個(gè)實(shí)施例的信息處理設(shè)備是使用多個(gè)OS的多OS系統(tǒng)。如先前通過(guò)參照?qǐng)D3而討論的,將多個(gè)OS劃分為單個(gè)主OS和余下的副O(jiān)S。下面描述本發(fā)明的一個(gè)實(shí)施例的信息處理設(shè)備的主OS和副O(jiān)S的功能和中斷進(jìn)程控制。
在中斷進(jìn)程中,諸如輸入和輸出裝置或系統(tǒng)時(shí)鐘的裝置異步中斷CPU。為接受中斷并執(zhí)行中斷進(jìn)程,作為物理處理器的CPU在當(dāng)前進(jìn)程的中間掛起當(dāng)前的進(jìn)程,執(zhí)行中斷進(jìn)程,并隨后在中斷進(jìn)程完成之后繼續(xù)進(jìn)行原始進(jìn)程。在中斷進(jìn)程中,作為上下文表而產(chǎn)生與所保留的進(jìn)程相對(duì)應(yīng)的硬件狀態(tài)信息,并根據(jù)需要而將其存儲(chǔ)在存儲(chǔ)器中。在完成中斷進(jìn)程之后,CPU通過(guò)復(fù)原上下文而恢復(fù)硬件狀態(tài),并根據(jù)保留而繼續(xù)進(jìn)行進(jìn)程。
下面列出了主OS和副O(jiān)S的中斷進(jìn)程控制中的功能(1)主OS管理競(jìng)爭(zhēng)資源,如設(shè)置中斷屏蔽和中斷向量。
(2)主OS記錄處理數(shù)據(jù)的OS(包括主OS)的狀態(tài)信息。
(3)代替直接控制中斷屏蔽寄存器,副O(jiān)S向主OS通知副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)。
(4)主OS接收所有中斷請(qǐng)求,并僅在副O(jiān)S可中斷且可操作時(shí)傳送所需的中斷。
通過(guò)這些功能,(1)在從副O(jiān)S屏蔽所有中斷的周期中,清空所有中斷屏蔽。
(2)由于共享中斷向量,產(chǎn)生主OS和副O(jiān)S的集成圖像,以減小使用的存儲(chǔ)器。
下面,通過(guò)參照?qǐng)D5描述主OS的功能。圖5是圖解中斷進(jìn)程控制中的主OS 510的功能的框圖。
主OS 510包括中斷優(yōu)先級(jí)管理器511、副O(jiān)S中斷管理器512、副O(jiān)S中斷向量管理器513、中斷因子注冊(cè)管理器514、執(zhí)行OS狀態(tài)管理器515、中斷傳遞器516、執(zhí)行OS切換控制器517、中斷進(jìn)程結(jié)束通知器518、以及中斷保留控制器519。下面描述每個(gè)元件的進(jìn)程。
中斷優(yōu)先級(jí)管理器511基于與中斷因子相對(duì)應(yīng)的優(yōu)先級(jí)而執(zhí)行中斷管理。中斷進(jìn)程包括為主OS設(shè)計(jì)的中斷進(jìn)程、以及為副O(jiān)S設(shè)計(jì)的中斷進(jìn)程,并對(duì)每個(gè)中斷設(shè)置優(yōu)先級(jí)。在設(shè)置優(yōu)先級(jí)時(shí),利用低級(jí)和高級(jí)的二級(jí)優(yōu)先級(jí)、或者三級(jí)或更多的多級(jí)優(yōu)先級(jí),對(duì)每個(gè)中斷進(jìn)程設(shè)置優(yōu)先級(jí)。中斷優(yōu)先級(jí)管理器511確定與根據(jù)響應(yīng)于中斷因子而設(shè)置的優(yōu)先級(jí)所引起的中斷530相對(duì)應(yīng)的進(jìn)程。
副O(jiān)S中斷管理器512管理副O(jiān)S的中斷使能狀態(tài)和中斷禁用狀態(tài)。如先前所討論的,副O(jiān)S 520向主OS 510通知副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)。響應(yīng)于來(lái)自副O(jiān)S 520的通知,主OS 510中的副O(jiān)S中斷管理器512存儲(chǔ)與每個(gè)副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的管理信息。
副O(jiān)S中斷管理器512將每個(gè)副O(jiān)S的狀態(tài)注冊(cè)到狀態(tài)表上,所述狀態(tài)表列出與每個(gè)副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)。例如,狀態(tài)表包含中斷屏蔽寄存器,其將中斷使能狀態(tài)存儲(chǔ)為(0),而將中斷禁用狀態(tài)存儲(chǔ)為(1)。副O(jiān)S中斷管理器512基于中斷屏蔽寄存器管理每個(gè)副O(jiān)S的狀態(tài)。如果隨同處于中斷禁用狀態(tài)(即,處于屏蔽狀態(tài))的副O(jiān)S而出現(xiàn)了中斷請(qǐng)求,則該中斷請(qǐng)求必須等待。隨著副O(jiān)S處于中斷禁用狀態(tài)(即,處于屏蔽釋放狀態(tài)),允許響應(yīng)于中斷請(qǐng)求的中斷進(jìn)程。
圖5圖解了單個(gè)副O(jiān)S 520。如先前通過(guò)參照?qǐng)D3而討論的,信息處理設(shè)備可容納多個(gè)副O(jiān)S。主OS 510中的副O(jiān)S中斷管理器512存儲(chǔ)與副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的每個(gè)副O(jiān)S的管理信息,并響應(yīng)于每個(gè)副O(jiān)S的狀態(tài)而執(zhí)行中斷進(jìn)程控制。
圖6圖解了存儲(chǔ)為副O(jiān)S中斷管理器512的管理信息的狀態(tài)表。如圖6所示,狀態(tài)表以相關(guān)形式列出了每個(gè)OS的狀態(tài)的數(shù)據(jù),即,與副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息、與所保留的中斷相關(guān)的信息、以及與進(jìn)行中的中斷進(jìn)程相關(guān)的信息。一旦從每個(gè)副O(jiān)S接收到狀態(tài)通知,副O(jiān)S中斷管理器512便響應(yīng)于所接收的信息而更新?tīng)顟B(tài)表。響應(yīng)于中斷進(jìn)程的出現(xiàn)、保留、傳遞和完成,副O(jiān)S中斷管理器512在狀態(tài)表中注冊(cè)與每個(gè)中斷被保留還是正在進(jìn)行有關(guān)的狀態(tài)。如果已完成了對(duì)應(yīng)的中斷進(jìn)程,則副O(jiān)S中斷管理器512從狀態(tài)表中刪除中斷。
副O(jiān)S中斷向量管理器513管理每個(gè)副O(jiān)S中的中斷向量區(qū)域。中斷向量是由中斷因子定義的存儲(chǔ)區(qū)域表,并由中斷進(jìn)程例程的起始地址組成。接收中斷的處理器檢查來(lái)自存儲(chǔ)區(qū)域的中斷句柄的地址,并跳轉(zhuǎn)到該地址,以開(kāi)始中斷進(jìn)程。副O(jiān)S中斷向量管理器513管理副O(jiān)S的中斷向量區(qū)域。
中斷因子注冊(cè)管理器514存儲(chǔ)并管理為主OS設(shè)計(jì)的中斷因子和為副O(jiān)S設(shè)計(jì)的中斷因子的注冊(cè)信息??捎蒓S所使用的I/O裝置來(lái)修改主OS和副O(jiān)S的中斷因子。中斷因子注冊(cè)管理器514向每個(gè)OS注冊(cè)和刪除中斷因子。中斷因子包括來(lái)自諸如鍵盤或鼠標(biāo)的輸入單元的中斷進(jìn)程、以及來(lái)自網(wǎng)絡(luò)接口的數(shù)據(jù)輸入。
執(zhí)行OS狀態(tài)管理器515記錄并管理在物理處理器上執(zhí)行數(shù)據(jù)處理的OS的信息。
中斷傳遞器516執(zhí)行中斷傳遞進(jìn)程,即,確定要向哪個(gè)處理器或處理器組通知每個(gè)中斷請(qǐng)求,以執(zhí)行對(duì)應(yīng)的中斷進(jìn)程。
執(zhí)行OS切換控制器517控制切換要由處理器執(zhí)行的各種數(shù)據(jù)處理(包括任務(wù))。如先前所討論的,將邏輯處理器分配到物理處理器。OS按照時(shí)間共享至少一個(gè)處理器,以處理數(shù)據(jù)。OS切換控制器517根據(jù)OS的處理器使用調(diào)度而切換OS。
中斷進(jìn)程結(jié)束通知器518響應(yīng)于中斷請(qǐng)求而監(jiān)控中斷進(jìn)程的執(zhí)行狀態(tài),并向已執(zhí)行被中斷進(jìn)程掛起的進(jìn)程的OS通知中斷進(jìn)程的結(jié)束。當(dāng)完成中斷進(jìn)程時(shí),恢復(fù)與掛起的進(jìn)程相對(duì)應(yīng)的上下文,恢復(fù)掛起的進(jìn)程的硬件狀態(tài),并隨后繼續(xù)進(jìn)行原始進(jìn)程。
中斷保留控制器519執(zhí)行中斷保留控制進(jìn)程。如先前所討論的,在中斷禁用狀態(tài)中(即,在屏蔽狀態(tài)中)出現(xiàn)的中斷請(qǐng)求必須等待,直到釋放屏蔽為止。中斷保留控制器519管理待用狀態(tài)上的保留中斷。中斷保留控制器519更新其內(nèi)設(shè)置了中斷保留信息的狀態(tài)表,并且,如果在狀態(tài)表中注冊(cè)了所保留的中斷,則向副O(jiān)S 520通知所保留的中斷。
下面,通過(guò)參照?qǐng)D7而描述主OS響應(yīng)于副O(jiān)S的兩個(gè)狀態(tài),即“中斷使能狀態(tài)”和“中斷禁用狀態(tài)”執(zhí)行的中斷進(jìn)程控制和狀態(tài)轉(zhuǎn)換。
如圖7所示,步驟S101-S104示出了信息處理設(shè)備中的單個(gè)副O(jiān)S的四個(gè)狀態(tài)如下?tīng)顟B(tài)S101副O(jiān)S啟動(dòng)。
狀態(tài)S102初始化副O(jiān)S。
狀態(tài)S103將副O(jiān)S設(shè)置為處于中斷禁用狀態(tài)。
狀態(tài)S104將副O(jiān)S設(shè)置為處于中斷使能狀態(tài)。
其中,隨著副O(jiān)S處于以下?tīng)顟B(tài)中的一個(gè)狀態(tài)S103中斷禁用狀態(tài),以及狀態(tài)S104中斷使能狀態(tài),而發(fā)生以下事件中的一個(gè)事件I201主OS的中斷,或事件I202副O(jiān)S的中斷。
下面描述響應(yīng)于副O(jiān)S的四個(gè)狀態(tài)S101-S104之間的每個(gè)轉(zhuǎn)換的進(jìn)程序列1-9。當(dāng)事件I201(即,主OS的中斷)和事件I202(即,副O(jiān)S的中斷)中的一個(gè)發(fā)生時(shí),執(zhí)行進(jìn)程序列1至9中的一個(gè)。
在從狀態(tài)S101(副O(jiān)S啟動(dòng))到狀態(tài)S102(副O(jiān)S的初始化的完成)的狀態(tài)轉(zhuǎn)換中執(zhí)行序列1。
在此狀態(tài)轉(zhuǎn)換中,副O(jiān)S向主OS通知由副O(jiān)S使用的中斷因子。作為對(duì)圖5的中斷因子注冊(cè)管理器514的通知步驟而執(zhí)行此步驟。
主OS的中斷因子注冊(cè)管理器514檢查由副O(jiān)S通知的中斷因子,并將所允許的中斷因子注冊(cè)為副O(jiān)S中斷因子。
響應(yīng)于從步驟S102(副O(jiān)S的初始化的完成)到步驟S103(副O(jiān)S的中斷禁用狀態(tài))的狀態(tài)轉(zhuǎn)換而執(zhí)行序列2。
在轉(zhuǎn)換期間,副O(jiān)S向主OS通知副O(jiān)S處于中斷禁用狀態(tài)。作為對(duì)圖5的副O(jiān)S中斷管理器512的通知步驟而執(zhí)行此步驟。
一旦從副O(jiān)S接收到副O(jiān)S處于中斷禁用狀態(tài)的通知,主OS的副O(jiān)S中斷管理器512便在列出屏蔽狀態(tài)的狀態(tài)表(見(jiàn)圖6)中注冊(cè)副O(jiān)S的中斷禁用狀態(tài)。通過(guò)控制中斷屏蔽寄存器-其中將中斷禁用狀態(tài)設(shè)置為(0),而將中斷使能狀態(tài)設(shè)置為(1)-副O(jiān)S中斷管理器512設(shè)置用來(lái)指示副O(jiān)S處于中斷禁用狀態(tài)的(屏蔽)狀態(tài)。如果在此狀態(tài)下輸入了中斷請(qǐng)求,則該中斷請(qǐng)求必須等待。
響應(yīng)于從狀態(tài)S102(副O(jiān)S的初始化的完成)到狀態(tài)S104(副O(jiān)S的中斷使能狀態(tài))的狀態(tài)轉(zhuǎn)換而執(zhí)行序列3。
在該狀態(tài)轉(zhuǎn)換期間,副O(jiān)S向主OS通知副O(jiān)S處于中斷使能狀態(tài)。作為對(duì)圖5的副O(jiān)S中斷管理器512的通知步驟而執(zhí)行該步驟。
一旦從副O(jiān)S接收到副O(jiān)S處于中斷使能狀態(tài)的通知,主OS中的副O(jiān)S中斷管理器512便在列出屏蔽狀態(tài)的狀態(tài)表(見(jiàn)圖6)中注冊(cè)副O(jiān)S的中斷使能狀態(tài)。通過(guò)控制中斷屏蔽寄存器-其中將中斷禁用狀態(tài)設(shè)置為(0),而將中斷使能狀態(tài)設(shè)置為(1)-副O(jiān)S中斷管理器512設(shè)置用來(lái)指示副O(jiān)S處于中斷使能狀態(tài)的(屏蔽釋放)狀態(tài)。如果在此狀態(tài)下輸入了中斷請(qǐng)求,則在不等待的情況下執(zhí)行該中斷請(qǐng)求。
主OS在狀態(tài)表中檢查當(dāng)前保留的中斷的存在。狀態(tài)表列出與每個(gè)OS處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的OS狀態(tài)信息、以及中斷保留狀態(tài)信息。圖5的中斷保留控制器519將中斷保留狀態(tài)信息寫入到狀態(tài)表。如果存在保留的中斷,則中斷保留控制器519向副O(jiān)S通知所保留的中斷。
響應(yīng)于從狀態(tài)S104(副O(jiān)S中斷使能狀態(tài))到狀態(tài)S103(副O(jiān)S中斷禁用狀態(tài))的狀態(tài)轉(zhuǎn)換而執(zhí)行序列4。
在該狀態(tài)轉(zhuǎn)換期間,副O(jiān)S向主OS通知副O(jiān)S從中斷使能狀態(tài)轉(zhuǎn)換為中斷禁用狀態(tài)。作為對(duì)圖5的副O(jiān)S中斷管理器512的通知步驟而執(zhí)行此步驟。
一旦從副O(jiān)S接收到副O(jiān)S從中斷使能狀態(tài)轉(zhuǎn)換為中斷禁用狀態(tài)的通知,主OS中的副O(jiān)S中斷管理器512便更新列出屏蔽狀態(tài)的狀態(tài)表(見(jiàn)圖6),即,將副O(jiān)S的狀態(tài)注冊(cè)信息從中斷使能狀態(tài)改變?yōu)橹袛嘟脿顟B(tài)。通過(guò)控制中斷屏蔽寄存器-其中,將中斷禁用狀態(tài)設(shè)置為(0),而將中斷使能狀態(tài)設(shè)置為(1)-,副O(jiān)S中斷管理器512設(shè)置用來(lái)指示副O(jiān)S處于中斷禁用狀態(tài)的(屏蔽)狀態(tài)。如果在此狀態(tài)下輸入了中斷請(qǐng)求,則該中斷請(qǐng)求必須等待。
響應(yīng)于從狀態(tài)S103(副O(jiān)S中斷禁用狀態(tài))到狀態(tài)S104(副O(jiān)S中斷使能狀態(tài))的狀態(tài)轉(zhuǎn)換而執(zhí)行序列5。
在該狀態(tài)轉(zhuǎn)換期間,副O(jiān)S向主OS通知副O(jiān)S從中斷禁用狀態(tài)轉(zhuǎn)換為中斷使能狀態(tài)。作為對(duì)圖5的副O(jiān)S中斷管理器512的通知步驟而執(zhí)行此步驟。
一旦從副O(jiān)S接收到副O(jiān)S從中斷禁用狀態(tài)轉(zhuǎn)換為中斷使能狀態(tài)的通知,主OS中的副O(jiān)S中斷管理器512便更新列出屏蔽狀態(tài)的狀態(tài)表(見(jiàn)圖6),由此,將副O(jiān)S的狀態(tài)注冊(cè)信息從中斷禁用狀態(tài)改變?yōu)橹袛嗍鼓軤顟B(tài)。通過(guò)控制中斷屏蔽寄存器-其中,將中斷禁用狀態(tài)設(shè)置為(0),而將中斷使能狀態(tài)設(shè)置為(1)-,副O(jiān)S中斷管理器512設(shè)置用來(lái)指示副O(jiān)S處于中斷使能狀態(tài)的(屏蔽釋放)狀態(tài)。如果在此狀態(tài)下輸入了中斷請(qǐng)求,則執(zhí)行中斷進(jìn)程。
在S103的副O(jiān)S中斷禁用狀態(tài)中作為事件I202而出現(xiàn)副O(jiān)S中斷時(shí)執(zhí)行序列6。一旦檢測(cè)到事件I202,即,出現(xiàn)副O(jiān)S中斷,主OS便參照狀態(tài)表,以確定副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)。現(xiàn)在,副O(jiān)S處于中斷禁用狀態(tài)。
在驗(yàn)證了副O(jiān)S處于中斷禁用狀態(tài)之后,主OS在狀態(tài)表上將該中斷注冊(cè)為被保留。
當(dāng)前不執(zhí)行、而是保留中斷進(jìn)程。
在S104的副O(jiān)S中斷使能狀態(tài)中作為事件I202而出現(xiàn)副O(jiān)S中斷時(shí)執(zhí)行序列7。
序列7中的進(jìn)程取決于是由主OS還是副O(jiān)S執(zhí)行處理器的進(jìn)程而變得不同。
(a)主OS正在運(yùn)行中在使用處理器執(zhí)行進(jìn)程時(shí),主OS作為事件I202而檢測(cè)副O(jiān)S中斷。主OS參照副O(jiān)S的狀態(tài)表,以確定副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)。副O(jiān)S處于中斷使能狀態(tài)(S104)。
在驗(yàn)證了副O(jiān)S處于中斷使能狀態(tài)之后,主OS檢查該中斷的優(yōu)先級(jí)。利用高優(yōu)先級(jí)或低優(yōu)先級(jí)對(duì)該中斷設(shè)置優(yōu)先級(jí)。下面描述響應(yīng)于高優(yōu)先級(jí)和低優(yōu)先級(jí)的中斷進(jìn)程。
(a-1)高優(yōu)先級(jí)的中斷進(jìn)程如果所生成的中斷因子處于高優(yōu)先級(jí),則執(zhí)行以下進(jìn)程(1)至(7)。下面,[主OS]表示由主OS執(zhí)行的進(jìn)程,而[副O(jiān)S]表示由副O(jiān)S執(zhí)行的進(jìn)程。
(1)[主OS]主OS將所生成的中斷注冊(cè)為正在被處理,作為響應(yīng)于狀態(tài)表(圖6)的中斷的副O(jiān)S的數(shù)據(jù)。
(2)[主OS]主OS將處理器的應(yīng)用從主OS切換到副O(jiān)S。作為圖5的OS切換控制器517的步驟而執(zhí)行此切換步驟。
(3)[主OS]主OS將該中斷傳遞到副O(jiān)S。作為圖5的中斷傳遞器516的步驟而執(zhí)行此處理步驟。
(4)[副O(jiān)S]副O(jiān)S響應(yīng)于該中斷而執(zhí)行中斷進(jìn)程。
(5)[副O(jiān)S]在完成該中斷進(jìn)程之后,副O(jiān)S向主OS通知該中斷進(jìn)程的完成。中斷進(jìn)程結(jié)束通知器從副O(jiān)S接收結(jié)束通知。
(6)[主OS]主OS從狀態(tài)表中刪除與注冊(cè)并完成的中斷進(jìn)程相對(duì)應(yīng)的條目。
(7)[主OS]在驗(yàn)證未輸入其它高優(yōu)先級(jí)中斷之后,主OS從副O(jiān)S切換到主OS。作為圖5的OS切換控制器517的步驟而執(zhí)行此處理步驟。
通過(guò)上述處理步驟,利用優(yōu)先級(jí)而執(zhí)行具有高優(yōu)先級(jí)的副O(jiān)S中斷進(jìn)程。下面描述低優(yōu)先級(jí)的中斷進(jìn)程。如果所生成的中斷因子處于低優(yōu)先級(jí),則主OS將所生成的中斷在狀態(tài)表(圖6)中注冊(cè)為與該中斷相對(duì)應(yīng)的副O(jiān)S的保留中斷信息。
在此時(shí)間點(diǎn)上,不執(zhí)行所生成的中斷,而必須等待。
(b)副O(jiān)S正在運(yùn)行中如果副O(jiān)S使用處理器執(zhí)行進(jìn)程,則執(zhí)行以下處理步驟。下面,[主OS]表示由主OS執(zhí)行的進(jìn)程,而[副O(jiān)S]表示由副O(jiān)S執(zhí)行的進(jìn)程。
(1)[主OS]一旦檢測(cè)到副O(jiān)S中斷的生成,主OS便參照副O(jiān)S的狀態(tài)表,以確定副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)。在此情況下,副O(jiān)S處于中斷使能狀態(tài)(S104)。
(2)[主OS]在驗(yàn)證副O(jiān)S處于中斷使能狀態(tài)之后,主OS將所生成的中斷注冊(cè)為正在被處理,作為響應(yīng)于狀態(tài)表(圖6)中的中斷的副O(jiān)S的數(shù)據(jù)。
(3)[主OS]主OS將中斷請(qǐng)求傳遞給副O(jiān)S。作為圖5的中斷傳遞器516的步驟而執(zhí)行此處理步驟。
(4)[副O(jiān)S]副O(jiān)S執(zhí)行中斷進(jìn)程。
(5)[副O(jiān)S]一旦完成了中斷進(jìn)程,副O(jiān)S便向主OS通知中斷進(jìn)程的結(jié)束。圖5的中斷進(jìn)程結(jié)束通知器518從副O(jiān)S接收結(jié)束通知。
(6)[主OS]主OS從狀態(tài)表中刪除與注冊(cè)并完成的中斷進(jìn)程相對(duì)應(yīng)的條目。
副O(jiān)S使用處理器執(zhí)行響應(yīng)于所生成的中斷的中斷進(jìn)程。副O(jiān)S如果處于中斷使能狀態(tài),則在不等待的情況下執(zhí)行中斷進(jìn)程。
總之,在序列7中、即在隨同處于中斷使能狀態(tài)的副O(jiān)S而出現(xiàn)副O(jiān)S中斷時(shí),執(zhí)行中斷進(jìn)程。
(A)如果主OS正在運(yùn)行中,那么,(A-1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,以及(A-2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程。
(B)如果副O(jiān)S正在運(yùn)行中,那么,不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程。
如果隨同處于S103的中斷禁用狀態(tài)的副O(jiān)S而發(fā)生作為主OS中斷的事件I201,則執(zhí)行序列8。
在此情況下,同樣,序列8取決于是由主OS還是副O(jiān)S執(zhí)行使用處理器的進(jìn)程而變得不同。
(a)主OS正在運(yùn)行中如果在主OS使用處理器執(zhí)行進(jìn)程時(shí),主OS檢測(cè)到作為主OS中斷的事件I201,則將所生成的中斷傳遞到主OS。主OS執(zhí)行中斷進(jìn)程。
(b)副O(jiān)S正在運(yùn)行中如果在副O(jiān)S使用處理器執(zhí)行進(jìn)程時(shí),主OS檢測(cè)到作為主OS中斷的事件I201,則主OS檢查所生成的中斷的優(yōu)先級(jí)。在這里使用低和高的兩個(gè)優(yōu)先級(jí)。下面分別描述響應(yīng)于高優(yōu)先級(jí)中斷和低優(yōu)先級(jí)中斷的中斷進(jìn)程。
(b-1)高優(yōu)先級(jí)中斷如果中斷因子處于高優(yōu)先級(jí),則執(zhí)行以下處理步驟(1)至(7)。下面,[主OS]表示由主OS執(zhí)行的進(jìn)程,而[副O(jiān)S]表示由副O(jiān)S執(zhí)行的進(jìn)程。
(1)[主OS]主OS將處理器應(yīng)用的進(jìn)程從副O(jiān)S切換到主OS。作為圖5的OS切換控制器517的步驟而執(zhí)行該切換步驟。
(2)[主OS]主OS執(zhí)行中斷進(jìn)程。
(3)[主OS]主OS將處理器應(yīng)用的進(jìn)程從主OS切換到副O(jiān)S。作為圖5的OS切換控制器517的步驟而執(zhí)行該切換步驟。
由此,執(zhí)行響應(yīng)于高優(yōu)先級(jí)中斷的主OS中斷進(jìn)程。下面描述響應(yīng)于低優(yōu)先級(jí)中斷的主OS中斷進(jìn)程。如果所生成的中斷處于低優(yōu)先級(jí),則主OS將所生成的中斷在狀態(tài)表(圖6)中注冊(cè)為主OS的保留中斷信息。
在此時(shí)間點(diǎn)上,不執(zhí)行所生成的中斷,而必須等待。
如果隨同處于S104的中斷使能狀態(tài)的副O(jiān)S而發(fā)生作為主OS中斷的事件I201,則執(zhí)行序列9。
此進(jìn)程等同于在上面提到的序列8的進(jìn)程。更具體地,如果發(fā)生為主OS設(shè)計(jì)的中斷,則不考慮副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)而執(zhí)行相同的進(jìn)程。
下面總結(jié)響應(yīng)于主OS中斷而執(zhí)行的進(jìn)程(序列8和9)。
(A)如果在主OS正在運(yùn)行時(shí)出現(xiàn)中斷,則不考慮中斷優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程。
(B)如果在副O(jiān)S正在運(yùn)行時(shí)出現(xiàn)中斷,那么,(B-1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,但(B-2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程。
圖8列出了執(zhí)行處理器應(yīng)用的進(jìn)程的OS(正在運(yùn)行的OS)、優(yōu)先級(jí)(高或低)、中斷目標(biāo)OS、以及中斷目標(biāo)OS的中斷使能和禁用狀態(tài)。如所列出的,可能存在16個(gè)狀態(tài)設(shè)置情形。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,主OS存儲(chǔ)并管理與每個(gè)副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的、所有副O(jiān)S的狀態(tài)信息(圖7的狀態(tài)表)。
下面總結(jié)對(duì)副O(jiān)S中斷進(jìn)程和主OS中斷進(jìn)程的響應(yīng)。
當(dāng)發(fā)生為副O(jiān)S設(shè)計(jì)的中斷時(shí),主OS參照狀態(tài)表。如果副O(jiān)S處于中斷禁用狀態(tài),則主OS在狀態(tài)表中將所生成的中斷設(shè)置并注冊(cè)為被保留(序列6)。
如果副O(jiān)S處于中斷使能狀態(tài),則取決于執(zhí)行處理器應(yīng)用的進(jìn)程的OS是主OS還是副O(jiān)S,而如下執(zhí)行中斷保留進(jìn)程或中斷進(jìn)程(序列7)。
(A)如果主OS正在運(yùn)行中,那么,(A-1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,但(A-2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程。
(B)如果副O(jiān)S正在運(yùn)行中,則不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程。
當(dāng)發(fā)生為主OS設(shè)計(jì)的中斷時(shí),取決于執(zhí)行處理器應(yīng)用的進(jìn)程的OS是主OS還是副O(jiān)S,而如下執(zhí)行中斷保留進(jìn)程或中斷進(jìn)程(序列8和9)。
(A)如果主OS正在運(yùn)行中,則不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程。
(B)如果副O(jiān)S正在運(yùn)行中,那么,(B-1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,但(B-2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程。
主OS基于所有副O(jiān)S的狀態(tài)信息(即,取決于每個(gè)副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài))、生成中斷時(shí)的狀態(tài)信息(即,中斷的優(yōu)先級(jí))、以及所生成的中斷是為主OS還是副O(jiān)S設(shè)計(jì)的,而控制中斷進(jìn)程和中斷保留進(jìn)程的執(zhí)行。
根據(jù)本發(fā)明的實(shí)施例,不將屏蔽中斷的權(quán)限交遞給副O(jiān)S。副O(jiān)S向主OS通知副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)。基于該通知,主OS控制對(duì)副O(jiān)S的中斷屏蔽。此配置克服了副O(jiān)S根據(jù)副O(jiān)S自身的屏蔽控制而保留所需的中斷進(jìn)程的不便。由此,由主OS控制所有中斷進(jìn)程。由于主OS中的副O(jiān)S中斷向量管理器513(見(jiàn)圖5)管理副O(jiān)S的中斷向量區(qū)域,所以,與由各個(gè)OS執(zhí)行中斷向量管理的情況不同,共享了中斷向量。如先前所討論的,中斷向量是由中斷因子定義的存儲(chǔ)區(qū)域的表。例如,中斷因子由中斷進(jìn)程例程的起始地址組成。接收中斷的處理器檢查來(lái)自存儲(chǔ)區(qū)域的中斷句柄的地址,并跳轉(zhuǎn)到該地址,以開(kāi)始中斷進(jìn)程。主OS和副O(jiān)S共享中斷向量,并且由此,減小了所需存儲(chǔ)區(qū)域。
已通過(guò)參照特定實(shí)施例而討論了本發(fā)明。顯然,本領(lǐng)域的技術(shù)人員可對(duì)實(shí)施例做出修改和改變,而不背離本發(fā)明的范圍。已僅為示例目的而公開(kāi)了本發(fā)明的實(shí)施例,并且,其不意圖限制本發(fā)明的范圍。僅通過(guò)參照所附權(quán)利要求而確定本發(fā)明的范圍。
可通過(guò)軟件、硬件或其組合來(lái)執(zhí)行以上參考步驟系列。如果通過(guò)軟件來(lái)執(zhí)行該步驟系列,那么,例如,從記錄介質(zhì)或經(jīng)由網(wǎng)絡(luò)而將形成軟件的程序安裝到合并于硬件結(jié)構(gòu)中的計(jì)算機(jī)上,或安裝到執(zhí)行各種處理的通用計(jì)算機(jī)。
可預(yù)先將該程序記錄到作為記錄介質(zhì)的硬盤和只讀存儲(chǔ)器(ROM)中的一個(gè),還可將該程序臨時(shí)或永久地存儲(chǔ)(記錄)在可移動(dòng)記錄介質(zhì)上。記錄介質(zhì)包括軟盤、致密盤只讀存儲(chǔ)器(CD-ROM)、磁光(MO)盤、數(shù)字多用盤(DVD)、磁盤、半導(dǎo)體存儲(chǔ)器等??梢苑庋b軟件提供這樣的可移動(dòng)介質(zhì)。
可將該程序從可移動(dòng)記錄介質(zhì)安裝到計(jì)算機(jī)。可以無(wú)線方式將該程序從下載站點(diǎn)傳送到計(jì)算機(jī)。還可經(jīng)由諸如LAN(局域網(wǎng))和因特網(wǎng)中的一個(gè)的網(wǎng)絡(luò)而以有線方式傳送該程序。隨后,由計(jì)算機(jī)接收該程序,并將其安裝到例如計(jì)算機(jī)中的硬盤的記錄介質(zhì)上。
在此說(shuō)明書(shū)中討論的處理步驟以所述的時(shí)序次序依次執(zhí)行??商鎿Q地,可并行或分別執(zhí)行所述步驟。在此說(shuō)明書(shū)中,系統(tǒng)表示由多個(gè)設(shè)備組成的邏輯系統(tǒng),而每個(gè)設(shè)備的元件不一定被包含在相同的包裝(機(jī)箱)中。
根據(jù)本發(fā)明的實(shí)施例,在并行運(yùn)行多個(gè)操作系統(tǒng)的系統(tǒng)中設(shè)置執(zhí)行中斷進(jìn)程的主操作系統(tǒng)(OS)。利用執(zhí)行中斷控制進(jìn)程的主OS,減小了整個(gè)系統(tǒng)的屏蔽時(shí)間,改善了中斷響應(yīng),并有效率地執(zhí)行數(shù)據(jù)處理。
根據(jù)本發(fā)明的實(shí)施例,設(shè)置執(zhí)行中斷進(jìn)程控制的主OS,并且,不將設(shè)置中斷屏蔽的權(quán)限轉(zhuǎn)交給主OS之外的副O(jiān)S。副O(jiān)S向主OS通知副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)。主OS控制副O(jiān)S的中斷屏蔽。此配置防止副O(jiān)S保留由于自身的屏蔽控制而造成的所需中斷進(jìn)程。根據(jù)主OS的意圖,而控制所有中斷進(jìn)程。由此,利用優(yōu)先級(jí)而執(zhí)行所需中斷進(jìn)程。
根據(jù)本發(fā)明的實(shí)施例,在主OS中設(shè)置副O(jiān)S中斷向量管理單元。通常,主OS管理副O(jiān)S的中斷向量區(qū)域。與由OS各自執(zhí)行的中斷向量管理不同,共享了中斷向量,并減小了存儲(chǔ)區(qū)域。
權(quán)利要求書(shū)(按照條約第19條的修改)1、一種用于處理數(shù)據(jù)的信息處理設(shè)備,包括多個(gè)操作系統(tǒng),所述多個(gè)操作系統(tǒng)包括控制中斷進(jìn)程的主操作系統(tǒng)以及副操作系統(tǒng),主操作系統(tǒng)連同被設(shè)置為副操作系統(tǒng)的系統(tǒng)控制操作系統(tǒng)一起設(shè)置作為處理單元的邏輯分區(qū),并管理與邏輯分區(qū)相關(guān)的硬件資源,副操作系統(tǒng)在由主操作系統(tǒng)和系統(tǒng)控制操作系統(tǒng)設(shè)置的邏輯分區(qū)內(nèi)操作,并利用被分配到該邏輯分區(qū)的硬件資源執(zhí)行軟件應(yīng)用程序,主操作系統(tǒng)存儲(chǔ)與副操作系統(tǒng)處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息,并控制中斷進(jìn)程,以基于所述狀態(tài)信息,響應(yīng)于中斷的生成而進(jìn)行中斷進(jìn)程執(zhí)行和中斷進(jìn)程保留中的一個(gè)。
2、如權(quán)利要求1所述的信息處理設(shè)備,其中,主操作系統(tǒng)存儲(chǔ)與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息,并響應(yīng)于副操作系統(tǒng)在中斷使能狀態(tài)和中斷禁用狀態(tài)之間的轉(zhuǎn)換,而恢復(fù)進(jìn)行中斷進(jìn)程執(zhí)行。
3、如權(quán)利要求1所述的信息處理設(shè)備,其中,副操作系統(tǒng)向主操作系統(tǒng)通知與副操作系統(tǒng)處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息,并且,其中,主操作系統(tǒng)響應(yīng)于來(lái)自副操作系統(tǒng)的通知而更新副操作系統(tǒng)的狀態(tài)信息。
4、如權(quán)利要求1所述的信息處理設(shè)備,其中,主操作系統(tǒng)存儲(chǔ)中斷進(jìn)程的優(yōu)先級(jí)信息,并響應(yīng)于優(yōu)先級(jí)信息執(zhí)行中斷進(jìn)程。
5、如權(quán)利要求1所述的信息處理設(shè)備,其中,主操作系統(tǒng)基于包含副操作系統(tǒng)的狀態(tài)信息、以及與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息的狀態(tài)表,而執(zhí)行狀態(tài)管理,如果生成為副操作系統(tǒng)設(shè)計(jì)的中斷,并且主操作系統(tǒng)基于狀態(tài)表確定副操作系統(tǒng)處于中斷禁用狀態(tài),則主操作系統(tǒng)在狀態(tài)表中將該中斷注冊(cè)為保留的中斷,并且,如果生成為副操作系統(tǒng)設(shè)計(jì)的中斷,并且主操作系統(tǒng)基于狀態(tài)表確定副操作系統(tǒng)處于中斷使能狀態(tài),則以如下方式,取決于在處理器上運(yùn)行的操作系統(tǒng)是主操作系統(tǒng)還是副操作系統(tǒng)而執(zhí)行中斷控制(a)如果主操作系統(tǒng)正在運(yùn)行中,則主操作系統(tǒng)(a1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,或
(a2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程,并且(b)如果副操作系統(tǒng)正在運(yùn)行中,則副操作系統(tǒng)不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程。
6、如權(quán)利要求1所述的信息處理設(shè)備,其中,主操作系統(tǒng)基于包含副操作系統(tǒng)的狀態(tài)信息、以及與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息的狀態(tài)表,而執(zhí)行狀態(tài)管理,并且,如果生成為主操作系統(tǒng)設(shè)計(jì)的中斷,則以如下方式,取決于在處理器上運(yùn)行的操作系統(tǒng)是主操作系統(tǒng)還是副操作系統(tǒng)而執(zhí)行中斷控制(a)如果在主操作系統(tǒng)正在運(yùn)行中,則主操作系統(tǒng)不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程,并且(b)如果在副操作系統(tǒng)正在運(yùn)行中,則副操作系統(tǒng)(b1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,或(b2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程。
7、一種用于在多個(gè)操作系統(tǒng)上執(zhí)行數(shù)據(jù)處理的中斷進(jìn)程控制方法,該方法包括以下步驟在控制中斷進(jìn)程的主操作系統(tǒng)中,向邏輯分區(qū)管理硬件資源,其中將邏輯分區(qū)作為主操作系統(tǒng)連同設(shè)置為副操作系統(tǒng)的系統(tǒng)控制操作系統(tǒng)中的進(jìn)程執(zhí)行單元來(lái)處理;在副操作系統(tǒng)中,在由主操作系統(tǒng)和系統(tǒng)控制操作系統(tǒng)設(shè)置的邏輯分區(qū)內(nèi),利用被分配到正在使用的邏輯分區(qū)的硬件資源來(lái)執(zhí)行軟件應(yīng)用程序;在主操作系統(tǒng)中,從除了主操作系統(tǒng)之外的副操作系統(tǒng)接收與副操作系統(tǒng)處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息;檢測(cè)中斷的生成;以及控制中斷進(jìn)程,以基于狀態(tài)信息,響應(yīng)于中斷的生成而進(jìn)行中斷進(jìn)程執(zhí)行和中斷進(jìn)程保留中的一個(gè)。
8、如權(quán)利要求7所述的中斷進(jìn)程控制方法,其中,主操作系統(tǒng)存儲(chǔ)與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息,并響應(yīng)于副操作系統(tǒng)在中斷使能狀態(tài)和中斷禁用狀態(tài)之間的轉(zhuǎn)換,而恢復(fù)進(jìn)行中斷進(jìn)程執(zhí)行。
9、如權(quán)利要求7所述的中斷進(jìn)程控制方法,還包括以下步驟向主操作系統(tǒng)通知與副操作系統(tǒng)處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息;以及響應(yīng)于來(lái)自副操作系統(tǒng)的通知而更新副操作系統(tǒng)的狀態(tài)信息。
10、如權(quán)利要求7所述的中斷進(jìn)程控制方法,其中,主操作系統(tǒng)存儲(chǔ)中斷進(jìn)程的優(yōu)先級(jí)信息,并響應(yīng)于優(yōu)先級(jí)信息執(zhí)行中斷進(jìn)程。
11、如權(quán)利要求7所述的中斷進(jìn)程控制方法,其中,主操作系統(tǒng)基于包含副操作系統(tǒng)的狀態(tài)信息、以及與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息的狀態(tài)表,而執(zhí)行狀態(tài)管理,如果生成為副操作系統(tǒng)設(shè)計(jì)的中斷,并且主操作系統(tǒng)基于狀態(tài)表確定副操作系統(tǒng)處于中斷禁用狀態(tài),則主操作系統(tǒng)在狀態(tài)表中將該中斷注冊(cè)為保留的中斷,并且,如果生成為副操作系統(tǒng)設(shè)計(jì)的中斷,并且主操作系統(tǒng)基于狀態(tài)表確定副操作系統(tǒng)處于中斷使能狀態(tài),則以如下方式,主操作系統(tǒng)取決于在處理器上運(yùn)行的操作系統(tǒng)是主操作系統(tǒng)還是副操作系統(tǒng)而執(zhí)行中斷控制(a)如果主操作系統(tǒng)正在運(yùn)行中,則主操作系統(tǒng)(a1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,或(a2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程,并且(b)如果副操作系統(tǒng)正在運(yùn)行中,則副操作系統(tǒng)不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程。
12、如權(quán)利要求7所述的中斷進(jìn)程控制方法,其中,主操作系統(tǒng)基于包含副操作系統(tǒng)的狀態(tài)信息、以及與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息的狀態(tài)表,而執(zhí)行狀態(tài)管理,并且,如果生成為主操作系統(tǒng)設(shè)計(jì)的中斷,則以如下方式,取決于在處理器上運(yùn)行的操作系統(tǒng)是主操作系統(tǒng)還是副操作系統(tǒng)而執(zhí)行中斷控制(a)如果在主操作系統(tǒng)正在運(yùn)行中,則主操作系統(tǒng)不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程,并且(b)如果在副操作系統(tǒng)正在運(yùn)行中,則副操作系統(tǒng)(b1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,或(b2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程。
13、一種用于在多個(gè)操作系統(tǒng)上執(zhí)行數(shù)據(jù)處理的計(jì)算機(jī)程序,該計(jì)算機(jī)程序包括以下步驟在控制中斷進(jìn)程的主操作系統(tǒng)中,向邏輯分區(qū)管理硬件資源,其中將邏輯分區(qū)作為主操作系統(tǒng)連同設(shè)置為副操作系統(tǒng)的系統(tǒng)控制操作系統(tǒng)中的進(jìn)程執(zhí)行單元來(lái)處理;在副操作系統(tǒng)中,在由主操作系統(tǒng)和系統(tǒng)控制操作系統(tǒng)設(shè)置的邏輯分區(qū)內(nèi),利用被分配到正在使用的邏輯分區(qū)的硬件資源來(lái)執(zhí)行軟件應(yīng)用程序;在主操作系統(tǒng)中,從除了主操作系統(tǒng)之外的副操作系統(tǒng)接收與副操作系統(tǒng)處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息;檢測(cè)中斷的生成;以及控制中斷進(jìn)程,以基于狀態(tài)信息,響應(yīng)于中斷的生成而進(jìn)行中斷進(jìn)程執(zhí)行和中斷進(jìn)程保留中的一個(gè)。
權(quán)利要求
1.一種用于處理數(shù)據(jù)的信息處理設(shè)備,包括多個(gè)操作系統(tǒng)(OS),多個(gè)OS包括控制中斷進(jìn)程的主OS以及副O(jiān)S,主OS存儲(chǔ)與副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息,并控制中斷進(jìn)程,以基于所述狀態(tài)信息,響應(yīng)于中斷的生成而進(jìn)行中斷進(jìn)程執(zhí)行和中斷進(jìn)程保留中的一個(gè)。
2.如權(quán)利要求1所述的信息處理設(shè)備,其中,主OS存儲(chǔ)與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息,并響應(yīng)于副O(jiān)S在中斷使能狀態(tài)和中斷禁用狀態(tài)之間的轉(zhuǎn)換,而恢復(fù)進(jìn)行中斷進(jìn)程執(zhí)行。
3.如權(quán)利要求1所述的信息處理設(shè)備,其中,副O(jiān)S向主OS通知與副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息,并且,其中,主OS響應(yīng)于來(lái)自副O(jiān)S的通知而更新副O(jiān)S的狀態(tài)信息。
4.如權(quán)利要求1所述的信息處理設(shè)備,其中,主OS存儲(chǔ)中斷進(jìn)程的優(yōu)先級(jí)信息,并響應(yīng)于優(yōu)先級(jí)信息執(zhí)行中斷進(jìn)程。
5.如權(quán)利要求1所述的信息處理設(shè)備,其中,主OS基于包含副O(jiān)S的狀態(tài)信息、以及與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息的狀態(tài)表,而執(zhí)行狀態(tài)管理,如果生成為副O(jiān)S設(shè)計(jì)的中斷,并且主OS基于狀態(tài)表確定副O(jiān)S處于中斷禁用狀態(tài),則主OS在狀態(tài)表中將該中斷注冊(cè)為保留的中斷,并且,如果生成為副O(jiān)S設(shè)計(jì)的中斷,并且主OS基于狀態(tài)表確定副O(jiān)S處于中斷使能狀態(tài),則以如下方式,取決于在處理器上運(yùn)行的OS是主OS還是副O(jiān)S而執(zhí)行中斷控制(a)如果主OS正在運(yùn)行中,則主OS(a1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,或(a2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程,并且(b)如果副O(jiān)S正在運(yùn)行中,則副O(jiān)S不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程。
6.如權(quán)利要求1所述的信息處理設(shè)備,其中,主OS基于包含副O(jiān)S的狀態(tài)信息、以及與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息的狀態(tài)表,而執(zhí)行狀態(tài)管理,并且,如果生成為主OS設(shè)計(jì)的中斷,則以如下方式,取決于在處理器上運(yùn)行的OS是主OS還是副O(jiān)S而執(zhí)行中斷控制(a)如果在主OS正在運(yùn)行中,則主OS不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程,并且(b)如果在副O(jiān)S正在運(yùn)行中,則副O(jiān)S(b1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,或(b2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程。
7.一種用于在多個(gè)操作系統(tǒng)(OS)上執(zhí)行數(shù)據(jù)處理的中斷進(jìn)程控制方法,該方法包括以下步驟從除了主OS之外的副O(jiān)S接收與副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息;檢測(cè)中斷的生成;以及控制中斷進(jìn)程,以基于狀態(tài)信息,響應(yīng)于中斷的生成而進(jìn)行中斷進(jìn)程執(zhí)行和中斷進(jìn)程保留中的一個(gè)。
8.如權(quán)利要求7所述的中斷進(jìn)程控制方法,其中,主OS存儲(chǔ)與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息,并響應(yīng)于副O(jiān)S在中斷使能狀態(tài)和中斷禁用狀態(tài)之間的轉(zhuǎn)換,而恢復(fù)進(jìn)行中斷進(jìn)程執(zhí)行。
9.如權(quán)利要求7所述的中斷進(jìn)程控制方法,還包括以下步驟向主OS通知與副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息;以及響應(yīng)于來(lái)自副O(jiān)S的通知而更新副O(jiān)S的狀態(tài)信息。
10.如權(quán)利要求7所述的中斷進(jìn)程控制方法,其中,主OS存儲(chǔ)中斷進(jìn)程的優(yōu)先級(jí)信息,并響應(yīng)于優(yōu)先級(jí)信息執(zhí)行中斷進(jìn)程。
11.如權(quán)利要求7所述的中斷進(jìn)程控制方法,其中,主OS基于包含副O(jiān)S的狀態(tài)信息、以及與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息的狀態(tài)表,而執(zhí)行狀態(tài)管理,如果生成為副O(jiān)S設(shè)計(jì)的中斷,并且主OS基于狀態(tài)表確定副O(jiān)S處于中斷禁用狀態(tài),則主OS在狀態(tài)表中將該中斷注冊(cè)為保留的中斷,并且,如果生成為副O(jiān)S設(shè)計(jì)的中斷,并且主OS基于狀態(tài)表確定副O(jiān)S處于中斷使能狀態(tài),則以如下方式,主OS取決于在處理器上運(yùn)行的OS是主OS還是副O(jiān)S而執(zhí)行中斷控制(a)如果主OS正在運(yùn)行中,則主OS(a1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,或(a2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程,并且(b)如果副O(jiān)S正在運(yùn)行中,則副O(jiān)S不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程。
12.如權(quán)利要求7所述的中斷進(jìn)程控制方法,其中,主OS基于包含副O(jiān)S的狀態(tài)信息、以及與中斷進(jìn)程處于進(jìn)行中還是保留中有關(guān)的中斷進(jìn)程狀態(tài)信息的狀態(tài)表,而執(zhí)行狀態(tài)管理,并且,如果生成為主OS設(shè)計(jì)的中斷,則以如下方式,取決于在處理器上運(yùn)行的OS是主OS還是副O(jiān)S而執(zhí)行中斷控制(a)如果在主OS正在運(yùn)行中,則主OS不考慮中斷的優(yōu)先級(jí)而執(zhí)行中斷進(jìn)程,并且(b)如果在副O(jiān)S正在運(yùn)行中,則副O(jiān)S(b1)響應(yīng)于高優(yōu)先級(jí)中斷而執(zhí)行中斷進(jìn)程,或(b2)響應(yīng)于低優(yōu)先級(jí)中斷而保留中斷進(jìn)程。
13.一種用于在多個(gè)操作系統(tǒng)(OS)上執(zhí)行數(shù)據(jù)處理的計(jì)算機(jī)程序,該計(jì)算機(jī)程序包括以下步驟從除了主OS之外的副O(jiān)S接收與副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)有關(guān)的狀態(tài)信息;檢測(cè)中斷的生成;以及控制中斷進(jìn)程,以基于狀態(tài)信息,響應(yīng)于中斷的生成而進(jìn)行中斷進(jìn)程執(zhí)行和中斷進(jìn)程保留中的一個(gè)。
全文摘要
在同時(shí)運(yùn)行多個(gè)操作系統(tǒng)(OS)的系統(tǒng)中提供了改進(jìn)的中斷處理控制配置。在同時(shí)運(yùn)行多個(gè)OS的系統(tǒng)中,設(shè)置用來(lái)執(zhí)行中斷處理控制的主OS,并且不將中斷屏蔽設(shè)置權(quán)限賦予除了主OS之外的副O(jiān)S。副O(jiān)S向主OS報(bào)告副O(jiān)S處于中斷使能狀態(tài)還是中斷禁用狀態(tài)。根據(jù)報(bào)告的信息,主OS執(zhí)行副O(jiān)S的中斷屏蔽控制。通過(guò)此配置,有可能消除由于副O(jiān)S自身的屏蔽控制而造成的中斷處理保留的問(wèn)題,并且基于主OS的意圖執(zhí)行中斷控制。可利用較高的優(yōu)先級(jí)執(zhí)行所需中斷處理。此外,由于主OS管理副O(jiān)S中斷向量區(qū)域,有可能實(shí)現(xiàn)存儲(chǔ)區(qū)域減小。
文檔編號(hào)G06F9/46GK1906583SQ20058000148
公開(kāi)日2007年1月31日 申請(qǐng)日期2005年9月26日 優(yōu)先權(quán)日2004年9月29日
發(fā)明者沖野直人, 戶川敦之 申請(qǐng)人:索尼株式會(huì)社