專(zhuān)利名稱(chēng)::信息處理裝置、通信處理方法和計(jì)算機(jī)程序的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及信息處理裝置、通信處理方法和計(jì)算機(jī)程序,具體上涉及用于控制在多操作系統(tǒng)中的操作系統(tǒng)之間的消息傳送的信息處理裝置、通信處理方法和計(jì)算機(jī)程序,所述多操作系統(tǒng)使用多個(gè)操作系統(tǒng)來(lái)執(zhí)行處理。
背景技術(shù):
:在單個(gè)系統(tǒng)中具有多個(gè)操作系統(tǒng)(OS)的多操作系統(tǒng)中,每個(gè)操作系統(tǒng)可以執(zhí)行各自的處理,并且按照時(shí)間順序連續(xù)地切換諸如CPU和存儲(chǔ)器的系統(tǒng)公用硬件。例如通過(guò)分區(qū)管理軟件程序來(lái)執(zhí)行多個(gè)操作系統(tǒng)的處理(任務(wù))的調(diào)度。如果OS(α)和OS(β)共存于單個(gè)系統(tǒng)中并且OS(α)的處理是分區(qū)A、OS(β)的處理是分區(qū)B,則分區(qū)管理軟件程序確定分區(qū)A和分區(qū)B的調(diào)度,并且利用基于所確定的調(diào)度而分配的硬件資源來(lái)執(zhí)行該多個(gè)操作系統(tǒng)的處理。專(zhuān)利文件1公開(kāi)了一種多操作系統(tǒng)的系統(tǒng)的任務(wù)管理技術(shù)。按照該公開(kāi),通過(guò)為具有緊迫性的處理賦予優(yōu)先級(jí)來(lái)調(diào)度由多個(gè)操作系統(tǒng)執(zhí)行的任務(wù)。當(dāng)在一個(gè)系統(tǒng)中共存的多個(gè)操作系統(tǒng)之間執(zhí)行消息傳送時(shí),產(chǎn)生連接操作系統(tǒng)的消息通道。每個(gè)操作系統(tǒng)需要建立用于消息通道連接的通信接口。如果經(jīng)由消息通道通信的操作系統(tǒng)彼此不同,則對(duì)于通信接口規(guī)格施加限制,并且由于在不同類(lèi)型的操作系統(tǒng)之間的通信而產(chǎn)生開(kāi)銷(xiāo)。日本未審查專(zhuān)利申請(qǐng)公開(kāi)第2003-345612號(hào)。
發(fā)明內(nèi)容已經(jīng)考慮到上述問(wèn)題而開(kāi)發(fā)了本發(fā)明。本發(fā)明的目的是提供信息處理裝置、通信處理方法和計(jì)算機(jī)程序,用于在具有多個(gè)操作系統(tǒng)的多操作系統(tǒng)環(huán)境中平滑地執(zhí)行操作系統(tǒng)之間的通信,而不引起額外的開(kāi)銷(xiāo)。按照本發(fā)明的第一方面,信息處理裝置包括多個(gè)操作系統(tǒng)。所述多個(gè)操作系統(tǒng)包括控制操作系統(tǒng),用于控制在所述多個(gè)操作系統(tǒng)之間的通信。所述控制操作系統(tǒng)通過(guò)下述方式來(lái)控制對(duì)于相應(yīng)的操作系統(tǒng)建立的邏輯分區(qū)之間的消息傳送通過(guò)將在物理地址空間中的消息區(qū)域從向在消息發(fā)送OS中的邏輯分區(qū)地址空間中的消息區(qū)域的映射狀態(tài)轉(zhuǎn)換為向在消息接收OS中的邏輯分區(qū)地址空間中的消息區(qū)域的映射狀態(tài)。在本發(fā)明的一個(gè)實(shí)施例的信息處理裝置中,在通信操作中的至少一個(gè)通信執(zhí)行操作系統(tǒng)產(chǎn)生與由本身的OS管理的文件系統(tǒng)識(shí)別的文件描述符相關(guān)聯(lián)的套接字,產(chǎn)生經(jīng)由所述套接字而訪問(wèn)的虛擬文件,并且經(jīng)由所述虛擬文件來(lái)訪問(wèn)在物理地址空間中的消息區(qū)域。在本發(fā)明的一個(gè)實(shí)施例的信息處理裝置中,使用所述套接字的在通信操作中的通信執(zhí)行OS獲取與所述套接字相關(guān)聯(lián)的虛擬文件的標(biāo)識(shí)符,并且使用由所獲取的虛擬文件標(biāo)識(shí)符識(shí)別的虛擬文件來(lái)執(zhí)行消息寫(xiě)入操作和消息讀取操作之一。在本發(fā)明的一個(gè)實(shí)施例的信息處理裝置中,在通信操作中的至少一個(gè)通信執(zhí)行操作系統(tǒng)產(chǎn)生與由本身的OS管理的文件系統(tǒng)識(shí)別的文件描述符相關(guān)聯(lián)的套接字,并且經(jīng)由所述套接字將在物理地址空間中的消息區(qū)域映射到處理的地址空間,以便所述處理直接訪問(wèn)所述消息區(qū)域。在本發(fā)明的一個(gè)實(shí)施例的信息處理裝置中,在通信操作中的至少一個(gè)通信執(zhí)行OS產(chǎn)生與由本身的OS管理的文件系統(tǒng)識(shí)別的文件描述符相關(guān)聯(lián)的套接字,并且經(jīng)由所述套接字將在物理地址空間中的消息區(qū)域映射到對(duì)應(yīng)于所述通信執(zhí)行OS的邏輯分區(qū)的地址空間,以便訪問(wèn)所述消息區(qū)域。在本發(fā)明的一個(gè)實(shí)施例的信息處理裝置中,使用所述套接字的在通信操作中的通信執(zhí)行操作系統(tǒng)設(shè)置對(duì)應(yīng)于所述套接字的服務(wù)的標(biāo)識(shí)符,并且設(shè)置對(duì)應(yīng)于所述服務(wù)的通信許可。在本發(fā)明的一個(gè)實(shí)施例的信息處理裝置中,使用所述套接字的在通信操作中的通信執(zhí)行操作系統(tǒng)經(jīng)由所述套接字來(lái)對(duì)于消息執(zhí)行接收監(jiān)控處理。在本發(fā)明的一個(gè)實(shí)施例的信息處理裝置中,通信執(zhí)行OS通過(guò)應(yīng)用選擇系統(tǒng)調(diào)用來(lái)對(duì)于消息執(zhí)行接收監(jiān)控處理。按照本發(fā)明的第二方面,一種存儲(chǔ)多個(gè)操作系統(tǒng)的信息處理裝置的通信處理方法包括步驟將在物理地址空間中的消息區(qū)域設(shè)置為映射狀態(tài)以映射到消息發(fā)送OS的邏輯分區(qū)地址空間中的消息區(qū)域,釋放所述映射狀態(tài),并且將在物理地址空間中的所述消息設(shè)置到映射狀態(tài)以映射到在消息數(shù)據(jù)OS的邏輯分區(qū)地址空間中的消息區(qū)域。在本發(fā)明的一個(gè)實(shí)施例的通信處理方法中,執(zhí)行消息傳送的至少一個(gè)通信執(zhí)行OS產(chǎn)生與由本身的OS管理的文件系統(tǒng)識(shí)別的文件描述符相關(guān)聯(lián)的套接字,產(chǎn)生經(jīng)由所述套接字而訪問(wèn)的虛擬文件,并且經(jīng)由所述虛擬文件來(lái)訪問(wèn)在物理地址空間中的消息區(qū)域,以便執(zhí)行消息傳送。在本發(fā)明的一個(gè)實(shí)施例的通信處理方法中,使用所述套接字的在通信操作中的通信執(zhí)行OS獲取與所述套接字相關(guān)聯(lián)的虛擬文件的標(biāo)識(shí)符,并且使用由所獲取的虛擬文件標(biāo)識(shí)符識(shí)別的虛擬文件來(lái)執(zhí)行消息寫(xiě)入操作和消息讀取操作之一。在所述通信處理方法中,優(yōu)選的是,在通信操作中的至少一個(gè)通信執(zhí)行OS產(chǎn)生與由本身的OS管理的文件系統(tǒng)識(shí)別的文件描述符相關(guān)聯(lián)的套接字,并且經(jīng)由所述套接字將在物理地址空間中的消息區(qū)域映射到處理的地址空間,以便所述處理直接地訪問(wèn)所述消息區(qū)域。在本發(fā)明的一個(gè)實(shí)施例的通信處理方法中,在通信操作中的至少一個(gè)通信執(zhí)行OS產(chǎn)生與由本身的OS管理的文件系統(tǒng)識(shí)別的文件描述符相關(guān)聯(lián)的套接字,并且經(jīng)由所述套接字將在物理地址空間中的消息區(qū)域映射為對(duì)應(yīng)于所述OS的邏輯分區(qū)的地址空間,以便訪問(wèn)所述消息區(qū)域。在本發(fā)明的一個(gè)實(shí)施例的通信處理方法中,使用所述套接字的在通信操作中的通信執(zhí)行OS設(shè)置對(duì)應(yīng)于所述套接字的服務(wù)的標(biāo)識(shí)符,并且設(shè)置對(duì)應(yīng)于所述服務(wù)的通信許可。在本發(fā)明的一個(gè)實(shí)施例的通信處理方法中,使用所述套接字的在通信操作中的所述通信執(zhí)行OS經(jīng)由所述套接字來(lái)對(duì)于所述消息執(zhí)行接收監(jiān)控處理。在本發(fā)明的一個(gè)實(shí)施例的通信處理方法中,所述通信執(zhí)行OS通過(guò)應(yīng)用選擇系統(tǒng)調(diào)用來(lái)經(jīng)由所述套接字對(duì)于所述消息執(zhí)行接收監(jiān)控處理。按照本發(fā)明的第三方面,用于控制在存儲(chǔ)了多個(gè)操作系統(tǒng)的信息處理裝置中的通信的計(jì)算機(jī)程序包括步驟將在物理地址空間中的消息區(qū)域設(shè)置為映射狀態(tài)以映射到在消息發(fā)送OS的邏輯分區(qū)地址空間中的消息區(qū)域;釋放映射狀態(tài);并且設(shè)置在物理地址空間中的消息區(qū)域以映射到在消息接收OS的邏輯分區(qū)地址空間中的消息區(qū)域。按照本發(fā)明的第四方面,一種用于控制在存儲(chǔ)了多個(gè)操作系統(tǒng)的信息處理裝置中的通信的計(jì)算機(jī)程序包括步驟產(chǎn)生與由本身的OS管理的文件系統(tǒng)識(shí)別的文件描述符相關(guān)聯(lián)的套接字;產(chǎn)生經(jīng)由所述套路而訪問(wèn)的虛擬文件;并且經(jīng)由所述虛擬文件來(lái)訪問(wèn)在所述物理地址空間中的所述消息區(qū)域。按照本發(fā)明的第五方面,一種用于控制在存儲(chǔ)了多個(gè)操作系統(tǒng)的信息處理裝置中的通信的計(jì)算機(jī)程序包括步驟產(chǎn)生與由本身的OS管理的文件系統(tǒng)識(shí)別的文件描述符相關(guān)聯(lián)的套接字;經(jīng)由所述套接字而將在物理地址空間中的所述消息區(qū)域映射到處理的地址空間;并且直接地訪問(wèn)所述消息區(qū)域。本發(fā)明的一個(gè)實(shí)施例的計(jì)算機(jī)程序被提供到在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或通信介質(zhì)中的通用計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)執(zhí)行多個(gè)程序代碼,所述存儲(chǔ)介質(zhì)諸如CD、FD或MO,所述通信介質(zhì)諸如網(wǎng)絡(luò)。通過(guò)以計(jì)算機(jī)可讀的方式來(lái)提供計(jì)算機(jī)程序,所述計(jì)算機(jī)系統(tǒng)執(zhí)行響應(yīng)于所述計(jì)算機(jī)程序的處理。通過(guò)下面的附圖和本發(fā)明的說(shuō)明,本發(fā)明的這些和其他特征以及優(yōu)點(diǎn)將變得顯而易見(jiàn)。在本發(fā)明的說(shuō)明的上下文中,所述系統(tǒng)指示多個(gè)裝置的邏輯集合,并且不限于在同一外殼中容納元件的裝置。按照本發(fā)明的實(shí)施例,在其中共存多個(gè)操作系統(tǒng)的多操作系統(tǒng)環(huán)境中的多個(gè)OS之中建立執(zhí)行通信控制的控制OS。所述控制OS控制在對(duì)應(yīng)于OS而設(shè)置的邏輯分區(qū)之間的消息傳送。所述控制OS通過(guò)下述方式來(lái)執(zhí)行消息傳送控制通過(guò)將在物理地址空間中的消息區(qū)域從向在消息發(fā)送OS中的邏輯分區(qū)地址空間中的消息區(qū)域的映射狀態(tài)轉(zhuǎn)換為向在消息接收OS中的邏輯分區(qū)地址空間中的消息區(qū)域的映射狀態(tài)。因此在不同的OS之間有可能進(jìn)行平滑的通信。按照本發(fā)明的實(shí)施例,所述OS產(chǎn)生與由本身的OS管理的文件系統(tǒng)識(shí)別的文件描述符相關(guān)聯(lián)的套接字,并且經(jīng)由所述套接字來(lái)訪問(wèn)在物理地址空間中的消息區(qū)域以發(fā)送和接收消息。在不同的OS之間使用一般的套接字來(lái)執(zhí)行消息傳送。按照本發(fā)明的實(shí)施例,通信執(zhí)行OS產(chǎn)生與由本身的OS管理的文件系統(tǒng)識(shí)別的文件描述符相關(guān)聯(lián)的套接字,并且經(jīng)由所述套接字而將在物理地址空間中的消息區(qū)域映射到處理的地址空間,以便所述處理直接地訪問(wèn)所述消息區(qū)域。在不同的OS之間使用一般的套接字來(lái)執(zhí)行消息傳送。所述處理可以因此使用所涉及的小開(kāi)銷(xiāo)來(lái)訪問(wèn)所述消息區(qū)域。按照本發(fā)明的實(shí)施例,設(shè)置對(duì)應(yīng)于所述套接字的服務(wù)的標(biāo)識(shí)符,以便對(duì)于所述服務(wù)設(shè)置通信許可。使用選擇系統(tǒng)調(diào)用來(lái)經(jīng)由所述套接字而執(zhí)行接收監(jiān)控處理。圖1是本發(fā)明的信息處理裝置的方框圖。圖2圖解了信息處理裝置中的處理器模塊。圖3圖解了按照本發(fā)明的信息處理裝置的操作系統(tǒng)的結(jié)構(gòu)。圖4圖解了在客戶(hù)機(jī)操作系統(tǒng)之間的通信處理。圖5圖解了經(jīng)由消息通道通信中的地址映射。圖6圖解了在客戶(hù)機(jī)機(jī)操作系統(tǒng)之間的通信處理序列。圖7圖解了在使用虛擬文件的通信中在系統(tǒng)控制OS和客戶(hù)OS之間的通信處理。圖8圖解了當(dāng)使用虛擬文件時(shí)基于在系統(tǒng)控制OS和客戶(hù)OS之間的通信中執(zhí)行的系統(tǒng)調(diào)用的處理。圖9是當(dāng)使用虛擬文件時(shí)在系統(tǒng)控制OS和客戶(hù)OS之間執(zhí)行的通信處理的流程圖。圖10圖解了當(dāng)不使用虛擬文件時(shí)在系統(tǒng)控制OS和客戶(hù)OS之間執(zhí)行的通信處理。圖11圖解了當(dāng)不使用虛擬文件時(shí)基于在系統(tǒng)控制OS和客戶(hù)OS之間的通信中執(zhí)行的系統(tǒng)調(diào)用的處理。圖12是當(dāng)不使用虛擬文件時(shí)在系統(tǒng)控制OS和客戶(hù)OS之間執(zhí)行的通信處理的流程圖。具體實(shí)施例方式下面參照附圖來(lái)說(shuō)明本發(fā)明的信息處理裝置、通信處理方法和計(jì)算機(jī)程序。下面參照?qǐng)D1來(lái)說(shuō)明本發(fā)明的信息處理裝置的硬件結(jié)構(gòu)。處理器模塊101包括多個(gè)處理單元,并且按照在ROM(只讀存儲(chǔ)器)104和HDD(硬盤(pán)驅(qū)動(dòng)器)123中存儲(chǔ)的各種程序來(lái)處理數(shù)據(jù),所述各種程序包括操作系統(tǒng)和在操作系統(tǒng)上運(yùn)行的應(yīng)用程序。下面將參照?qǐng)D2來(lái)說(shuō)明處理器模塊101。響應(yīng)于經(jīng)由處理器模塊101輸入的命令,圖形引擎102產(chǎn)生要在形成輸出單元122的例如顯示器的屏幕上顯示的數(shù)據(jù),并且執(zhí)行3D圖形繪制處理。主存儲(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向由用戶(hù)操作的、諸如鍵盤(pán)和定點(diǎn)(pointing)器件之類(lèi)的輸入器件輸入信息。輸出單元122包括諸如液晶顯示器和陰極射線管(CRT)之一的圖像輸出單元和諸如揚(yáng)聲器音頻輸出器件。HDD(硬盤(pán)驅(qū)動(dòng)器)123驅(qū)動(dòng)其中安裝的硬盤(pán),由此記錄或重放要由處理器模塊101執(zhí)行的程序和信息。驅(qū)動(dòng)器124讀取在所安裝的可移動(dòng)記錄介質(zhì)127諸如磁盤(pán)、光盤(pán)、磁光盤(pán)、半導(dǎo)體存儲(chǔ)器等中存儲(chǔ)的數(shù)據(jù)和程序,并且經(jīng)由接口113、外部總線112、橋105和主機(jī)總線111向主存儲(chǔ)器(DRAM)103提供數(shù)據(jù)和程序。連接端口125連接到外部器件128,并且可以包括USB、IEEE1394總線等。連接端口125經(jīng)由接口113、外部總線112、橋105和主機(jī)總線111連接到處理器模塊101。連接到網(wǎng)絡(luò)的通信單元126發(fā)送從HDD123等提供的數(shù)據(jù),并且從外部接收數(shù)據(jù)。下面參照?qǐng)D2來(lái)說(shuō)明處理器模塊的結(jié)構(gòu)。如圖所示,處理器模塊200包括主處理器組201和多個(gè)子處理器組202-20n,該主處理器組201包括多個(gè)主處理器單元,該多個(gè)子處理器組202-20n每個(gè)包括多個(gè)子處理器單元。每個(gè)組還包括存儲(chǔ)器控制器和輔助高速緩沖存儲(chǔ)器。處理器組201-20n——每個(gè)包括例如8個(gè)處理器單元——經(jīng)由交叉(crossbar)架構(gòu)和分組交換網(wǎng)絡(luò)之一而連接。響應(yīng)于主處理器組201的主處理器的命令,多個(gè)子處理器組202-20n中的至少一個(gè)子處理器被選擇來(lái)執(zhí)行預(yù)定的程序。每個(gè)處理器組中的存儲(chǔ)器流控制器控制對(duì)于圖1的主存儲(chǔ)器103的數(shù)據(jù)輸入和數(shù)據(jù)輸出。輔助高速緩沖存儲(chǔ)器作為用于每個(gè)處理器組中的處理數(shù)據(jù)的存儲(chǔ)器區(qū)域。下面參照?qǐng)D3來(lái)說(shuō)明本發(fā)明的信息處理裝置的操作系統(tǒng)。本發(fā)明的信息處理裝置具有其中包括多個(gè)操作系統(tǒng)的多操作系統(tǒng)。所述多操作系統(tǒng)信息處理裝置具有按如圖3中所示的邏輯分層結(jié)構(gòu)布置的多個(gè)OS。如圖3所示,控制OS301被布置在下層。多個(gè)子OS302、303和304被布置在上層。子OS302和303是客戶(hù)OS,子OS304是系統(tǒng)控制OS。與系統(tǒng)控制OS304一起,控制OS301形成作為參照?qǐng)D1和2所述的由處理器模塊101執(zhí)行的每個(gè)處理的執(zhí)行單元的邏輯分區(qū),并且向每個(gè)邏輯分區(qū)分配系統(tǒng)硬件資源(例如作為計(jì)算資源的主處理器、子處理器、存儲(chǔ)器和器件)。作為子OS的客戶(hù)OS302和303是游戲OS、Windows(商標(biāo))、Linux(商標(biāo))等,并且在控制OS301的控制下工作。雖然僅僅在圖3中示出了兩個(gè)客戶(hù)OS302和303,但是客戶(hù)OS的數(shù)目并不限于兩個(gè)??蛻?hù)OS302和303工作在由控制OS301和系統(tǒng)控制OS304設(shè)置的邏輯分區(qū)中。客戶(hù)OS302和303使用硬件資源來(lái)處理多種數(shù)據(jù),所述硬件資源諸如主處理器、子處理器、存儲(chǔ)器和器件,它們每個(gè)被分配到邏輯分區(qū)??蛻?hù)OS(a)302使用被分配到由控制OS301和系統(tǒng)控制OS304建立的邏輯分區(qū)2的硬件器件,包括主處理器、子處理器、存儲(chǔ)器和器件,由此執(zhí)行對(duì)應(yīng)于客戶(hù)OS(a)302的應(yīng)用程序305??蛻?hù)OS(b)303使用被分配到邏輯扇區(qū)n的硬件資源,包括主處理器、子處理器、存儲(chǔ)器和器件,由此執(zhí)行對(duì)應(yīng)于客戶(hù)OS(b)303的應(yīng)用程序306??刂芆S301提供執(zhí)行客戶(hù)OS所需要的客戶(hù)OS編程接口。作為子OS之一的系統(tǒng)控制OS304生成包含邏輯分區(qū)管理程序的系統(tǒng)控制程序307,并且響應(yīng)于系統(tǒng)控制程序307與控制OS301一起執(zhí)行操作控制。系統(tǒng)控制程序307使用系統(tǒng)控制程序編程接口來(lái)控制系統(tǒng)策略(policy)。控制OS301為系統(tǒng)控制OS304提供系統(tǒng)控制程序編程接口。系統(tǒng)控制程序307允許靈活的定制,例如設(shè)置資源分配的上限。系統(tǒng)控制程序307使用系統(tǒng)控制程序編程接口來(lái)控制系統(tǒng)的行為。例如,系統(tǒng)控制程序307產(chǎn)生新的邏輯分區(qū),并且在該邏輯分區(qū)發(fā)動(dòng)新的客戶(hù)OS。在其中多個(gè)客戶(hù)OS在操作的系統(tǒng)中,以在系統(tǒng)控制程序307中編制的順序啟動(dòng)客戶(hù)OS。系統(tǒng)控制程序307可以在控制OS301接收之前接收和檢查從客戶(hù)OS發(fā)出的資源分配請(qǐng)求,修改系統(tǒng)策略、否決請(qǐng)求本身。通過(guò)這種方式,沒(méi)有特定的客戶(hù)OS獨(dú)占資源。實(shí)現(xiàn)了系統(tǒng)策略的程序是系統(tǒng)控制程序??刂芆S301向系統(tǒng)控制OS304分配特定的邏輯分區(qū)(例如在圖3中所示的邏輯分區(qū)1)??刂芆S301以管理程序(hypervisor)模式操作??蛻?hù)OS以監(jiān)督(supervisor)模式操作。系統(tǒng)控制OS304和應(yīng)用程序以問(wèn)題模式(用戶(hù)模式)操作。邏輯分區(qū)是在系統(tǒng)中接收資源分配的實(shí)體。例如,主存儲(chǔ)器103(參見(jiàn)圖1)被劃分為幾個(gè)區(qū)域,并且每個(gè)邏輯分區(qū)被授予使用相應(yīng)區(qū)域的權(quán)利。下面列出了被分配到邏輯分區(qū)的資源的類(lèi)型。a)物理處理器單元使用時(shí)間b)虛擬地址空間c)由邏輯分區(qū)中操作的程序可訪問(wèn)的存儲(chǔ)器d)控制OS用來(lái)管理邏輯分區(qū)的存儲(chǔ)器e)事件端口f)使用器件的權(quán)利g)高速緩沖存儲(chǔ)器分區(qū)h)使用總線的權(quán)利如前所述,每個(gè)客戶(hù)OS操作在邏輯分區(qū)中。OS獨(dú)占所分配給該邏輯分區(qū)的資源以處理各種數(shù)據(jù)。在許多情況下,以每個(gè)客戶(hù)OS為基礎(chǔ),為系統(tǒng)上運(yùn)行的一個(gè)客戶(hù)OS產(chǎn)生一個(gè)分區(qū)。為每個(gè)邏輯分區(qū)分配唯一的標(biāo)識(shí)符。系統(tǒng)控制OS304通過(guò)將系統(tǒng)控制程序與標(biāo)識(shí)符相關(guān)聯(lián)而管理被作為邏輯分區(qū)信息產(chǎn)生的系統(tǒng)控制程序。由控制OS301和系統(tǒng)控制OS304產(chǎn)生邏輯分區(qū)。在剛剛產(chǎn)生后,邏輯分區(qū)沒(méi)有資源,并且對(duì)于可用資源沒(méi)有設(shè)置限制。邏輯分區(qū)采取兩種狀態(tài)之一活動(dòng)狀態(tài)和結(jié)束狀態(tài)。在剛剛產(chǎn)生后的邏輯分區(qū)采取活動(dòng)狀態(tài)。邏輯分區(qū)響應(yīng)于操作在該邏輯分區(qū)中的客戶(hù)OS的請(qǐng)求而轉(zhuǎn)變到結(jié)束狀態(tài),并且停止被分配到該邏輯分區(qū)的所有邏輯處理器。該邏輯處理器是被分配到該邏輯分區(qū)的那個(gè),并且對(duì)應(yīng)于任一物理處理器,即圖2的處理器組中的處理器。邏輯處理器和物理處理器不總是以一對(duì)一對(duì)應(yīng)關(guān)系彼此相關(guān)聯(lián)。單個(gè)邏輯處理器可以對(duì)應(yīng)于多個(gè)物理處理器?;蛘撸鄠€(gè)邏輯處理器可以對(duì)應(yīng)于單個(gè)物理處理器。通過(guò)控制OS301來(lái)確定在邏輯處理器和物理處理器之間的對(duì)應(yīng)性??刂芆S301具有限制可用于每個(gè)邏輯分區(qū)的資源的數(shù)量的功能??梢栽诓慌c系統(tǒng)控制OS304通信的情況下對(duì)客戶(hù)OS302和客戶(hù)OS303可以分配和釋放的資源使用數(shù)量設(shè)置限制。每個(gè)邏輯分區(qū)包括控制信號(hào)端口。在邏輯分區(qū)之間數(shù)據(jù)交換和共享所需的各種控制信號(hào)達(dá)到控制信號(hào)端口。所述控制信號(hào)包括a)連接邏輯分區(qū)之間的事件端口的請(qǐng)求,b)連接邏輯分區(qū)之間的消息通道的請(qǐng)求,以及c)連接到共享存儲(chǔ)器區(qū)域的請(qǐng)求。達(dá)到每個(gè)邏輯分區(qū)的控制信號(hào)被控制信號(hào)端口排隊(duì)。對(duì)于在存儲(chǔ)器資源所許可范圍內(nèi)的隊(duì)列的深度沒(méi)有限制。從接收控制信號(hào)的邏輯分區(qū)保留排隊(duì)所需要的存儲(chǔ)器資源。為了從所述端口取控制信號(hào),調(diào)用客戶(hù)OS編程接口。當(dāng)控制信號(hào)到達(dá)空的控制信號(hào)端口時(shí),可以向任何事件端口發(fā)送事件。通過(guò)調(diào)用客戶(hù)OS編程接口來(lái)指定事件端口。參見(jiàn)圖4,下面說(shuō)明OS之間的通信。邏輯分區(qū)與客戶(hù)OS和系統(tǒng)控制OS相關(guān)聯(lián)。經(jīng)由控制OS的消息通道來(lái)執(zhí)行在邏輯分區(qū)模塊之間的消息傳送。下面說(shuō)明兩種通信處理(1)在客戶(hù)OS之間的通信處理,和(2)在客戶(hù)OS和系統(tǒng)控制OS之間的通信處理。首先描述在客戶(hù)OS之間的通信處理。圖4圖解了在控制OS410上的兩個(gè)客戶(hù)OS之間執(zhí)行的通信處理的概念。從客戶(hù)OS(A)420向客戶(hù)OS(B)430傳送消息??刂芆S410設(shè)置用于在客戶(hù)OS之間和在客戶(hù)OS和系統(tǒng)控制OS之間的通信的消息通道412。消息通道412被建立為兩個(gè)邏輯分區(qū)之間的數(shù)據(jù)傳送機(jī)制,并且是面向連接的雙向通信路徑。參見(jiàn)圖4,描述經(jīng)由由控制OS410設(shè)置的、在客戶(hù)OS(A)420和客戶(hù)OS(B)430之間的消息通道412而執(zhí)行的通信處理??蛻?hù)OS(A)420是消息通道412的客戶(hù)機(jī)(連接源),客戶(hù)OS(B)430是消息通道412的服務(wù)器(連接目的地)??蛻?hù)OS(A)420向客戶(hù)OS(B)430發(fā)出消息通道連接請(qǐng)求。當(dāng)客戶(hù)OS(B)430提供消息通道連接許可時(shí),在如圖4中所示的控制OS410的控制下在客戶(hù)OS(A)420和客戶(hù)OS(B)430之間建立消息通道412。消息通道412被建立為連接消息端口422和432的通道,該連接消息端口422和432作為在客戶(hù)OS的連接端子。如果客戶(hù)OS(B)430拒絕消息通道連接請(qǐng)求,則不建立消息通道連接。對(duì)應(yīng)于客戶(hù)OS的消息通道422和432分別與事件接收端口421和431相關(guān)聯(lián)??刂芆S410準(zhǔn)備用于OS(邏輯分區(qū))之間通信和OS(邏輯分區(qū))內(nèi)通信的事件機(jī)制。以一對(duì)一和單向連接來(lái)從事件發(fā)送端口向事件接收端口發(fā)送事件。事件接收端口既不將事件排隊(duì)也不對(duì)事件計(jì)數(shù)。例如,如果新的事件達(dá)到具有待讀取的剩余事件的事件接收端口,則所述事件接收端口停留于懸停狀態(tài)。具有已經(jīng)建立的連接的事件發(fā)送端口可以無(wú)限次地發(fā)送事件。事件接收端口是這樣的端口經(jīng)由此端口,邏輯分區(qū)中的客戶(hù)OS接收事件。到達(dá)時(shí)間接收端口的事件被作為中斷處理。當(dāng)在OS(邏輯分區(qū))之間建立消息通道時(shí)或當(dāng)消息達(dá)到空的消息端口時(shí),事件被傳遞到相關(guān)聯(lián)的事件接收端口。如果客戶(hù)OS(B)430允許消息通道的連接,則在控制OS410的控制下在客戶(hù)OS(A)420和客戶(hù)OS(B)430之間連接消息通道412,如圖4所示??蛻?hù)OS(A)420然后準(zhǔn)備消息區(qū)域。作為消息區(qū)域?qū)嶓w的物理地址消息區(qū)域411存在于系統(tǒng)的存儲(chǔ)器上。圖4的客戶(hù)OS(A)420的消息區(qū)域423和客戶(hù)OS(B)430的消息區(qū)域433是相應(yīng)的OS的邏輯分區(qū)的邏輯地址空間消息區(qū)域。物理地址消息區(qū)域411在任何給定時(shí)刻屬于單個(gè)邏輯分區(qū)。沒(méi)有屬于其的物理地址消息區(qū)域411的邏輯分區(qū)不能訪問(wèn)消息區(qū)域。更具體而言,在任何給定時(shí)刻,將物理地址消息區(qū)域411映射到客戶(hù)OS(A)420的邏輯地址空間消息區(qū)域423和客戶(hù)OS(B)430的邏輯地址空間消息區(qū)域433之一。由控制OS410來(lái)執(zhí)行所述映射控制??刂芆S410使用從邏輯地址空間到物理地址空間的虛擬地址轉(zhuǎn)換機(jī)制來(lái)經(jīng)由消息通道412執(zhí)行消息傳送。下面參見(jiàn)圖5來(lái)說(shuō)明使用虛擬地址轉(zhuǎn)換機(jī)制的消息傳送處理。如圖5中所示,狀態(tài)1是在從客戶(hù)OS(A)向客戶(hù)OS(B)進(jìn)行消息傳送之前的狀態(tài),狀態(tài)2是在從OS(A)到客戶(hù)OS(B)的消息傳送后的狀態(tài)。在狀態(tài)1中,消息區(qū)域451被映射到在消息傳送目的地(客戶(hù)機(jī))側(cè)上的邏輯分區(qū)的邏輯分區(qū)地址空間、即客戶(hù)OS(A)的邏輯分區(qū)地址空間460的消息區(qū)域461。在狀態(tài)1中,客戶(hù)OS(B)的邏輯分區(qū)地址空間470的邏輯區(qū)域471不能訪問(wèn)物理地址空間450的消息區(qū)域451。消息區(qū)域451被傳送。在物理地址接口450中保留的消息區(qū)域451被從在客戶(hù)機(jī)側(cè)邏輯分區(qū)上的邏輯分區(qū)地址空間460、即客戶(hù)OS(A)的邏輯分區(qū)地址空間460去除映射(釋放映射),然后被映射到在服務(wù)器側(cè)邏輯分區(qū)上的邏輯分區(qū)地址空間、即邏輯分區(qū)地址空間470的邏輯區(qū)域471。換句話(huà)說(shuō),建立圖5的狀態(tài)2。在狀態(tài)2中,從消息區(qū)域451屬于其的邏輯分區(qū)、即從客戶(hù)OS(A)的邏輯分區(qū)地址空間460到物理地址空間450的消息區(qū)域451的訪問(wèn)不能被許可。控制OS將物理地址空間450中保留的消息區(qū)域451映射到在消息通道的消息端口中設(shè)置的客戶(hù)OS(邏輯分區(qū))的邏輯分區(qū)地址空間之一,并且執(zhí)行到其它邏輯分區(qū)地址空間的去除映射處理??刂芆S因此通過(guò)允許服務(wù)器訪問(wèn)來(lái)自客戶(hù)機(jī)的消息而執(zhí)行消息傳送。下面參見(jiàn)圖6來(lái)說(shuō)明經(jīng)由客戶(hù)OS之間的消息通道的消息傳送序列。在步驟S101中,消息發(fā)送OS(客戶(hù)機(jī))向消息接收OS(服務(wù)器)發(fā)送連接請(qǐng)求。在步驟S102,經(jīng)由控制OS將該連接請(qǐng)求發(fā)送到消息接收OS(服務(wù)器)。在步驟S103,消息接收OS(服務(wù)器)響應(yīng)于接收到連接請(qǐng)求而許可連接??刂芆S產(chǎn)生消息通道,其中在消息發(fā)送OS(客戶(hù)機(jī))和消息接收OS(服務(wù)器)的每個(gè)中設(shè)置消息端口。基于產(chǎn)生了該消息通道,控制OS在步驟S104經(jīng)由與所述消息端口相關(guān)聯(lián)的事件接收端口向每個(gè)OS通知消息通道設(shè)置的完成。在步驟S105,消息發(fā)送OS(客戶(hù)機(jī))保留對(duì)應(yīng)于圖5的邏輯地址空間消息區(qū)域423的消息區(qū)域。在步驟S106中,控制OS將物理地址空間的消息區(qū)域映射到消息發(fā)送OS(客戶(hù)機(jī))的邏輯分區(qū)地址空間。這個(gè)處理步驟對(duì)應(yīng)于圖4中所示將客戶(hù)OS(A)420的邏輯地址空間消息區(qū)域423映射到物理地址消息區(qū)域411的映射處理。在步驟S107中,控制OS將物理地址空間的消息區(qū)域從消息發(fā)送OS(客戶(hù)機(jī))的邏輯分區(qū)的邏輯分區(qū)地址空間解除映射(映射釋放)??刂芆S然后將物理地址空間的消息區(qū)域映射到消息接收OS(客戶(hù)機(jī))的邏輯分區(qū)的邏輯分區(qū)地址空間。具體而言,如圖4中所示,釋放從客戶(hù)OS(A)420的邏輯地址空間消息區(qū)域423到物理地址消息區(qū)域411的映射,并且將物理地址消息區(qū)域411映射到客戶(hù)OS(B)430的邏輯地址空間消息區(qū)域433。在步驟S108中,消息接收OS(服務(wù)器)經(jīng)由消息接收OS(服務(wù)器)的邏輯分區(qū)的邏輯分區(qū)地址空間訪問(wèn)物理地址空間的消息區(qū)域,并且獲取消息。在步驟S109,消息接收OS(服務(wù)器)丟棄該消息區(qū)域。在步驟S110,消息接收OS(服務(wù)器)丟棄該消息端口。在步驟S111,使用事件接收端口向消息發(fā)送OS(客戶(hù)機(jī))發(fā)送丟棄該消息端口的通知。在步驟S112,消息發(fā)送OS(客戶(hù)機(jī))丟棄該消息端口。這樣丟棄了該消息通道,并完成了使用消息通道的OS之間的通信。下面參照?qǐng)D7和10來(lái)說(shuō)明在系統(tǒng)控制OS和客戶(hù)OS之間執(zhí)行的通信處理。如前所述,系統(tǒng)控制OS產(chǎn)生系統(tǒng)控制程序,并且根據(jù)系統(tǒng)中預(yù)定的資源預(yù)算的上限信息來(lái)控制整個(gè)系統(tǒng)。響應(yīng)于客戶(hù)OS中設(shè)置的邏輯分區(qū)的資源請(qǐng)求,客戶(hù)OS向系統(tǒng)控制OS中設(shè)置的系統(tǒng)控制程序傳送消息,以便執(zhí)行各種處理。在上述的客戶(hù)OS之間的通信中,執(zhí)行消息傳送以將與每個(gè)客戶(hù)OS中設(shè)置的邏輯分區(qū)對(duì)應(yīng)的邏輯地址空間映射到物理地址中的消息區(qū)域,以及解除到物理地址中的消息區(qū)域的映射。在系統(tǒng)控制OS中所設(shè)置的系統(tǒng)控制程序和客戶(hù)OS之間的通信處理中使用由圖7的控制OS510產(chǎn)生的消息通道512。系統(tǒng)控制OS520產(chǎn)生被應(yīng)用于通信的UNIX(注冊(cè)商標(biāo))套接字,并且經(jīng)由消息信道來(lái)通信。如果使用如圖7中所示的虛擬文件來(lái)執(zhí)行通信,則系統(tǒng)控制OS產(chǎn)生與由本身的OS管理的文件系統(tǒng)識(shí)別的文件描述符相關(guān)聯(lián)的套接字,并且產(chǎn)生經(jīng)由所述套接字來(lái)訪問(wèn)的虛擬文件。經(jīng)由所述虛擬文件來(lái)執(zhí)行對(duì)物理地址空間消息區(qū)域的訪問(wèn)以交換消息。如果如圖10中所示不使用任何虛擬文件地執(zhí)行通信,則系統(tǒng)控制OS產(chǎn)生與由本身的OS管理的文件系統(tǒng)識(shí)別的文件描述符相關(guān)聯(lián)的套接字,并且經(jīng)由所述套接字將物理地址空間中的消息區(qū)域映射到處理的地址空間。所述處理直接地訪問(wèn)消息區(qū)域。UNIX(注冊(cè)商標(biāo))套接字包括用于與在系統(tǒng)中的處理的通信的套接字(UNIX域套接字)和用于經(jīng)由網(wǎng)絡(luò)與另一系統(tǒng)通信的套接字(因特網(wǎng)域套接字)。系統(tǒng)控制OS向系統(tǒng)控制程序提供消息通道作為新域的套接字。系統(tǒng)控制程序可以使用在與已有相同的語(yǔ)義套接字處的消息通道執(zhí)行通信。如下執(zhí)行使用已知的UNIX套接字(UNIX域套接字)的通信處理。a)消息接收(服務(wù)器)處理響應(yīng)于套接字系統(tǒng)調(diào)用而產(chǎn)生套接字。b)消息接收(服務(wù)器)處理響應(yīng)于綁定系統(tǒng)調(diào)用而分配對(duì)應(yīng)于套接字的名稱(chēng)(文件描述符)。c)消息接收(服務(wù)器)處理執(zhí)行監(jiān)聽(tīng)系統(tǒng)調(diào)用,并且設(shè)置連接準(zhǔn)備好狀態(tài)。d)消息發(fā)送(客戶(hù)機(jī))處理響應(yīng)于套接字系統(tǒng)調(diào)用而產(chǎn)生套接字,并且使用連接系統(tǒng)調(diào)用建立服務(wù)器側(cè)套接字。e)消息接收(服務(wù)器)處理執(zhí)行接受系統(tǒng)調(diào)用,并且接受來(lái)自消息發(fā)送(客戶(hù)機(jī))處理接的請(qǐng)求。f)在完成連接后,使用寫(xiě)入系統(tǒng)調(diào)用作為對(duì)對(duì)應(yīng)于套接字的文件描述符的寫(xiě)入處理、并且使用讀取系統(tǒng)調(diào)用作為讀取處理而交換消息。已經(jīng)討論了使用UNIX的套接字(UNIX域套接字)的通信序列。按照本發(fā)明,使用由圖7和圖10的控制OS510設(shè)置的消息通道512。在系統(tǒng)控制程序上執(zhí)行與使用上述的套接字的處理基本等同的處理,以與客戶(hù)OS通信。在客戶(hù)OS側(cè),執(zhí)行與前述的客戶(hù)OS間的通信基本等同的處理。下面參見(jiàn)圖7和8(圖解了使用虛擬文件的通信)和圖11和12(圖解了不使用虛擬文件的通信)來(lái)說(shuō)明系統(tǒng)控制OS520和客戶(hù)OS530的通信處理序列??蛻?hù)OS和由系統(tǒng)控制OS520設(shè)置的系統(tǒng)控制程序?qū)嶋H上執(zhí)行通信處理。在所述通信處理中,使用由控制OS510產(chǎn)生的消息通道512和由系統(tǒng)控制程序核心521產(chǎn)生的通信套接字。系統(tǒng)控制程序執(zhí)行各種系統(tǒng)調(diào)用,并且系統(tǒng)控制程序核心521響應(yīng)于系統(tǒng)調(diào)用而執(zhí)行處理。所述系統(tǒng)控制程序核心521設(shè)置通信環(huán)境和通信控制處理。系統(tǒng)控制程序使用由系統(tǒng)控制程序核心521產(chǎn)生的通信套接字,由此以與使用上述的UNIX套接字的通信基本上等同的處理與客戶(hù)OS通信。圖8和11圖解了執(zhí)行與客戶(hù)OS的通信的系統(tǒng)控制程序的處理和所述核心的處理。所述處理的步驟如下所述。在步驟S201,系統(tǒng)控制程序啟動(dòng)套接字系統(tǒng)調(diào)用“socket()”來(lái)產(chǎn)生連接套接字以接收連接請(qǐng)求。系統(tǒng)調(diào)用用于調(diào)用系統(tǒng)控制程序核心521的函數(shù)。響應(yīng)于套接字系統(tǒng)調(diào)用“socket()”的啟動(dòng),系統(tǒng)控制程序核心521生成圖7和10的連接套接字525。所產(chǎn)生的套接字對(duì)應(yīng)于由系統(tǒng)控制OS520所管理的文件系統(tǒng)中設(shè)置的文件名稱(chēng)(文件描述符)。在步驟S202,系統(tǒng)控制程序啟動(dòng)綁定系統(tǒng)調(diào)用“blind(socket,...)”。響應(yīng)于綁定系統(tǒng)調(diào)用,系統(tǒng)控制程序核心521將用于等待系統(tǒng)控制程序的連接請(qǐng)求的服務(wù)ID(端口號(hào))與所述套接字相關(guān)聯(lián)。每個(gè)套接字因此與由系統(tǒng)控制程序提供的服務(wù)相關(guān)聯(lián)。在步驟S203,系統(tǒng)控制程序啟動(dòng)監(jiān)聽(tīng)系統(tǒng)調(diào)用“l(fā)isten(socket,...)”。系統(tǒng)控制程序核心521響應(yīng)于所述收聽(tīng)系統(tǒng)調(diào)用而允許對(duì)應(yīng)于所述套接字的服務(wù)的連接。所述套接字被提供以包括對(duì)應(yīng)于所述服務(wù)的標(biāo)識(shí)符。所述系統(tǒng)控制程序執(zhí)行對(duì)應(yīng)于所述服務(wù)的通信許可設(shè)置。在步驟S204中,系統(tǒng)控制程序啟動(dòng)接受系統(tǒng)調(diào)用(fd=accept(socket,...))。系統(tǒng)控制程序核心521響應(yīng)于接收系統(tǒng)調(diào)用而檢查消息通道的連接請(qǐng)求的存在與否,以查看是否連接消息通道的連接請(qǐng)求已經(jīng)到達(dá)。如果連接請(qǐng)求已經(jīng)到達(dá),則執(zhí)行下面的處理步驟(a)-(c)。(a)產(chǎn)生通信套接字(圖7和圖10的通信套接字526)。(b)在由系統(tǒng)控制OS520管理的文件系統(tǒng)的文件描述符表格(fd_table)中登記對(duì)應(yīng)于套接字的文件描述符(fd)。(c)將所登記的對(duì)應(yīng)于套接字的文件描述符(fd)返回系統(tǒng)控制程序。如果連接請(qǐng)求還沒(méi)有到達(dá),則執(zhí)行下面的處理步驟(d)和(e)。(d)將所述處理設(shè)置在暫停(suspend)狀態(tài)中。(e)當(dāng)下一個(gè)連接請(qǐng)求到達(dá)時(shí)從暫停狀態(tài)釋放所述處理,然后執(zhí)行上述的處理步驟(a)-(c)。這樣在系統(tǒng)控制程序和客戶(hù)OS之間建立了消息通道。圖7的虛擬文件524是具有由控制OS510管理的物理地址空間消息區(qū)域511的抽象形式的文件。由系統(tǒng)控制OS520來(lái)執(zhí)行文件產(chǎn)生處理和文件刪除處理?,F(xiàn)在從客戶(hù)OS530向系統(tǒng)控制程序傳送消息。在消息傳送之前,將客戶(hù)OS530的邏輯地址空間消息區(qū)域533映射到物理地址空間消息區(qū)域511。在消息傳送之后,物理地址空間消息區(qū)域511變?yōu)樵谙到y(tǒng)控制OS520上的虛擬文件524,并且變?yōu)榭捎上到y(tǒng)控制程序訪問(wèn)。在從系統(tǒng)控制程序向客戶(hù)OS530的消息傳送中,在系統(tǒng)控制OS520上的虛擬文件524在消息傳送之前變得可以由系統(tǒng)控制程序訪問(wèn)。在消息傳送之后,系統(tǒng)控制OS520刪除虛擬文件,并且物理地址空間消息區(qū)域511被映射到客戶(hù)OS530的邏輯地址空間消息區(qū)域533。為了將物理地址空間消息區(qū)域511直接地映射到處理的地址接口而不是經(jīng)由虛擬文件524,執(zhí)行下面的處理。在從客戶(hù)OS530向系統(tǒng)控制程序的消息傳送中,客戶(hù)OS530的邏輯地址空間消息區(qū)域533在消息傳送之前被映射到物理地址空間消息區(qū)域511。在消息傳送之后,系統(tǒng)控制OS520將物理地址空間消息區(qū)域511映射到所述處理的地址空間,以便系統(tǒng)控制程序可以執(zhí)行直接的訪問(wèn)。在從系統(tǒng)控制程序到客戶(hù)OS530的消息傳送中,系統(tǒng)控制OS520將物理地址空間消息區(qū)域511映射到所述處理的地址接口,以便系統(tǒng)控制程序可以執(zhí)行直接的訪問(wèn)。在消息傳送之后,系統(tǒng)控制OS520釋放所述映射,并且將物理地址空間消息區(qū)域511映射到客戶(hù)OS530的邏輯地址空間消息區(qū)域533。如果使用虛擬文件,則系統(tǒng)控制程序響應(yīng)于指定通信套接字的文件描述符的讀取系統(tǒng)調(diào)用而獲取對(duì)應(yīng)于所述套接字的虛擬文件524的標(biāo)識(shí)符。系統(tǒng)控制程序使用用于指定虛擬文件的系統(tǒng)調(diào)用(打開(kāi)、關(guān)閉、讀取和寫(xiě)入系統(tǒng)調(diào)用)之一,由此打開(kāi)或關(guān)閉對(duì)應(yīng)于套接字的文件或?qū)懭牖蜃x取消息。物理地址空間消息區(qū)域511可以直接地被映射到所述處理的地址接口,而不是經(jīng)由虛擬文件524。響應(yīng)于指定通信套接字的文件描述符的讀取系統(tǒng)調(diào)用,系統(tǒng)控制程序獲取物理地址空間消息區(qū)域511所映射到的處理的地址空間的地址。通過(guò)直接地訪問(wèn)所述地址,系統(tǒng)控制程序可以執(zhí)行對(duì)于所述消息區(qū)域讀取處理和寫(xiě)入處理。系統(tǒng)控制程序設(shè)置多個(gè)套接字。獨(dú)立的虛擬文件被設(shè)置到相應(yīng)的套接字,并且每個(gè)虛擬文件可以獨(dú)立地與在用于通信的物理地址空間中的消息區(qū)域相關(guān)聯(lián)。(如果物理地址空間消息區(qū)域而不是虛擬文件被直接地映射到所述處理的地址空間,則也同樣如此)。套接字與服務(wù)標(biāo)識(shí)符相關(guān)聯(lián)。通過(guò)選擇性地執(zhí)行由套接字指定的系統(tǒng)調(diào)用,執(zhí)行套接字(服務(wù))的獨(dú)立處理,諸如通信許可、通信拒絕等。在步驟S201到S204中的消息通道的產(chǎn)生之后的任何時(shí)刻,可執(zhí)行圖8和11的處理步驟S-A到S-E。每個(gè)處理步驟如下所述。步驟S-A是用于接收來(lái)自客戶(hù)OS的消息的消息接收步驟。系統(tǒng)控制程序啟動(dòng)用于接收消息的讀取系統(tǒng)調(diào)用(read(fd,...))。系統(tǒng)控制程序核心521響應(yīng)于讀取系統(tǒng)調(diào)用而檢查已經(jīng)從客戶(hù)OS經(jīng)由消息通道到達(dá)的消息的存在與否。為了使用虛擬文件來(lái)執(zhí)行通信處理,在消息已經(jīng)到達(dá)后執(zhí)行下面的處理步驟(a)和(b)。(a)響應(yīng)于圖7的到達(dá)消息524而產(chǎn)生虛擬文件。(b)將對(duì)應(yīng)于到達(dá)的消息區(qū)域的虛擬文件的標(biāo)識(shí)符(ID)和短消息復(fù)制到用戶(hù)緩沖器。換句話(huà)說(shuō),將所述標(biāo)識(shí)符和短消息傳送到系統(tǒng)控制程序。響應(yīng)于虛擬的文件的標(biāo)識(shí)符,系統(tǒng)控制程序通過(guò)指定虛擬文件來(lái)讀取消息。如果所述消息還沒(méi)有到達(dá),則執(zhí)行下面的處理步驟(c)和(d)。(c)將所述處理設(shè)置在暫停狀態(tài)中。(d)當(dāng)所述消息已經(jīng)到達(dá)時(shí)將所述處理從暫停狀態(tài)釋放,并且執(zhí)行處理步驟(a)和(b)。通過(guò)對(duì)應(yīng)于套接字的文件描述符(fd)來(lái)識(shí)別圖7的虛擬文件524,并且虛擬文件524與由控制OS510管理的物理地址空間消息區(qū)域511兼容。在不使用虛擬文件的通信中(將物理地址空間消息區(qū)域511直接地映射到所述處理的地址空間),將所述消息區(qū)域映射到所述處理的地址空間,并且將所述消息區(qū)域的地址和大小復(fù)制到用戶(hù)緩沖器。換句話(huà)說(shuō),向系統(tǒng)控制程序通知所述地址和大小。根據(jù)所述地址,系統(tǒng)控制程序直接地讀取所述物理地址空間的內(nèi)容。步驟S-B是用于訪問(wèn)消息的處理步驟。使用虛擬文件的通信處理是要對(duì)于虛擬文件524執(zhí)行的處理。系統(tǒng)控制程序啟動(dòng)作為要對(duì)虛擬文件524執(zhí)行的處理啟的系統(tǒng)調(diào)用(打開(kāi)、關(guān)閉、讀取和寫(xiě)入系統(tǒng)調(diào)用)之一。所述系統(tǒng)控制程序核心521執(zhí)行對(duì)應(yīng)于每個(gè)系統(tǒng)調(diào)用的處理。響應(yīng)于打開(kāi)和關(guān)閉系統(tǒng)調(diào)用,分別打開(kāi)和關(guān)閉虛擬文件524。響應(yīng)于寫(xiě)入系統(tǒng)調(diào)用,向虛擬文件524上執(zhí)行數(shù)據(jù)寫(xiě)入。響應(yīng)于讀取系統(tǒng)調(diào)用,從虛擬文件524執(zhí)行數(shù)據(jù)讀取。這些處理被執(zhí)行為通過(guò)指定文件描述符的處理。在不使用虛擬文件的通信(將物理地址空間消息區(qū)域映射到所述處理的地址空間)中,系統(tǒng)控制程序可以直接地訪問(wèn)被映射到所述處理的地址空間的消息區(qū)域。步驟S-C是要執(zhí)行來(lái)發(fā)送消息的處理。在使用虛擬文件的通信中,發(fā)送在虛擬文件524上所寫(xiě)入的消息。系統(tǒng)控制程序啟動(dòng)指定對(duì)應(yīng)于通信套接字的虛擬文件的ID的寫(xiě)入系統(tǒng)調(diào)用(write(fd,...))。響應(yīng)于所述寫(xiě)入系統(tǒng)調(diào)用(write(fd,...)),系統(tǒng)控制程序核心521發(fā)送在虛擬文件524上所寫(xiě)入的消息。響應(yīng)于系統(tǒng)控制程序核心521基于所述寫(xiě)入系統(tǒng)調(diào)用(write(fd,...))而執(zhí)行的處理,控制OS510刪除對(duì)應(yīng)于物理地址空間消息區(qū)域511的、在系統(tǒng)控制OS520上的虛擬文件524,并且將物理地址空間消息區(qū)域511映射到客戶(hù)OS530上的邏輯地址空間消息區(qū)域533。在這個(gè)處理中,將系統(tǒng)控制程序已經(jīng)使用虛擬文件524寫(xiě)入的消息傳送到客戶(hù)OS530。以與前述相同的方式使用消息端口532和事件端口531來(lái)執(zhí)行客戶(hù)OS530的處理。在不使用虛擬文件的通信(將物理地址空間消息區(qū)域映射到所述處理的地址空間)中,系統(tǒng)控制程序啟動(dòng)對(duì)通信套接字的寫(xiě)入系統(tǒng)調(diào)用(write(fd,...))。所述寫(xiě)入系統(tǒng)調(diào)用指定了將物理地址空間消息區(qū)域被映射到所述處理的地址空間的地址。響應(yīng)于寫(xiě)入系統(tǒng)調(diào)用(write(fd,,...)),系統(tǒng)控制程序核心521執(zhí)行向物理地址空間消息區(qū)域的發(fā)送處理,在所述發(fā)送處理期間,釋放到消息區(qū)域的處理地址的映射被釋放。步驟S-D是用于刪除所接收的消息的處理步驟。在使用虛擬文件的通信中,系統(tǒng)控制程序啟動(dòng)對(duì)虛擬文件524的解開(kāi)鏈接系統(tǒng)調(diào)用(unlink())。響應(yīng)于所述解開(kāi)鏈接系統(tǒng)調(diào)用(unlink()),系統(tǒng)控制程序核心521通過(guò)刪除識(shí)別所接收的消息的文件來(lái)丟棄所述消息。在不使用虛擬文件的通信中,簡(jiǎn)單地釋放到所述處理的地址空間的映射,并且釋放物理地址空間消息區(qū)域。步驟S-E是用于斷開(kāi)消息通道的處理步驟。系統(tǒng)控制程序啟動(dòng)指定套接字的關(guān)閉系統(tǒng)調(diào)用(close(socket))。系統(tǒng)控制程序核心521刪除消息端口,由此斷開(kāi)消息通道的連接。雖然在圖8和圖11中未示出消息發(fā)送和接收處理,系統(tǒng)控制程序響應(yīng)于選擇系統(tǒng)調(diào)用(選擇)而監(jiān)控消息發(fā)送和接收處理。通過(guò)啟動(dòng)標(biāo)識(shí)對(duì)應(yīng)于套接字的文件描述符的選擇系統(tǒng)調(diào)用,系統(tǒng)控制程序核心521不斷地監(jiān)控與選擇系統(tǒng)調(diào)用標(biāo)識(shí)的套接字對(duì)應(yīng)的所接收消息的存在與否,就像另一個(gè)輸入和輸出處理那樣。例如,系統(tǒng)控制程序利用對(duì)于多個(gè)客戶(hù)OS的逐個(gè)客戶(hù)OS不同的通信套接字執(zhí)行通信處理。系統(tǒng)控制程序?qū)⒖蛻?hù)OS(A)的通信套接字(fd=s0)和客戶(hù)OS(B)的通信套接字(fd=s1)指定為選擇系統(tǒng)調(diào)用的目標(biāo)。系統(tǒng)控制程序核心521因此監(jiān)控到每個(gè)套接字的消息的存在與否。如果存在消息,則系統(tǒng)控制程序核心521向系統(tǒng)控制程序通知消息的存在。使用所述選擇系統(tǒng)調(diào)用(選擇),執(zhí)行有效的處理。下面參見(jiàn)圖9和圖12的流程圖來(lái)說(shuō)明客戶(hù)OS和系統(tǒng)控制程序的處理。在所述處理中,系統(tǒng)控制程序向客戶(hù)OS發(fā)送消息和從客戶(hù)OS接收消息。在步驟S301中,系統(tǒng)控制程序響應(yīng)于套接字系統(tǒng)調(diào)用而產(chǎn)生套接字(socket())。這里的套接字對(duì)應(yīng)于圖7的套接字525。在步驟S302中,系統(tǒng)控制程序響應(yīng)于綁定系統(tǒng)調(diào)用(blind())而將服務(wù)ID附接到套接字。這里的套接字被設(shè)置為與系統(tǒng)控制程序提供的服務(wù)相關(guān)聯(lián)。在步驟S303,系統(tǒng)控制程序響應(yīng)于監(jiān)聽(tīng)系統(tǒng)調(diào)用(listen())而將套接字設(shè)置在連接許可狀態(tài)下。通過(guò)發(fā)出標(biāo)識(shí)套接字的監(jiān)聽(tīng)系統(tǒng)調(diào)用,系統(tǒng)控制程序可以將套接字設(shè)置在連接許可狀態(tài)或連接不許可狀態(tài)下。在步驟S304,系統(tǒng)控制程序通過(guò)接受系統(tǒng)調(diào)用(accept())而等待到套接字的連接請(qǐng)求。在步驟S305,客戶(hù)OS執(zhí)行到系統(tǒng)控制程序的消息通道連接操作。所述消息通道連接操作包括下面的處理步驟(a)和(b)。(a)客戶(hù)OS執(zhí)行連接請(qǐng)求處理(對(duì)應(yīng)于在圖6的序列圖中在步驟S101中的連接請(qǐng)求處理)。(b)控制OS向系統(tǒng)控制程序通知所述連接請(qǐng)求。響應(yīng)于如前所述的在步驟S304中的接受系統(tǒng)調(diào)用,客戶(hù)OS被通知以來(lái)自控制OS的消息通道設(shè)置通知(對(duì)應(yīng)于圖6的步驟S104)。在步驟S306,系統(tǒng)控制程序上的核心在執(zhí)行到套接字的連接處理的同時(shí)將消息通道連接到系統(tǒng)控制程序。具體地,所述核心產(chǎn)生通信套接字,并且在接受系統(tǒng)調(diào)用(accept())時(shí)從等待狀態(tài)恢復(fù)。在步驟S307,客戶(hù)OS準(zhǔn)備消息區(qū)域,并且經(jīng)由消息通道傳送所述消息區(qū)域。這個(gè)處理包括下面的處理步驟a)和b)。a)客戶(hù)OS保留消息區(qū)域。具體地,客戶(hù)OS在對(duì)應(yīng)于客戶(hù)OS的邏輯分區(qū)的邏輯地址空間中設(shè)置消息區(qū)域。b)將所述客戶(hù)OS的所述邏輯地址空間的所述消息區(qū)域映射到物理地址空間的消息區(qū)域。在使用虛擬文件的通信中,系統(tǒng)控制程序上的核心在步驟S308(a)接收從客戶(hù)OS發(fā)送的消息區(qū)域,并且產(chǎn)生由系統(tǒng)控制程序可訪問(wèn)的虛擬文件。所述虛擬文件是圖7的虛擬文件524。虛擬文件ID被附接到所產(chǎn)生的虛擬文件上??刂芆S將物理空間的消息區(qū)域與系統(tǒng)控制程序上的核心所產(chǎn)生的虛擬文件524相關(guān)聯(lián)。在不使用虛擬文件的通信中,在步驟S308(b)中,系統(tǒng)控制程序上的核心接收從客戶(hù)OS發(fā)送的消息區(qū)域,并且將所述消息區(qū)域映射到系統(tǒng)控制程序的地址空間。在使用虛擬文件的通信中,系統(tǒng)控制程序在步驟S309(a)中按照指定通信套接字的讀取系統(tǒng)調(diào)用(read())來(lái)獲取對(duì)應(yīng)于所述消息區(qū)域的虛擬文件的ID。所述虛擬文件ID例如是文件名稱(chēng)。在步驟310(a)中,系統(tǒng)控制程序使用指定虛擬文件ID的打開(kāi)系統(tǒng)調(diào)用(open())來(lái)打開(kāi)虛擬文件,并且使用讀取系統(tǒng)調(diào)用(read())來(lái)讀取在所述消息區(qū)域中存儲(chǔ)的數(shù)據(jù)。系統(tǒng)控制程序使用對(duì)所打開(kāi)的虛擬文件的寫(xiě)入系統(tǒng)調(diào)用(write()),由此在虛擬文件上寫(xiě)入數(shù)據(jù)。在不使用虛擬文件的通信中,系統(tǒng)控制程序直接地訪問(wèn)被映射到本身程序的地址空間的消息區(qū)域(步驟S309(b)和S310(b))。系統(tǒng)控制程序在步驟S311(a)和S311(b)之一中指定通信套接字。系統(tǒng)控制程序執(zhí)行寫(xiě)入系統(tǒng)調(diào)用(write()),它作為對(duì)于處理地址空間中的地址的寫(xiě)入處理,并且將虛擬文件的ID和物理地址空間消息區(qū)域之一映射到所述處理地址空間。所述核心然后向客戶(hù)OS傳送所述消息區(qū)域。響應(yīng)于所述處理,控制OS在系統(tǒng)控制程序上刪除所述虛擬文件,或者將被映射到所述處理的地址空間的物理地址空間的消息區(qū)域解除映射。控制OS將所述消息區(qū)域映射到客戶(hù)OS的邏輯分區(qū)的消息區(qū)域。在此處理后,客戶(hù)OS可以并且進(jìn)行讀取消息。在系統(tǒng)控制程序和客戶(hù)OS之間的通信處理中,系統(tǒng)控制程序使用套接字來(lái)執(zhí)行通信處理,由此經(jīng)由由控制OS設(shè)置的通信通道來(lái)與客戶(hù)OS通信。已經(jīng)參照特定的實(shí)施例而說(shuō)明了本發(fā)明。在本發(fā)明的范圍內(nèi)的實(shí)施例的修改和改變對(duì)于本領(lǐng)域內(nèi)的技術(shù)人員是顯然的。本發(fā)明的實(shí)施例已經(jīng)被討論來(lái)僅僅用于例證性目的,并且不意欲限制本發(fā)明的范圍。本發(fā)明的范圍僅僅被所附的權(quán)利要求限制??梢允褂密浖⒂布蚱浣M合來(lái)執(zhí)行上述的系列步驟。如果使用軟件來(lái)執(zhí)行所述系列的步驟,則從記錄介質(zhì)或經(jīng)由網(wǎng)絡(luò)來(lái)向例如被并入到硬件結(jié)構(gòu)中的計(jì)算機(jī)或向執(zhí)行各種處理的通用計(jì)算機(jī)安裝形成所述軟件的程序。所述程序可以被預(yù)先記錄到作為記錄介質(zhì)的硬盤(pán)和ROM(只讀存儲(chǔ)器)之一上。所述程序也可以被暫時(shí)或永久地存儲(chǔ)(記錄)在可移動(dòng)記錄媒體上。所述記錄媒體包括軟盤(pán)、CD-ROM(致密盤(pán)只讀存儲(chǔ)器)、MO(磁光)盤(pán)、DVD(數(shù)字通用盤(pán))、磁盤(pán)、半導(dǎo)體存儲(chǔ)器等。可以以封裝軟件來(lái)提供這樣的可移動(dòng)介質(zhì)??梢詮乃隹梢苿?dòng)記錄介質(zhì)向計(jì)算機(jī)安裝所述程序??梢砸詿o(wú)線的方式從下載站點(diǎn)向計(jì)算機(jī)發(fā)送所述程序。也可以經(jīng)由諸如LAN(局域網(wǎng))和因特網(wǎng)之一的網(wǎng)絡(luò)來(lái)以有線的方式發(fā)送所述程序。所述程序然后由計(jì)算機(jī)接收并且被安裝到諸如在計(jì)算機(jī)中的硬盤(pán)之類(lèi)的記錄介質(zhì)上。以所述的時(shí)間序列順序來(lái)依序執(zhí)行在本說(shuō)明書(shū)中討論的處理步驟?;蛘撸梢圆⑿谢颡?dú)立地執(zhí)行所述步驟。在本說(shuō)明書(shū)中,所述系統(tǒng)指的是由多個(gè)裝置組成的邏輯系統(tǒng),并且每個(gè)裝置的元件不必然被包含在同一外殼中。產(chǎn)業(yè)上的應(yīng)用按照本發(fā)明的實(shí)施例,控制OS在其中共存多個(gè)操作系統(tǒng)共存的多OS環(huán)境中進(jìn)行OS之間的通信控制??刂芆S控制對(duì)應(yīng)于OS而設(shè)置的邏輯分區(qū)之間的消息傳送。物理地址空間中的消息區(qū)域被從到消息發(fā)送OS中的邏輯分區(qū)地址空間中的消息區(qū)域的映射狀態(tài)轉(zhuǎn)換為到消息接收OS中的邏輯分區(qū)地址空間中的消息區(qū)域的映射狀態(tài)。從而在OS之間執(zhí)行消息傳送控制。在不同的OS之間平滑的通信是可能的。按照本發(fā)明的實(shí)施例,通信執(zhí)行OS產(chǎn)生與由本身OS管理的文件系統(tǒng)標(biāo)識(shí)的文件描述符相關(guān)聯(lián)的套接字,設(shè)置經(jīng)由所述套接字訪問(wèn)的虛擬文件,并且經(jīng)由所述虛擬文件發(fā)送和接收消息,或者通過(guò)將物理地址空間中的消息區(qū)域映射到處理的地址空間來(lái)發(fā)送或接收消息。使用在不同OS之間的一般套接字來(lái)進(jìn)行消息傳送。按照本發(fā)明的實(shí)施例,設(shè)置對(duì)應(yīng)于套接字的服務(wù)的標(biāo)識(shí)符,以便對(duì)于所述服務(wù)設(shè)置通信許可。使用選擇系統(tǒng)調(diào)用經(jīng)由套接字來(lái)進(jìn)行經(jīng)由套接字的接收監(jiān)控處理。權(quán)利要求書(shū)(按照條約第19條的修改)按照2007年1月31日申請(qǐng)日期2005年9月26日優(yōu)先權(quán)日2004年9月29日發(fā)明者鈴鹿倫之申請(qǐng)人:索尼株式會(huì)社