專利名稱::輸入輸出控制系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及控制基于多個(gè)操作系統(tǒng)(以下,稱為OS)的輸入輸出設(shè)備的共享利用的輸入輸出控制裝置、輸入輸出控制系統(tǒng)以及輸入輸出控制方法。
背景技術(shù):
:在單一OS運(yùn)行的計(jì)算機(jī)中,該OS及在該OS上運(yùn)行的程序通過適時(shí)裝入到該OS中的輸入輸出設(shè)備的控制軟件(以下,稱為設(shè)備驅(qū)動(dòng)程序),可以訪問該計(jì)算機(jī)具備的輸入輸出設(shè)備。這里,該計(jì)算機(jī)至少具有在從該計(jì)算機(jī)的外部向該OS輸入信息時(shí)利用的輸入設(shè)備(鍵盤等);和在該OS向該計(jì)算機(jī)外部輸出信息時(shí)利用的輸出設(shè)備(顯示器等)。設(shè)備驅(qū)動(dòng)程序在裝入到OS中時(shí)對(duì)該OS登錄自身控制的設(shè)備的信息。作為這樣的設(shè)備信息,例如可以舉出該設(shè)備用的插入序號(hào)。在發(fā)生了來自計(jì)算機(jī)外部的、經(jīng)由輸入設(shè)備的信息的輸入時(shí),第一,插入控制器對(duì)CPU通知插入信號(hào)和插入序號(hào)。第2,CPU接收該插入信號(hào),中斷當(dāng)前正進(jìn)行的處理,調(diào)用與該插入序號(hào)對(duì)應(yīng)的設(shè)備驅(qū)動(dòng)程序。第3,設(shè)備驅(qū)動(dòng)程序訪問對(duì)應(yīng)的設(shè)備,向OS轉(zhuǎn)交被輸入的信息。另外,OS在輸出特定信息時(shí),根據(jù)該特定信息的內(nèi)容來特定適合的輸出設(shè)備。之后,OS調(diào)用預(yù)先登錄的、與該輸出設(shè)備對(duì)應(yīng)的設(shè)備驅(qū)動(dòng)程序,使該特定信息輸出。如上所述,在計(jì)算機(jī)上單獨(dú)的OS運(yùn)行時(shí),該OS對(duì)于輸入輸出設(shè)備的使用進(jìn)行管理,只要不發(fā)生在該OS上運(yùn)行的程序同時(shí)訪問輸入輸出設(shè)備的沖突狀態(tài)就可以。另一方面,近年在計(jì)算機(jī)上可同時(shí)執(zhí)行多個(gè)OS的環(huán)境正在擴(kuò)展。這樣的環(huán)境,如圖12所示,被稱為"虛擬機(jī)監(jiān)視器(以下,稱為VMM)"的主系統(tǒng)構(gòu)成被稱為"虛擬機(jī)(以下,稱為VM)"的客戶(guest)系統(tǒng),在VM上通過運(yùn)行各OS來實(shí)現(xiàn)(例如,參照專利文獻(xiàn)1、非專利文獻(xiàn)1及非專利文獻(xiàn)2)。例如,作為該環(huán)境的利用例考慮到以下這樣的例子,使特化成實(shí)時(shí)處理的"實(shí)時(shí)OS(以下,稱為RTOS)"以及通用的"通用OS(以下,稱為GPOS)"在1個(gè)計(jì)算機(jī)上同時(shí)運(yùn)行的例子;在l個(gè)服務(wù)器上運(yùn)行多個(gè)OS,在各OS中將該OS用地特化的服務(wù)向客戶端提供的例子。在這樣的環(huán)境下,必須在多個(gè)OS中共享以輸入輸出設(shè)備為首的、有限的硬件資源。VMM的作用之一是靜態(tài)或者動(dòng)態(tài)地將硬件資源分配到各OS。例如,VMM對(duì)各OS動(dòng)態(tài)地轉(zhuǎn)交CPU的控制權(quán),靜態(tài)地邏輯分割主存儲(chǔ)后分配到各0S,由此實(shí)現(xiàn)多個(gè)OS的同時(shí)執(zhí)行。另外,在VMM中還有實(shí)現(xiàn)在同時(shí)執(zhí)行的多個(gè)OS間的數(shù)據(jù)通信的VMM。代表性的實(shí)現(xiàn)方法是提供多個(gè)OS可以參照的共享存儲(chǔ)器的方法。VMM進(jìn)行共享存儲(chǔ)器的管理、或者對(duì)OS通知向共享存儲(chǔ)器的寫入或讀入這樣的處理。不僅在單一的數(shù)據(jù)通信時(shí),在多個(gè)OS間共享硬件資源時(shí)也利用這樣的OS間通信功能。例如,考慮在只具有一個(gè)網(wǎng)絡(luò)接口的計(jì)算機(jī)中,多個(gè)OS進(jìn)行與外部的通信的情況。此時(shí),難以考慮各OS獨(dú)自具有網(wǎng)絡(luò)接口的設(shè)備驅(qū)動(dòng)程序的結(jié)構(gòu)。原因是無法事先判斷對(duì)于在數(shù)據(jù)接收時(shí)發(fā)生的硬件插入應(yīng)該調(diào)用哪個(gè)OS的驅(qū)動(dòng)程序。因此,需要某OS成為唯一的設(shè)備驅(qū)動(dòng)程序的保存者,進(jìn)行數(shù)據(jù)收發(fā)以及向各OS的數(shù)據(jù)分配。在共享這樣的硬件資源時(shí),必須具有上述的OS間通信功能。:US2004/0205755:"XenandtheArtofvirtulization"InProc.ofSymposiumonoperatingsystemsPrinciples(SOSP)2003(http:Avww.cl.cam.ac.uk/ReSearch/SRG/netos/papers/2003-xensosp.pdf):"A600MIPS120mW70jiiALeakageTriple-CPUMobileApplicationProcessorChip"InProc.ofIEEEInternationalSolid-StateCircuitsConference(ISSCC)2005
發(fā)明內(nèi)容考慮在VMM上實(shí)現(xiàn)的多個(gè)OS環(huán)境中,在任意時(shí)刻通過特定OS來專用地被占用的設(shè)備。作為這樣的設(shè)備的一例能舉出人機(jī)界面設(shè)備(以下,稱為HID)。例如,作為HID能舉出作為輸入設(shè)備的鍵盤、及作為輸出設(shè)備的顯示器等。這些設(shè)備需要通過用戶正利用的OS來專用地占用。例如,在用戶正利用特定程序時(shí),基本上,需要對(duì)該程序輸入由用戶通過鍵盤輸入的結(jié)果,在顯示器上顯示該程序的輸出結(jié)果,所以來自鍵盤的輸入結(jié)果必須轉(zhuǎn)交到運(yùn)行該程序的OS上,同樣,來自該OS的輸出結(jié)果必須顯示到顯示器上。CPU通過該OS來控制未必與用戶正利用某OS的意思一致。VMM即使是用戶正利用該OS期間,也可以在OS間進(jìn)行上下文(context)切換,對(duì)其它OS分配CPU,或者進(jìn)行VMM自身的處理。VMM因?yàn)楣芾鞢PU的分配,所以在任意的時(shí)刻都可以掌握哪個(gè)OS正控制著CPU,但是在任意的時(shí)刻不能掌握用戶正在利用哪個(gè)OS。因此,例如VMM在由鍵盤輸入數(shù)據(jù)后發(fā)生了插入時(shí),不能識(shí)別該插入是針對(duì)哪個(gè)OS的插入。例如,在共享網(wǎng)絡(luò)接口時(shí),在接收到的數(shù)據(jù)中賦予了IP地址或端口序號(hào)等用于識(shí)別目的地的OS的數(shù)據(jù),所以一旦某OS在接收了該數(shù)據(jù)后分配該數(shù)據(jù)就可以??墒?,對(duì)于由鍵盤輸入的數(shù)據(jù)進(jìn)行同樣的處理是困難的。同樣,在向顯示器輸出時(shí)也產(chǎn)生問題。全部OS個(gè)別保存顯示器驅(qū)動(dòng)程序,如果隨意地輸出則必然產(chǎn)生向該顯示器的沖突。即使是匯集了對(duì)某OS應(yīng)該輸出的數(shù)據(jù)時(shí),在此時(shí)刻,如果不能識(shí)別哪個(gè)os應(yīng)該輸出該數(shù)據(jù),則不能向用戶顯示正確的輸出結(jié)果。針對(duì)以上這樣的問題,在專利文獻(xiàn)1中所述的多個(gè)OS環(huán)境沒有準(zhǔn)備特別的功能。這是因?yàn)閷@墨I(xiàn)1假定了RTOS和GPOS同時(shí)執(zhí)行的環(huán)境,GPOS始終占用HID。另一方面,在非專利文獻(xiàn)1或者非專利文獻(xiàn)2中所述的多個(gè)OS環(huán)境,如圖13所示,準(zhǔn)備1個(gè)主OS,主OS的GUI(GraphicalUserInterface)服務(wù)器處理對(duì)其它全部客戶OS的HID的輸入輸出,由此實(shí)現(xiàn)HID的共享。具體來說,僅僅主OS具有針對(duì)HID的設(shè)備驅(qū)動(dòng)程序(HIDDD),該設(shè)備驅(qū)動(dòng)程序只能處理來自主OS的GUI服務(wù)器的輸入輸出。主OS的GUI服務(wù)器生成主OS以外的各客戶OS用窗口(Window),輸出從對(duì)應(yīng)的客戶OS的GUI服務(wù)器通過VMM的OS間通信來接收到的輸出結(jié)果。另外,在該窗口被激活時(shí),將來自輸入設(shè)備的輸入結(jié)果通過該OS間通信轉(zhuǎn)交給對(duì)應(yīng)的客戶OS的GUI服務(wù)器。可是,在這樣的通過GUI服務(wù)器的解決方法中存在問題。第1個(gè)問題是因?yàn)槿縊S的全部GUI客戶端應(yīng)用程序分別進(jìn)行輸入輸出處理,所以經(jīng)常發(fā)生在OS間跨越的上下文切換。在多個(gè)OS環(huán)境中的OS間跨越的上下文切換,在上下文的保存處理以及恢復(fù)處理中花費(fèi)時(shí)間,尤其在重視速度的向顯示器的輸出處理時(shí),成為很大的瓶頸。另外,在如便攜終端這樣的必須進(jìn)行省電處理的環(huán)境下,也成為耗電大的主要原因。第2個(gè)問題是很大地依存于各OS的平臺(tái)及應(yīng)用程序。為了實(shí)現(xiàn)這樣的GUI服務(wù)器間的輸入輸出,主OS的GUI服務(wù)器以及客戶OS的GUI服務(wù)器雙方必須對(duì)應(yīng)于該功能。另外,尤其在GUI服務(wù)器運(yùn)行的環(huán)境顯著不同的情況下,在GUI服務(wù)器間進(jìn)行通信時(shí)需要在應(yīng)用程序級(jí)別(level)下的數(shù)據(jù)的轉(zhuǎn)換。第3個(gè)問題是由于在GUI服務(wù)器上委托全部的輸入輸出處理所以在保密方面存在危險(xiǎn)性。因?yàn)镚UI服務(wù)器是"非特權(quán)過程(用戶權(quán)限)",所以與作為"特權(quán)過程(內(nèi)核權(quán)限)"的OS比較,抗竄改(Tamper)性弱。GUI服務(wù)器在被竄改時(shí)不能適當(dāng)?shù)靥幚鞳S的輸入輸出,可能向錯(cuò)誤的輸入目的地轉(zhuǎn)交輸入結(jié)果,或者顯示不應(yīng)該顯示的OS的輸出結(jié)果。此外,在占用HID的OS的切換中,為了提高使用性而考慮了幾個(gè)切換模式,關(guān)于各切換模式必須考慮切換方法的提供、及不正當(dāng)?shù)那袚Q以及HID占用的防止等。作為切換模式例如考慮了以下這樣的例子。在特定OS上啟動(dòng)了特定程序的情況按下了在鍵盤等上準(zhǔn)備的切換按鈕的情況在正占用HID的OS上發(fā)生了異常的情況出于調(diào)試等目的,從外部強(qiáng)制性啟動(dòng)了特定程序的情況另外,作為在OS的切換時(shí)所必須考慮的情況,考慮了以下這樣的例子。通過特定OS及特定某程序來防止不正當(dāng)?shù)腍ID占用防止損失使用性的反復(fù)切換防止在利用優(yōu)先級(jí)高的程序時(shí)的切換因此,本發(fā)明是鑒于以上的問題而形成的,以提供考慮到效率性、不依存于上位平臺(tái)、使用性的輸入輸出控制裝置、輸入輸出控制系統(tǒng)以及輸入輸出控制方法作為目的。本發(fā)明的第1特征是一種輸入輸出控制裝置,在具有多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行功能的主系統(tǒng)上,對(duì)在至少2個(gè)以上的操作系統(tǒng)同時(shí)運(yùn)行的計(jì)算機(jī)上配置的輸入設(shè)備以及輸出設(shè)備的輸入輸出進(jìn)行控制,其要旨為,具有請求受理部,對(duì)請求切換占用所述輸入設(shè)備或者所述輸出設(shè)備的操作系統(tǒng)的切換請求進(jìn)行受理;控制信息生成部,根據(jù)所述切換請求,生成含有輸入目的地信息或者輸出可否信息的控制信息;和控制信息輸出部,輸出所述輸入目的地信息或者所述輸出可否信息,所述輸入目的地信息至少含有用于特定來自所述輸入設(shè)備的輸入信息的輸入目的地操作系統(tǒng)的信息,所述輸出可否信息至少含有針對(duì)操作系統(tǒng)的、用于特定可否向所述輸出設(shè)備輸出的信息。在本發(fā)明的第l特征中,所述請求受理部,也可以受理來自第l控制軟件的切換請求,該第1控制軟件控制由所述計(jì)算機(jī)預(yù)先具備的第1輸入設(shè)備。在本發(fā)明的第l特征中,所述請求受理部,也可以受理來自操作系統(tǒng)的切換請求。在本發(fā)明的第1特征中,在給予了規(guī)定對(duì)于所述切換請求的處理的請求規(guī)則時(shí),所述請求受理部,可以根據(jù)所述請求規(guī)則來受理或者不受理所述切換請求。在本發(fā)明的第1特征中,所述請求規(guī)則在所述切換請求的受理中請求秘密信息的輸入,所述請求受理部可以僅在所述秘密信息正確時(shí)受理所述切換請求。在本發(fā)明的第1特征中,所述請求規(guī)則定義不正當(dāng)?shù)那袚Q請求,所述請求受理部可以在所述切換請求不正當(dāng)?shù)那闆r下,不受理該切換請求。在本發(fā)明的第1特征中,所述請求規(guī)則在所述切換請求的受理中需要通過來自用戶的特定動(dòng)作來判定用戶的許可/不許可,所述請求受理部可以根據(jù)基于所述特定動(dòng)作的許可,來受理所述切換請求。在本發(fā)明的第1特征中,在規(guī)定時(shí)間內(nèi)沒有從用戶得到基于所述特定動(dòng)作的許可/不許可的任何判定時(shí),所述請求受理部可以受理所述切換請求。在本發(fā)明的第l特征中,所述請求規(guī)則將特定的切換請求作為特權(quán)請求,所述請求受理部,也可以在生成基于所述特權(quán)請求的控制信息后,直至滿足特定條件,不受理對(duì)通過所述特權(quán)請求被特定的操作系統(tǒng)占用的輸入設(shè)備或者輸出設(shè)備的切換請求。在本發(fā)明的第1特征中,請求受理部可以受理來自所述主系統(tǒng)的切換請求。在本發(fā)明的第l特征中,所述操作系統(tǒng)也可以通過所述請求規(guī)則,只限于許可所述切換請求的情況下,發(fā)行所述切換請求。在本發(fā)明的第1特征中,所述主系統(tǒng)也可以通過所述請求規(guī)則,只限于許可所述切換請求的情況下,發(fā)行所述切換請求。在本發(fā)明的第1特征中,在所述計(jì)算機(jī)上的第1操作系統(tǒng)或者所述主系統(tǒng)具有檢測在所述計(jì)算機(jī)上運(yùn)行的操作系統(tǒng)的特定的狀態(tài)變化的狀態(tài)變化檢測功能時(shí),所述請求受理部也可以受理所述狀態(tài)變化檢測功能根據(jù)占用輸入設(shè)備或者輸出設(shè)備的第2操作系統(tǒng)的所述狀態(tài)變化而發(fā)行的切換請求。本發(fā)明第2特征是一種輸入輸出控制系統(tǒng),具有至少一個(gè)輸入設(shè)備;至少一個(gè)輸出設(shè)備;控制所述輸入設(shè)備以及所述輸出設(shè)備的輸入輸出的輸入輸出控制裝置;和含有多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行功能以及在所述多個(gè)操作系統(tǒng)間的通信功能的主系統(tǒng),其要旨為,所述輸入輸出控制裝置具有請求受理部,對(duì)請求切換占用所述輸入設(shè)備或者所述輸出設(shè)備的操作系統(tǒng)的切換請求進(jìn)行受理;控制信息生成部,根據(jù)所述切換請求,生成含有輸入目的地信息或者輸出可否信息的控制信息;和控制信息輸出部,輸出所述輸入目的地信息或者所述輸出可否信息,在所述主系統(tǒng)上運(yùn)行的所述多個(gè)操作系統(tǒng)中的特定的l個(gè)操作系統(tǒng),具有輸入設(shè)備控制部,根據(jù)所述輸出的輸入目的地信息來特定來自所述輸入設(shè)備的輸入信息的輸入目的地操作系統(tǒng),向該輸入目的地操作系統(tǒng)輸入所述輸入信息;和輸出設(shè)備控制部,根據(jù)所述輸出的輸出可否信息來特定可向所述輸出設(shè)備輸出的操作系統(tǒng),將從該操作系統(tǒng)接收的輸出信息向所述輸出設(shè)備輸出,所述輸入目的地信息至少含有用于特定來自所述輸入設(shè)備的輸入信息的輸入目的地操作系統(tǒng)的信息,所述輸出可否信息至少含有針對(duì)操作系統(tǒng)的、用于特定可否向所述輸出設(shè)備輸出的信息。在本發(fā)明的第2特征中,與所述特定的操作系統(tǒng)不同的第1操作系統(tǒng)具有虛擬輸入設(shè)備控制部和虛擬輸出設(shè)備控制部,所述虛擬輸入設(shè)備控制部,接收由所述特定的操作系統(tǒng)的所述輸入設(shè)備控制部輸入的輸入信息,向在所述第1操作系統(tǒng)上運(yùn)行的程序輸入,所述虛擬輸出設(shè)備控制部,關(guān)于來自在所述第1操作系統(tǒng)上運(yùn)行的程序的輸出信息,根據(jù)所述輸出可否信息判斷所述第1操作系統(tǒng)是否可以對(duì)所述輸出設(shè)備輸出所述輸出信息,也可以只限于可以對(duì)所述輸出設(shè)備輸出所述輸出信息的情況下,對(duì)所述特定的操作系統(tǒng)的所述輸出設(shè)備控制部輸出所述輸出信息。本發(fā)明第3特征是一種輸入輸出控制系統(tǒng),具有至少一個(gè)輸入設(shè)備;至少一個(gè)輸出設(shè)備;控制所述輸入設(shè)備以及所述輸出設(shè)備的輸入輸出的輸入輸出控制裝置;和含有多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行功能以及在所述多個(gè)操作系統(tǒng)間的通信功能的主系統(tǒng),其要旨為,所述輸入輸出控制裝置,具有請求受理部,對(duì)請求切換占用所述輸入設(shè)備或者所述輸出設(shè)備的操作系統(tǒng)的切換請求進(jìn)行受理;控制信息生成部,根據(jù)所述切換請求,生成含有輸入目的地信息或者輸出可否信息的控制信息;和控制信息輸出部,輸出所述輸入目的地信息以及所述輸出可否信息,在所述主系統(tǒng)上運(yùn)行的所述多個(gè)操作系統(tǒng),各自具有輸入設(shè)備控制部,根據(jù)參照由所述輸入輸出控制裝置輸出的輸入目的地信息,決定是否將來自所述輸入設(shè)備的輸入信息向所述操作系統(tǒng)輸入;和輸出設(shè)備控制部,根據(jù)由所述輸入輸出控制裝置輸出的輸出可否信息,決定是否輸出來自所述操作系統(tǒng)的輸出信息。本發(fā)明第4特征是一種輸入輸出控制系統(tǒng),具有至少一個(gè)輸入設(shè)備;至少一個(gè)輸出設(shè)備;控制所述輸入設(shè)備以及所述輸出設(shè)備的輸入輸出的輸入輸出控制裝置;和含有多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行功能以及在所述多個(gè)操作系統(tǒng)間的通信功能的主系統(tǒng),其要旨為,所述輸入輸出控制裝置,具有請求受理部,對(duì)請求切換占用所述輸入設(shè)備或者所述輸出設(shè)備的操作系統(tǒng)的切換請求進(jìn)行受理;控制信息生成部,根據(jù)所述切換請求,生成含有輸入目的地信息或者輸出可否信息的控制信息;和控制信息輸出部,輸出所述輸入目的地信息以及所述輸出可否信息,所述多個(gè)操作系統(tǒng)各自具有可控制所述輸入設(shè)備的輸入設(shè)備控制部;和可控制所述輸出設(shè)備的輸出設(shè)備控制部,所述主系統(tǒng)具有輸入輸出控制部,該輸入輸出控制部,根據(jù)所述輸入輸出控制裝置輸出的輸入目的地信息,使所述操作系統(tǒng)的所述輸入設(shè)備控制部有效化或者無效化,根據(jù)所述輸入輸出控制裝置輸出的輸出可否信息,使所述操作系統(tǒng)的所述輸出控制部有效化或者無效化。本發(fā)明第5特征是一種輸入輸出控制系統(tǒng),具有至少一個(gè)輸入設(shè)備;至少一個(gè)輸出設(shè)備;控制所述輸入設(shè)備以及所述輸出設(shè)備的輸入輸出的輸入輸出控制裝置;和含有多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行功能以及在所述多個(gè)操作系統(tǒng)間的通信功能的主系統(tǒng),其要旨為,所述輸入輸出控制裝置具有請求受理部,對(duì)請求切換占用所述輸入設(shè)備或者所述輸出設(shè)備的操作系統(tǒng)的切換請求進(jìn)行受理;控制信息生成部,根據(jù)所述切換請求生成含有輸入目的地信息或者輸出可否信息的控制信息;和控制信息輸出部,輸出所述輸入目的地信息以及所述輸出可否信息,所述主系統(tǒng)具有插入通知部,該插入通知部,在發(fā)生了對(duì)于所述輸入設(shè)備的插入時(shí),將所述插入向所述操作系統(tǒng)通知,所述插入通知部根據(jù)所述輸入輸出控制裝置輸出的輸入目的地信息,特定所述插入的通知目的地。本發(fā)明第6特征是一種輸入輸出控制系統(tǒng),具有至少一個(gè)輸入設(shè)備;至少一個(gè)輸出設(shè)備;控制所述輸入設(shè)備以及所述輸出設(shè)備的輸入輸出的輸入輸出控制裝置;和含有多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行功能以及在所述多個(gè)操作系統(tǒng)間的通信功能的主系統(tǒng),其要旨為,所述輸入輸出控制裝置具有請求受理部,對(duì)請求切換占用所述輸入設(shè)備或者所述輸出設(shè)備的操作系統(tǒng)的切換請求進(jìn)行受理;控制信息生成部,根據(jù)所述切換請求生成含有輸入目的地信息或者輸出可否信息的控制信息;和控制信息輸出部,輸出所述輸入目的地信息以及所述輸出可否信息,所述主系統(tǒng)具有QoS控制部,該QoS控制部,根據(jù)所述輸入輸出控制裝置輸出的輸入目的地信息或者輸出可否信息,進(jìn)行對(duì)于所述操作系統(tǒng)的QoS控制。本發(fā)明第7特征是一種輸入輸出控制方法,在具有多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行功能的主系統(tǒng)上,對(duì)在至少2個(gè)以上的操作系統(tǒng)同時(shí)運(yùn)行的計(jì)算機(jī)上配置的輸入設(shè)備以及輸出設(shè)備的輸入輸出進(jìn)行控制,其要旨為,具有以下步驟對(duì)請求切換占用所述輸入設(shè)備或者所述輸出設(shè)備的操作系統(tǒng)的切換請求進(jìn)行受理的步驟;根據(jù)所述切換請求生成含有輸入目的地信息或者輸出可否信息的控制信息的步驟;和輸出所述輸入目的地信息以及所述輸出可否信息的步驟,所述輸入目的地信息至少含有用于特定來自所述輸入設(shè)備的輸入信息的輸入目的地操作系統(tǒng)的信息,所述輸出可否信息至少含有針對(duì)操作系統(tǒng)的、用于特定可否向所述輸出設(shè)備輸出的信息。本發(fā)明第8特征是一種輸入輸出控制系統(tǒng),具有至少一個(gè)輸入設(shè)備;至少一個(gè)輸出設(shè)備;控制所述輸入設(shè)備以及所述輸出設(shè)備的輸入輸出的輸入輸出控制裝置;和含有多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行功能的主系統(tǒng),其要旨為,所述輸入輸出控制裝置具有請求受理部,對(duì)請求切換占用所述輸入設(shè)備或者所述輸出設(shè)備的操作系統(tǒng)的切換請求進(jìn)行受理;控制信息生成部,根據(jù)所述切換請求,生成含有輸入目的地信息或者輸出可否信息的控制信息;和控制信息輸出部,輸出所述輸入目的地信息或者所述輸出可否信息,在所述操作系統(tǒng)上運(yùn)行的程序,通過所述輸入目的地信息,只限于在運(yùn)行所述程序的操作系統(tǒng)是來自所述輸入設(shè)備的輸入目的地操作系統(tǒng)的情況下,發(fā)行對(duì)所述操作系統(tǒng)請求輸入的系統(tǒng)調(diào)用,通過所述輸出可否信息,只限于運(yùn)行所述程序的操作系統(tǒng)可以對(duì)所述輸出設(shè)備輸出的情況下,發(fā)行對(duì)所述操作系統(tǒng)請求輸出的系統(tǒng)調(diào)用,所述輸入目的地信息至少含有用于特定來自所述輸入設(shè)備的輸入信息的輸入目的地操作系統(tǒng)的信息,所述輸出可否信息至少含有針對(duì)操作系統(tǒng)的、用于特定可否向所述輸出設(shè)備輸出的信息。本發(fā)明第9特征是一種輸入輸出控制系統(tǒng),具有至少一個(gè)輸入設(shè)備;至少一個(gè)輸出設(shè)備;控制所述輸入設(shè)備以及所述輸出設(shè)備的輸入輸出的輸入輸出控制裝置;和含有多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行功能的主系統(tǒng),其要旨為,所述輸入輸出控制裝置具有請求受理部,對(duì)請求切換占用所述輸入設(shè)備或者所述輸出設(shè)備的操作系統(tǒng)的切換請求進(jìn)行受理;控制信息生成部,根據(jù)所述切換請求,生成含有輸入目的地信息或者輸出可否信息的控制信息;和控制信息輸出部,輸出所述輸入目的地信息或者所述輸出可否信息,在所述操作系統(tǒng)上運(yùn)行的程序,對(duì)所述操作系統(tǒng)請求發(fā)行對(duì)于所述輸入輸出控制裝置的切換請求,所述輸入目的地信息至少含有用于特定來自所述輸入設(shè)備的輸入信息的輸入目的地操作系統(tǒng)的信息,所述輸出可否信息至少含有針對(duì)操作系統(tǒng)的、用于特定可否向所述輸出設(shè)備輸出的信息。在本發(fā)明的第9特征中,所述程序也可以通過所述請求規(guī)則,只限于許可所述切換請求的情況下,對(duì)所述操作系統(tǒng)請求發(fā)行對(duì)于所述輸入輸出控制裝置的切換請求。如以上說明,根據(jù)本發(fā)明可以提供考慮到效率性、不依存于上位平臺(tái)、且使用性的輸入輸出控制裝置、輸入輸出控制系統(tǒng)以及輸入輸出控制方法。圖1是第1實(shí)施方式的輸入輸出控制系統(tǒng)的結(jié)構(gòu)方框圖。圖2是表示第1實(shí)施方式的輸入輸出控制方法的流程圖。圖3是第2實(shí)施方式的輸入輸出控制系統(tǒng)的結(jié)構(gòu)方框圖(其1)。圖4是第2實(shí)施方式的輸入輸出控制系統(tǒng)的結(jié)構(gòu)方框圖(其2)。圖5是第3實(shí)施方式的輸入輸出控制系統(tǒng)的結(jié)構(gòu)方框圖(其1)。圖6是第3實(shí)施方式的輸入輸出控制系統(tǒng)的結(jié)構(gòu)方框圖(其2)。圖7是第3實(shí)施方式的輸入輸出控制系統(tǒng)的結(jié)構(gòu)方框圖(其3)。圖8是第3實(shí)施方式的輸入輸出控制系統(tǒng)的結(jié)構(gòu)方框圖(其4)。圖9是第3實(shí)施方式的輸入輸出控制系統(tǒng)的結(jié)構(gòu)方框圖(其5)。圖10是第4實(shí)施方式的輸入輸出控制系統(tǒng)的結(jié)構(gòu)方框圖。圖11是第5實(shí)施方式的輸入輸出控制系統(tǒng)的結(jié)構(gòu)方框圖。圖12是現(xiàn)有輸入輸出控制系統(tǒng)的結(jié)構(gòu)方框圖(其l)。圖13是現(xiàn)有輸入輸出控制系統(tǒng)的結(jié)構(gòu)方框圖(其2)。符號(hào)說明100輸入輸出控制裝置IIO請求受理部120控制信息生成部121控制信息130控制信息輸出部210切換請求211外部輸入212OS處理213VMM處理214OS狀態(tài)變化220輸入輸出設(shè)備表230輸入目的地信息240輸出可否信息250請求規(guī)則310、410、510輸入設(shè)備320、420、520輸出設(shè)備330、430、530V畫331、433調(diào)試功能340、350、440、450、540、550OS341、441、451、541輸入設(shè)備控制部342、442、452、542輸出設(shè)備控制部343、444切換按鈕控制驅(qū)動(dòng)程序351A、443、453虛擬輸入輸出控制裝置351虛擬輸入設(shè)備控制部352虛擬輸出設(shè)備控制部360、370、460、470程序431輸入輸出控制部432插入通知部434QOS控制部560、570GUI服務(wù)器580、590GUI客戶端具體實(shí)施例方式以下參照附圖對(duì)本發(fā)明的實(shí)施方式進(jìn)行說明。在以下附圖的記載中,相同或者類似的部分標(biāo)注著相同或者類似的符號(hào)。而,應(yīng)該注意附圖僅僅是示意性的圖。(輸入輸出控制系統(tǒng))圖1是第1實(shí)施方式的輸入輸出控制裝置100的系統(tǒng)結(jié)構(gòu)。輸入輸出控制裝置100例如在多個(gè)OS運(yùn)行在VMM上、該多個(gè)OS中的特定OS在任意時(shí)刻占用特定設(shè)備并進(jìn)行利用這樣的情況下,進(jìn)行占用該特定設(shè)備的OS的判定及切換等處理。作為這樣的特定設(shè)備,例如舉出在鍵盤等輸入設(shè)備或者顯示器等輸出設(shè)備中具有代表性的HID。例如,用戶利用在其它OS中運(yùn)行的程序時(shí),在按下了在計(jì)算機(jī)上預(yù)先準(zhǔn)備的切換按鈕的情況下,輸入輸出控制裝置100檢測其旨意,生成控制信息,該控制信息用于使運(yùn)行該程序的OS占用輸入輸出設(shè)備。具體來說,輸入輸出控制裝置ioo輸出特定來自輸入設(shè)備的輸入信息的輸入目的地OS的輸入目的地信息230、以及特定向輸出設(shè)備可以輸出輸出信息的OS的輸出可否信息240。如圖1所示,輸入輸出控制裝置100具有請求受理部110、控制信息生成部120、和控制信息輸出部130。以下,對(duì)各部的處理進(jìn)行敘述。請求受理部110,在請求切換占用輸入輸出設(shè)備的OS的切換請求210從特定的請求源發(fā)行時(shí),進(jìn)行以下的處理。1.切換請求210的檢測請求受理部110檢測從特定的請求源發(fā)行的切換請求210。作為發(fā)行這樣的切換請求210的主要原因例如舉出外部輸入211、OS處理212、VMM處理213及OS狀態(tài)變化214。例如,用戶按下了在計(jì)算機(jī)上預(yù)先準(zhǔn)備的切換按鈕時(shí),作為硬件插入產(chǎn)生以"外部輸入211"為主要原因的切換請求211。在發(fā)生了硬件插入時(shí),按照從專利文獻(xiàn)1的開始的"InterruptandEventHandling"的章節(jié)等中記載的現(xiàn)有VMM的動(dòng)作,開始基于控制該切換按鈕的設(shè)備驅(qū)動(dòng)程序的控制,所以通過該設(shè)備驅(qū)動(dòng)程序發(fā)行該切換請求210。另外,例如在此時(shí)刻沒有占用輸入輸出設(shè)備的OS、或在該OS上運(yùn)行的程序請求占用輸入輸出設(shè)備時(shí),該OS發(fā)行以"OS處理212"為主要原因的切換請求210。VMM通過檢測OS間的事件等OS的下位層的處理,根據(jù)需要切換占用輸入輸出設(shè)備的OS,所以發(fā)行以"VMM處理213"為主要原因的切換請求210。例如,在執(zhí)行從專利文獻(xiàn)1的從開始的"Debugging"的章節(jié)中記載的VMM的OS調(diào)試功能時(shí),VMM發(fā)行該切換請求210。在占用輸入輸出設(shè)備的OS中,在發(fā)生了特定的狀態(tài)變化時(shí),發(fā)生以"OS狀態(tài)變化214"為主要原因的切換請求210。尤其,在該OS、或其它OS或VMM等具有狀態(tài)變化檢測功能時(shí),該狀態(tài)變化檢測功能發(fā)行該切換請求210。作為這樣的狀態(tài)變化的一例,考慮了OS的再啟動(dòng)或OS的意外停機(jī)。另外,在從專利文獻(xiàn)1的開始的"HotRebootofSecondaryOperatingSystem"的章中記載著狀態(tài)變化檢測功能的一例。具體來說,關(guān)于怎樣向請求受理部110通知由各程序、各OS、設(shè)備驅(qū)動(dòng)程序或VMM等發(fā)行的切換請求210,依存于設(shè)備驅(qū)動(dòng)程序及輸入輸出控制裝置100等的配置方法。關(guān)于詳細(xì)的內(nèi)容在第2第4實(shí)施方式中進(jìn)行記述,但是切換請求210至少含有可以特定請求源的信息、和請求內(nèi)容(例如是哪個(gè)OS占用輸入輸出設(shè)備的請求,或者是占用哪個(gè)輸入輸出設(shè)備的請求等)。2.切換請求210的受理/非受理請求受理部110不能受理檢測到的全部切換請求210。是因?yàn)榇嬖谌缦驴赡苄岳?,在惡意的程序連續(xù)發(fā)行切換請求210,請求受理部110受理了全部該切換請求時(shí),多次發(fā)行發(fā)生畫面的切換,或者在特定OS上長時(shí)間占用輸入輸出設(shè)備,由此使用性顯著下降。請求受理部110在給予了用于判定是否應(yīng)該受理檢測到的切換請求210的請求規(guī)則250時(shí),根據(jù)該請求規(guī)則250進(jìn)行對(duì)于該切換請求210的受理判定。在表1中表示該請求規(guī)則250的一例。在表1的例子中,可靠性低的一般OS以及可靠性高的安全OS運(yùn)行,在一般OS中僅運(yùn)行一般程序,在安全OS中運(yùn)行一般程序以及特權(quán)程序。安全OS與一般OS的區(qū)別是,安全OS中確保了非常強(qiáng)固的保密,一般OS在該OS、或在該OS上運(yùn)行的程序中可能存在不合適或惡意。<table>tableseeoriginaldocumentpage17</column></row><table>請求受理部110時(shí)常無條件地受理來自VMM的切換請求210。這是因?yàn)閬碜訴MM的切換請求210是由于如上所述的調(diào)試功能的啟動(dòng)等而發(fā)行的緊迫請求。另外,是因?yàn)閂MM與安全OS同樣被假定為不含有程序錯(cuò)誤及脆弱性。同樣,請求受理部110對(duì)于通過安全OS的特權(quán)程序發(fā)行的切換請求210也以無條件受理。作為特權(quán)程序,例如假定在系統(tǒng)的狀態(tài)變化時(shí)啟動(dòng)的程序。具體來說,作為特權(quán)程序的一例舉出將硬件的故障通知給用戶的程序、將電池量的下降通知給用戶的程序、以及將病毒的檢測通知給用戶的程序等。安全OS自身保障安全性,被設(shè)計(jì)為極力避開由不需要的切換導(dǎo)致的使用性下降,所以請求受理部110對(duì)于來自通知這些重要信息這樣的程序的切換請求210以無條件受理。請求受理部110對(duì)于由安全OS的一般程序發(fā)行的切換請求210,只限于用戶許可的情況下受理。例如,考慮在安全OS側(cè)的郵件接受者接收了郵件時(shí)為了向用戶通知其旨意而發(fā)行切換請求210的情況。此時(shí),用戶正利用一般OS的特定程序,而通過切換OS也許避開妨礙該特定程序的利用。因此,請求受理部110—旦保留接收到的切換請求210,就對(duì)一般OS進(jìn)行讓用戶判斷可否切換OS的通知。具體來說,請求受理部110啟動(dòng)詢問向用戶的許諾的、存在于該OS上的用戶許諾程序,該用戶許諾程序詢問對(duì)于用戶的上述判斷。在與這樣的特定OS的通信中利用在從專利文獻(xiàn)1的[149]開始的"Inter-operatingSystemCommunicationS-VirtualbuS"中記載的OS間通信功能等。如果在用戶許諾了OS的切換時(shí),請求受理部110受理保留著的切換請求210。另外,在用戶沒有許諾OS的切換時(shí),請求受理部110不受理保留著的切換請求210。這里,考慮了用戶對(duì)于是否許諾了OS的切換沒有作出反應(yīng)的情況。例如,考慮了在一般OS上運(yùn)行的用戶許諾程序由于不適合的狀況而沒有正常運(yùn)行的情況等。為了對(duì)應(yīng)于這樣的情況,請求受理部110可以為這樣的構(gòu)成在一定時(shí)間內(nèi)保留著切換請求210的情況下受理該切換請求210。由此,可以防止成為依舊存儲(chǔ)著保留的切換請求210的狀況。請求受理部110對(duì)于由一般OS的一般程序發(fā)行的切換請求210,基本上進(jìn)行與安全OS的一般程序同等的判斷。艮口,請求受理部110在由用戶許諾了OS的切換時(shí)受理該切換請求210。但是,請求受理部110,即使在將切換請求210保留了一定時(shí)間的情況下,也不受理該切換請求210。安全OS上的用戶許諾程序,因?yàn)闆]有由于不適合的狀況等而意外停機(jī)的情況,所以用戶只要正利用計(jì)算機(jī),基本來說,切換請求210就不會(huì)成為保留狀態(tài)。另外,作為在一般OS上運(yùn)行的一般程序,還可假定如用戶從任意網(wǎng)頁下載的程序。此時(shí),還考慮了該程序具有不適合或惡意、發(fā)行不正當(dāng)?shù)那袚Q請求210的情況。例如,假定該程序連續(xù)發(fā)行切換請求210的情況,或者在不需要占用輸入輸出設(shè)備時(shí)也發(fā)行切換請求210的情況。用戶可以通過用戶許諾程序來拒絕OS的切換,但是每次判斷是否許諾OS的切換導(dǎo)致使用性的下降。為了防止以上這樣的不正當(dāng)切換請求210,用戶等預(yù)先設(shè)定被視為不正當(dāng)?shù)那袚Q請求210的條件,請求受理部110可以自動(dòng)不受理與該條件吻合的切換請求210。例如,請求受理部110也可以不受理來自如在一定時(shí)間內(nèi)發(fā)行一定次數(shù)以上的切換請求210那樣的程序的切換請求210。另外,用戶在程序安裝時(shí)可以設(shè)定是否必須不受理由該程序發(fā)行的切換請求210,因此可以自動(dòng)生成不受理切換請求210的條件。此時(shí),根據(jù)程序安裝中的用戶的指定,一般OS可以利用OS間通信功能等來改寫請求規(guī)則250,使其不受理來自該程序的切換請求210。通過切換按鈕發(fā)行的切換請求210是基于用戶的意思的切換請求210,所以請求受理部110基本上受理該切換請求210。但是,也有由第3者通過任意啟動(dòng)安全OS上的程序來啟動(dòng)涉及到系統(tǒng)根本的特權(quán)程序的可能性。因此,向安全OS的切換時(shí)促使來自用戶的密碼(秘密信息)的輸入。由此,只有該計(jì)算機(jī)的正規(guī)用戶才可以進(jìn)行向安全OS的切換。此外,關(guān)于促使密碼輸入的程序的調(diào)用方法及處理方法,與用戶許諾程序相同。另外,請求規(guī)則250與如上所述地由請求源規(guī)定的規(guī)則不同,也有規(guī)定被請求的輸入輸出設(shè)備的情況。例如,通常由程序同時(shí)利用作為標(biāo)準(zhǔn)輸入的鍵盤以及作為標(biāo)準(zhǔn)輸出的顯示器。因此,例如,請求規(guī)則250在請求僅占用鍵盤時(shí)可以不受理該切換請求210。由此,可以回避如下的死鎖(deadlock)狀態(tài)特定程序在正占用鍵盤的狀態(tài)下請求占用顯示器,同時(shí),其它程序在正占用顯示器的狀態(tài)下請求占用鍵盤。另外,請求規(guī)則250可以將由VMM以及安全OS的特權(quán)程序發(fā)行的切換請求210作為特權(quán)請求來處理。所謂特權(quán)請求就是被規(guī)定為,在根據(jù)該特權(quán)請求在特定OS中占用了輸入輸出設(shè)備時(shí),到滿足特定條件之前無條件地不受理其它OS占用該輸入輸出設(shè)備的切換請求210的切換請求。例如,作為安全OS的特權(quán)程序的病毒檢測軟件,在正占用輸入輸出設(shè)備時(shí),該特權(quán)程序?yàn)榱嗽诿魇镜亻_放該輸入輸出設(shè)備之前占用該輸入輸出設(shè)備而無條件地不受理由一般程序發(fā)行的切換請求210。此外,明示的開放通知以O(shè)S間通信功能等這樣的與切換請求210的通知同樣的結(jié)構(gòu)來實(shí)現(xiàn)。另外,上述的VMM、OS或程序可以通過預(yù)先參照請求規(guī)則250來判斷是否可以發(fā)行切換請求210。其結(jié)果,可以限制無效的切換請求210的發(fā)行。在發(fā)行切換請求210發(fā)行時(shí),發(fā)生輸入輸出控制裝置100運(yùn)行的OS或向VMM的OS間的切換。因此,這樣通過在切換請求210發(fā)行前預(yù)先判斷是否受理,可以削減無效的OS間的切換,可以減少開銷。但是,因?yàn)榭紤]到上述的一般程序即使知道為不受理也發(fā)行切換請求210的情況,所以也有請求受理部110根據(jù)切換請求210的發(fā)行源需要再次檢查請求規(guī)則250的情況。3.切換請求210的通知請求受理部110將已受理的切換請求210通知給控制信息生成部120??刂菩畔⑸刹?20根據(jù)請求受理部110已受理的切換請求210來生成控制信息121。這里,控制信息121為規(guī)定目前占用輸入輸出設(shè)備的OS是哪個(gè)OS的狀態(tài)信息。控制信息生成部120作為輸入至少具有輸入輸出設(shè)備表220。例如如表2所示,控制信息121規(guī)定通過輸入輸出設(shè)備表220指定的全部設(shè)備在當(dāng)前時(shí)刻由哪個(gè)OS占用。切換請求210至少指定更新控制信息的輸入輸出設(shè)備、和占用該輸入輸出設(shè)備的OS,所以控制信息生成部120根據(jù)該切換請求210可以生成該控制信息121。這里如上所述,屏蔽(mask)狀態(tài)表示無條件地不受理通過特權(quán)請求的發(fā)行來變更控制信息121這樣的切換請求210的狀態(tài)。[表2]<table>tableseeoriginaldocumentpage21</column></row><table>控制信息輸出部130輸出生成的控制信息121。具體來說,控制信息輸出部130向適當(dāng)?shù)牟考?component)輸出用于特定輸入目的地OS的輸入目的地信息230,以及針對(duì)OS的、決定輸出可否的輸出可否信息240。作為輸出目的地可以假定為設(shè)備驅(qū)動(dòng)程序、VMM或窗口管理器(WindowManager)等的GUI服務(wù)器用程序等。此外,對(duì)于控制信息輸出部130的動(dòng)作在后面進(jìn)行敘述。(輸入輸出控制方法)采用圖2對(duì)第1實(shí)施方式的輸入輸出控制方法進(jìn)行說明。具體來說,對(duì)在具有多個(gè)OS的同時(shí)執(zhí)行功能的主系統(tǒng)上,在至少2個(gè)以上的OS同時(shí)運(yùn)行的計(jì)算機(jī)中控制該計(jì)算機(jī)具有的輸入設(shè)備或者輸出設(shè)備的輸入輸出的方法進(jìn)行說明。如圖2所示,在步驟S101中,輸入輸出控制裝置100受理切換請求210,該切換請求210,請求切換占用輸入設(shè)備或者輸出設(shè)備的OS。這里,輸入輸出控制裝置100可以受理來自控制計(jì)算機(jī)預(yù)先具備的第1輸入設(shè)備的第1控制軟件(設(shè)備驅(qū)動(dòng)程序)的切換請求210,還可以受理來自O(shè)S的切換請求210,或者可以受理來自主系統(tǒng)的切換請求210。另外,在步驟S101中,在給予了規(guī)定對(duì)于切換請求210的處理的請求規(guī)則250時(shí),輸入輸出控制裝置100根據(jù)該請求規(guī)則250來決定關(guān)于切換請求210的受理或者不受理。此外,請求規(guī)則250在受理切換請求210時(shí)請求秘密信息(密碼)的輸入的情況下,在步驟S101中,輸入輸出控制裝置100僅在秘密信息正確時(shí)受理該切換請求210?;蛘撸谡埱笠?guī)則250定義不正當(dāng)?shù)那袚Q請求時(shí),在步驟S101中,輸入輸出控制裝置100在檢測到的切換請求210為不正當(dāng)時(shí)不受理該切換請求210。這里,所謂"不正當(dāng)?shù)那袚Q請求",例如可以舉出一定時(shí)間內(nèi)的連續(xù)的切換請求210,或者由切換請求210的發(fā)行沒有被允許的OS發(fā)行的切換請求210等。另外還有,請求規(guī)則250,在受理切換請求210時(shí),需要基于來自用戶的特定的動(dòng)作的用戶的許可/不許可的判定的情況下,在步驟S101中,輸入輸出控制裝置100根據(jù)基于特定的動(dòng)作的許可來受理該切換請求210。另外,在一定時(shí)間內(nèi)從用戶沒有得到對(duì)基于特定動(dòng)作的許可/不許可的任何判定的情況下,在步驟S101中,輸入輸出控制裝置100受理該切換請求210。另外,在請求規(guī)則250將特定的切換請求210設(shè)為"特權(quán)請求"時(shí),在步驟SIOI中,輸入輸出控制裝置IOO在生成基于該特權(quán)請求的控制信息后到滿足特定條件之前,根據(jù)該特權(quán)請求將對(duì)于在特定OS中占用的輸入設(shè)備或者輸出設(shè)備的切換請求210設(shè)為不受理。這里,所謂"特定條件"例如舉出已結(jié)束發(fā)行了特權(quán)請求的程序的處理的情況等。另外,在計(jì)算機(jī)上的第一OS或者主系統(tǒng)具有檢測在該計(jì)算機(jī)上運(yùn)行的OS的特定的狀態(tài)變化的狀態(tài)變化檢測功能時(shí),在步驟S101中,輸入輸出控制裝置100可以根據(jù)占用輸入設(shè)備或者輸出設(shè)備的第二OS的狀態(tài)變化,受理通過該狀態(tài)變化檢測功能發(fā)行的切換請求210。這里,所謂"狀態(tài)變化",如上所述例如是向由于意外停機(jī)或結(jié)束等而導(dǎo)致的不能正常運(yùn)行第二OS的狀態(tài)的變化。在步驟S102中,輸入輸出控制裝置100根據(jù)切換請求210,生成至少含有來自輸入設(shè)備的、特定輸入目的地OS的信息的輸入目的地信息230、或者至少含有針對(duì)OS的、特定可否向輸出設(shè)備輸出的信息的輸出可否信息240。在步驟S103中,輸入輸出控制裝置100向適當(dāng)?shù)牟考敵鲚斎肽康牡匦畔?30以及輸出可否信息240。輸出目的地是設(shè)備驅(qū)動(dòng)程序、VMM或窗口管理器等的GUI服務(wù)器程序。(作用以及效果)根據(jù)本實(shí)施方式,針對(duì)由于各種原因而產(chǎn)生的切換請求210,逐個(gè)去生成控制信息121,由此可以逐個(gè)切換占用輸入輸出設(shè)備的OS。其結(jié)果,關(guān)于在任意定時(shí)進(jìn)行的輸入輸出,可以向適當(dāng)?shù)腛S輸入來自輸入設(shè)備的輸入信息,向輸出設(shè)備僅僅輸出輸出信息中的、來自適當(dāng)?shù)腛S的輸出信息。另外,OS的切換后,因?yàn)椴惶幚韥碜哉加肙S以外的輸入輸出,所以可以減少OS間的上下文切換,并提高性能。此外,因?yàn)閮H僅進(jìn)行輸入輸出設(shè)備與OS之間的接口的切換,所以還有不依存于上位應(yīng)用程序這樣的優(yōu)點(diǎn)。另外,根據(jù)本實(shí)施方式,輸入輸出控制裝置100的請求受理部110受理來自控制計(jì)算機(jī)預(yù)先具備的第1輸入設(shè)備的第1控制軟件(設(shè)備驅(qū)動(dòng)程序)的切換請求210,因此可以通過來自在該計(jì)算機(jī)中具有的輸入設(shè)備的輸入來生成控制信息121。其結(jié)果,在最單一的例子中,在具有特殊的切換按鈕的計(jì)算機(jī)中,通過用戶按下該切換按鈕,可以進(jìn)行OS的切換。這里,可以將鍵盤的特定的按鈕作為該切換按鈕來分配并使用。另外,根據(jù)本實(shí)施方式,輸入輸出控制裝置100的請求受理部110受理來自O(shè)S的切換請求210,因此可以根據(jù)該OS的特定的處理來生成控制信息121。其結(jié)果,例如在該OS上運(yùn)行了特定的GUI應(yīng)用程序時(shí),可以將HID的控制移動(dòng)到該特定的GUI應(yīng)用程序中。另外,根據(jù)本實(shí)施方式,輸入輸出控制裝置100的請求受理部110在給予了規(guī)定對(duì)于切換請求210的處理的請求規(guī)則250時(shí),根據(jù)該請求規(guī)則250來判斷是否受理該切換請求210,因此可以防止由于對(duì)以各種原因產(chǎn)生的切換請求210全部受理而導(dǎo)致的使用性的下降或保密上的危險(xiǎn)性這樣的威脅。另外,根據(jù)本實(shí)施方式,在輸入輸出控制裝置100中,請求規(guī)則250在切換請求210的受理中請求輸入秘密信息(密碼),請求受理部110僅在該秘密信息正確時(shí)受理該切換請求,因此可以通過密碼等來限制向特定OS的切換。例如,在準(zhǔn)備有可進(jìn)行計(jì)算機(jī)的基本設(shè)定的安全OS這樣的情況下,由該計(jì)算機(jī)的用戶通過預(yù)先設(shè)定的密碼,可以限制由第3者引起的向該安全OS的切換。另外,根據(jù)本實(shí)施方式,在輸入輸出控制裝置100中,請求規(guī)則250定義不正當(dāng)?shù)那袚Q請求,請求受理部110在切換請求210為不正當(dāng)時(shí)不受理該切換請求210,因此可以限制不正當(dāng)?shù)那袚Q請求210。尤其,可以限制基于不正當(dāng)OS的誤動(dòng)作或惡意的動(dòng)作的不正當(dāng)?shù)那袚Q請求210,防止特定OS的設(shè)備的占用,及由反復(fù)的OS的切換而導(dǎo)致的使用性下降。另外,根據(jù)本實(shí)施方式,在輸入輸出控制裝置100中,請求規(guī)則250在切換請求210的受理中,需要基于來自用戶的特定動(dòng)作的用戶的許可/不許可的判定,請求受理部110根據(jù)基于該特定動(dòng)作的許可來受理該切換請求210,因此根據(jù)用戶的許可/不許可的判定,可以進(jìn)行OS的切換。其結(jié)果,用戶在利用特定應(yīng)用程序時(shí)可以防止由于OS突然切換而導(dǎo)致的使用性下降。這里,在從用戶沒有得到許可/不許可的任何判定時(shí),在詢問該許可/不許可的程序部分有可能發(fā)生某些異常。例如,GUI應(yīng)用程序有可能意外停機(jī),或者以設(shè)備占用為目的而故意不詢問用戶。因此,根據(jù)本實(shí)施方式,在輸入輸出控制裝置100中,因?yàn)樵谝欢〞r(shí)間內(nèi)從用戶沒有得到基于特定動(dòng)作的許可/不許可的任何判定時(shí),請求受理部110受理切換請求210,g卩,因?yàn)樵谠撛S可/不許可的應(yīng)答中設(shè)置超時(shí)(time-out),所以可以防止上述這樣的問題的發(fā)生。另外,根據(jù)本實(shí)施方式,在輸入輸出控制裝置100中,請求規(guī)則250將特定的切換請求210作為特權(quán)請求,請求受理部110在生成基于該特權(quán)請求的控制信息121后到滿足特定條件之前,根據(jù)該特權(quán)請求將對(duì)于在特定OS中占用的輸入設(shè)備或者輸出設(shè)備的切換請求210設(shè)為不受理,因此,將特定的切換請求210看做特權(quán)請求,根據(jù)該特權(quán)請求可以最優(yōu)先分配輸入輸出設(shè)備。這樣的特權(quán)請求例如在考慮到對(duì)于終端的保密檢查或調(diào)試檢查等強(qiáng)制啟動(dòng)的情況的程序啟動(dòng)時(shí)發(fā)生。此外,該特權(quán)請求比在之后發(fā)生的一般切換請求210還優(yōu)先,在結(jié)束處理之前,不會(huì)解除輸入輸出設(shè)備的占用。另外,根據(jù)本實(shí)施方式,輸入輸出控制裝置100的請求受理部110受理來自主系統(tǒng)的切換請求210,因此可以受理由VMM等主系統(tǒng)發(fā)行的切換請求210。其結(jié)果,由于VMM控制的各OS的下位層的處理,可以生成控制信息121。另外,根據(jù)本實(shí)施方式,在輸入輸出控制裝置100中,在計(jì)算機(jī)上的第一OS或者主系統(tǒng)具有檢測在該計(jì)算機(jī)上運(yùn)行的OS的特定的狀態(tài)變化的狀態(tài)變化檢測功能時(shí),請求受理部110受理該狀態(tài)變化檢測功能根據(jù)占用輸入設(shè)備或者輸出設(shè)備的第二OS的狀態(tài)變化發(fā)行的切換請求210,因此在OS或VMM檢測到特定OS的狀態(tài)變化時(shí),可以根據(jù)該狀態(tài)變化來生成控制信息121。作為這樣的狀態(tài)變化,考慮OS的結(jié)束及OS的意外停機(jī),狀態(tài)變化檢測機(jī)構(gòu)自身詳細(xì)記載在專利文獻(xiàn)1中。其結(jié)果,可以防止在不進(jìn)行正常動(dòng)作的OS中占用輸入輸出設(shè)備的情況。另外,根據(jù)本實(shí)施方式,OS在發(fā)行切換請求210之前讀請求規(guī)則250,只限于該切換請求210被輸入輸出控制裝置100的請求受理部110受理的情況下,發(fā)行該切換請求210,因此可以削減與該切換請求210有關(guān)的OS間的切換的處理成本、以及輸入輸出控制裝置100運(yùn)行的OS或VMM等主系統(tǒng)的處理成本。另外,根據(jù)本實(shí)施方式,主系統(tǒng)在發(fā)行切換請求210之前,讀請求規(guī)則250,只限于該切換請求210被輸入輸出控制裝置100的請求受理部110受理的情況下,發(fā)行該切換請求210,因此可以削減與該切換請求210有關(guān)的OS間的切換的處理成本、以及輸入輸出控制裝置100運(yùn)行的OS或VMM等主系統(tǒng)的處理成本。另外,根據(jù)本實(shí)施方式,在沒有占用輸入輸出設(shè)備的OS上運(yùn)行的程序?qū)S請求發(fā)行切換請求210之前,讀請求規(guī)則250,只限于該切換請求210被輸入輸出控制裝置100的請求受理部110受理的情況下,發(fā)行該切換請求210,因此可以削減與該切換請求210有關(guān)的該OS上的程序與該OS之間的上下文切換的處理成本、以及輸入輸出控制裝置100運(yùn)行的OS或VMM等主系統(tǒng)的處理成本。[第2實(shí)施方式](輸入輸出控制系統(tǒng))圖3是含有第2實(shí)施方式的輸入輸出控制裝置100的多個(gè)OS環(huán)境的系統(tǒng)結(jié)構(gòu)。第2實(shí)施方式的輸入輸出控制系統(tǒng)具有OS340、OS350、在該OS340上運(yùn)行的程序360、在該OS350上運(yùn)行的程序370、輸入設(shè)備310、輸出設(shè)備320和VMM330。另外,OS340具有輸入輸出控制裝置100、可控制輸出設(shè)備320的輸出設(shè)備控制部342和可控制輸入設(shè)備310的輸入設(shè)備控制部341。另外,OS350具有虛擬輸入設(shè)備控制部351、和虛擬輸出設(shè)備控制部352。這里,OS340例如是如在第1實(shí)施方式中敘述的安全OS,OS350是一般os。輸入設(shè)備控制部341以及輸出設(shè)備控制部342具有作為對(duì)設(shè)備進(jìn)行控制的設(shè)備驅(qū)動(dòng)程序的功能,實(shí)施用于與輸入輸出控制裝置100聯(lián)合動(dòng)作的擴(kuò)展。另外,虛擬輸入設(shè)備控制部351以及虛擬輸出設(shè)備控制部352,對(duì)OS350及程序370,如作為設(shè)備驅(qū)動(dòng)程序那樣地工作。實(shí)際上,虛擬輸入設(shè)備控制部351是輸入設(shè)備控制部341與OS350的接口,對(duì)輸入設(shè)備310與OS350的數(shù)據(jù)的交換進(jìn)行中繼。另外,虛擬輸出設(shè)備控制部352是輸出設(shè)備控制部342與OS350的接口,對(duì)輸出設(shè)備320與OS350的數(shù)據(jù)的交換進(jìn)行中繼。艮P,虛擬輸入設(shè)備控制部351將由輸入設(shè)備控制部341轉(zhuǎn)交的、來自輸入設(shè)備310的輸入信息向OS350輸入。另外,虛擬輸出設(shè)備控制部352將來自O(shè)S350的輸出信息轉(zhuǎn)交給輸出設(shè)備控制部342。實(shí)際上,利用由VMM330提供的OS間通信功能來進(jìn)行跨越了這些OS間的數(shù)據(jù)的交換。在第2實(shí)施方式中,首先對(duì)于輸入設(shè)備控制部341以及輸出設(shè)備控制部342利用輸入目的地信息230以及輸出可否信息240來如何動(dòng)作進(jìn)行敘述。輸入輸出控制裝置100向輸入設(shè)備控制部341輸出輸入目的地信息230,向輸出設(shè)備控制部342輸出輸出可否信息240。輸入設(shè)備控制部341通過從外部向輸入設(shè)備310輸入輸入信息來驅(qū)動(dòng)。發(fā)生關(guān)于輸入的硬件插入后、到動(dòng)作的控制向輸入設(shè)備控制部341移動(dòng)之前的過程,依存于VMM330的動(dòng)作,其例子詳細(xì)記載在從專利文獻(xiàn)1的開始的"InterruptandEventHandling"上。輸入設(shè)備控制部341根據(jù)輸入目的地信息230可以特定當(dāng)前哪個(gè)OS正占用輸入設(shè)備310,因此向該OS輸入輸入信息。例如,在OS340正占用輸入設(shè)備310時(shí),輸入設(shè)備控制部341進(jìn)行與通常的設(shè)備驅(qū)動(dòng)程序同樣的動(dòng)作,在OS350正占用輸入設(shè)備310時(shí),輸入設(shè)備控制部341向虛擬輸入設(shè)備控制部351輸入輸入信息。輸出設(shè)備控制部342可以通過輸出可否信息240來特定當(dāng)前哪個(gè)OS正占用輸出設(shè)備320。在OS340正占用輸出設(shè)備320時(shí),輸出設(shè)備控制部342進(jìn)行與通常的設(shè)備驅(qū)動(dòng)程序同樣的動(dòng)作。另外,在OS350正占用輸出設(shè)備320時(shí),輸出設(shè)備控制部342將其旨意通知給OS350的虛擬輸出設(shè)備控制部352,從虛擬輸出設(shè)備控制部352接收OS350的輸出信息后向輸出設(shè)備320輸出。另外,輸入輸出控制裝置100可以將輸入目的地信息230或者輸出可否信息240分別向虛擬輸入設(shè)備控制部351或者虛擬輸出設(shè)備控制部352輸出。此時(shí),只限于OS350正占用輸入設(shè)備310的情況下,虛擬輸入設(shè)備控制部351從輸入設(shè)備控制部340接收輸入信息,只限于OS350正占用輸出設(shè)備320的情況下,虛擬輸出設(shè)備控制部352向輸出設(shè)備控制部342輸出輸出信息。其結(jié)果,可以防止在輸入設(shè)備控制部341與虛擬輸入設(shè)備控制部351之間、或者輸出設(shè)備控制部342與虛擬輸出設(shè)備控制部352之間,發(fā)生無效的OS間通信。接著,在第2實(shí)施方式的輸入輸出控制系統(tǒng)結(jié)構(gòu)中,根據(jù)圖4對(duì)如何發(fā)行請求切換輸入輸出設(shè)備的占用OS的切換請求210進(jìn)行說明。在圖4中OS350還具有虛擬輸入輸出控制裝置351A。按照在第1實(shí)施方式中所敘述的,切換請求210大分為以外部輸入211為主要原因的切換請求、以O(shè)S處理212為主要原因的切換請求、以VMM處理213為主要原因的切換請求、和以O(shè)S狀態(tài)變化214為主要原因的切換請求。例如,用戶按下計(jì)算機(jī)預(yù)先具有的切換按鈕,由此發(fā)行以外部輸入211為主要原因的切換請求210,進(jìn)行占用OS的切換。此時(shí),控制該切換按鈕的切換按鈕控制驅(qū)動(dòng)程序343檢測到按下了切換按鈕,向輸入輸出控制裝置100通知其旨意就可以。在該切換按鈕與輸入設(shè)備相同時(shí),切換按鈕控制驅(qū)動(dòng)程序343,如果被輸入的信息與切換請求210有關(guān),則發(fā)行該切換請求210,如果不是這樣,則作為輸入設(shè)備控制部341來運(yùn)行。關(guān)于以O(shè)S處理212為主要原因的切換請求210,例如考慮在OS中通過利用GUI的程序360或者370來發(fā)行的情況。在程序360發(fā)行該切換請求210時(shí),由于是同一OS內(nèi),所以通過對(duì)輸入輸出控制裝置100發(fā)行系統(tǒng)呼叫,來發(fā)行該切換請求210。例如,在假定了UNIX(注冊商標(biāo))系OS時(shí),預(yù)先將輸入輸出控制裝置100作為設(shè)備文件(/dev/ioctrl等),對(duì)OS340進(jìn)行抽象化,程序360發(fā)行對(duì)于該設(shè)備文件的ioctrl系統(tǒng)呼叫。ioctri系統(tǒng)呼叫可以對(duì)各設(shè)備文件發(fā)送獨(dú)自的請求,所以可以生成如在實(shí)施方式1中敘述的切換請求210并發(fā)行。程序370因?yàn)榇嬖谟谂c輸入輸出控制裝置100不同的OS中,所以不能直接發(fā)行系統(tǒng)呼叫。因此,對(duì)OS350設(shè)置中繼切換請求210的虛擬輸入輸出控制裝置351A,虛擬輸入輸出控制裝置351A通過利用OS間通信功能,向輸入輸出控制裝置100通知該切換請求210。關(guān)于程序370和虛擬輸入輸出控制裝置351的通信,可以用與程序360和輸入輸出控制裝置100同樣的手段來實(shí)現(xiàn)。在發(fā)行以VMM處理213為主要原因的切換請求210時(shí),由VMM330利用signal等單一的通信手段?;蛘?,可以利用在從專利文獻(xiàn)1的開始的"HandlingVirtualizedProcessorExceptions"的章中記載的從VMM向OS發(fā)行的虛擬異常。VMM330因?yàn)閮H存在于一個(gè)系統(tǒng)中,所以即使固定地定義這樣的signal等也不要緊。輸入輸出控制裝置100只要確認(rèn)該signal的發(fā)行源是VMM330就可以。關(guān)于以O(shè)S狀態(tài)變化為主要原因的切換請求210,假設(shè)在特定OS或者VMM中有狀態(tài)變化檢測功能的情況。此情況下,用上述的某個(gè)手段可以實(shí)現(xiàn)切換請求210的通知。(作用以及效果)根據(jù)本實(shí)施方式,特定OS340具有控制輸入設(shè)備310以及輸出設(shè)備320的單元(輸入設(shè)備控制部341以及輸出設(shè)備控制部342),由此全部的OS340、350可以共享輸入設(shè)備310以及輸出設(shè)備320。另外,根據(jù)本實(shí)施方式,只要特定的OS340安全運(yùn)行就可以防止由于其它的OS350的誤動(dòng)作或存在惡意的動(dòng)作等而導(dǎo)致不正當(dāng)?shù)卣加幂斎朐O(shè)備310或者輸出設(shè)備320的情況。另外,根據(jù)本實(shí)施方式,通過各OS具有的虛擬輸入設(shè)備控制部351或者虛擬輸出設(shè)備控制部352,只限于該OS正占用輸入設(shè)備310或者輸出設(shè)備320的情況下,發(fā)生基于與輸入設(shè)備控制部341或者輸出設(shè)備控制部342的通信的OS間的通信,可以抑制無效的OS間通信。另外,根據(jù)本實(shí)施方式,在沒有占用輸入輸出設(shè)備的OS上運(yùn)行的程序可以請求該OS發(fā)行切換請求210。例如,某程序在顯示器上輸出圖像或文字等輸出信息時(shí),才對(duì)OS請求發(fā)行切換請求210。接受該請求后,該OS對(duì)輸入輸出控制裝置100發(fā)行該切換請求210。其結(jié)果,即使是該程序運(yùn)行時(shí),其它OS可以占用輸入輸出設(shè)備,直到發(fā)生輸入輸出事件。(第3實(shí)施方式)在第3實(shí)施方式中對(duì)于各OS具有輸入輸出設(shè)備控制部的情況進(jìn)行敘述。第3實(shí)施方式的輸入輸出控制系統(tǒng),如圖5所示,具有OS440、OS450、在該OS440上運(yùn)行的程序460、在該OS450上運(yùn)行的程序470、輸入設(shè)備410、輸出設(shè)備420和VMM430。OS440具有輸入設(shè)備控制部441和輸出設(shè)備控制部442,OS450具有輸入設(shè)備控制部451和輸出設(shè)備控制部452。另外,VMM430具有輸入輸出控制裝置100。在第3實(shí)施方式中,全部的OS440、450具有分別控制輸入輸出設(shè)備的輸入設(shè)備控制部441或者輸出設(shè)備控制部442。通過采取這樣的結(jié)構(gòu),與在第2實(shí)施方式中敘述的系統(tǒng)相比,輸入輸出的性能提高。具體來說,可以預(yù)料輸入輸出的速度提高及資源使用削減。原因是各設(shè)備驅(qū)動(dòng)程序不需要在意自己所屬的OS以外的其它OS,可以直接控制輸入輸出設(shè)備,可以省去涉及到OS間的切換的處理。在這樣的系統(tǒng)結(jié)構(gòu)中,必需解決屬于多個(gè)OS的輸入設(shè)備控制部或者輸出設(shè)備控制部同時(shí)參照單一輸入輸出設(shè)備的、所謂硬件沖突狀態(tài)。因此,輸入輸出控制裝置100在生成了控制信息121時(shí),對(duì)全部的輸入設(shè)備控制部441、451或者輸出設(shè)備控制部442、452,輸出輸入目的地信息230或者輸出可否信息240。例如,考慮了這樣的方法對(duì)于全部的OS440、450可讀取、VMM430可讀寫的主存儲(chǔ)裝置輸出輸入目的地信息230或者輸出可否信息240。各輸入設(shè)備控制部441、451或者輸出設(shè)備控制部442、452,通過輸入目的地信息230或者輸出可否信息240來特定自己所屬的OS440、450是否正占用輸入設(shè)備410或者輸出設(shè)備420,只限于正占用的情況下,控制該輸入設(shè)備410或者輸出設(shè)備420。輸入設(shè)備控制部441與第2實(shí)施方式相同,對(duì)應(yīng)來自輸入設(shè)備410的硬件插入的發(fā)生來驅(qū)動(dòng)。在專利文獻(xiàn)1或者非專利文獻(xiàn)1中所述的VMM,如本系統(tǒng)結(jié)構(gòu)那樣,在1個(gè)IRQ(InterruptReQuest)線(line)中對(duì)應(yīng)著在多個(gè)OS上操作的輸入設(shè)備控制部時(shí),順次驅(qū)動(dòng)這些輸入設(shè)備控制部,可以判斷調(diào)用的輸入設(shè)備控制部是否參照輸入設(shè)備410。使用此構(gòu)造,被驅(qū)動(dòng)的輸入設(shè)備控制部441根據(jù)輸入目的地信息230,如果OS440正占用輸入設(shè)備410,則驅(qū)動(dòng)作為對(duì)應(yīng)的設(shè)備驅(qū)動(dòng)程序的處理。此外,輸入設(shè)備控制部451也進(jìn)行同樣的操作。輸出設(shè)備控制部442根據(jù)輸出可否信息240,如果OS440正占用輸出設(shè)備420,則向輸出設(shè)備420輸出OS440的輸出信息。此外,輸出設(shè)備控制部452也進(jìn)行同樣的操作。作為各OS具有輸入設(shè)備控制部或者輸出設(shè)備控制部時(shí)的其它結(jié)構(gòu),還考慮了圖6所示的結(jié)構(gòu)。圖6所示的結(jié)構(gòu),與上述圖5所示的結(jié)構(gòu)幾乎相同,但是VMM430新具有輸入輸出控制部431。輸入輸出控制部431具有signal或虛擬異常等這樣的與各OS的通信手段,根據(jù)這些通信功能使各OS的輸入設(shè)備控制部441、451或者輸出設(shè)備控制部442、452有效化或者無效化。例如,在OS440或者450是Linux時(shí),Linux在內(nèi)核動(dòng)作中可以動(dòng)態(tài)進(jìn)行設(shè)備驅(qū)動(dòng)程序的安裝或者卸載。因此例如,通過輸入輸出控制裝置100,在OS440占用輸入設(shè)備410時(shí),輸入輸出控制部431向OS440通知使OS440的輸入設(shè)備控制部441有效化。OS440接收該通知后,將輸入設(shè)備控制部441裝入內(nèi)核代碼中。對(duì)其它OS450的輸入設(shè)備控制部451或者輸出設(shè)備控制部451、452也進(jìn)行同樣的處理。另外還有,作為其它結(jié)構(gòu)例還考慮圖7所示的結(jié)構(gòu)。在圖7所示的結(jié)構(gòu)中,VMM430新具有插入通知部432。插入通知部432是擴(kuò)展了在專利文獻(xiàn)1或者非專利文獻(xiàn)1等中記載的VMM—般具有的插入處理程序(handler)而成的。一般的插入處理程序在發(fā)生了硬件插入時(shí),根據(jù)其插入序號(hào)來判斷與哪個(gè)OS對(duì)應(yīng)的設(shè)備驅(qū)動(dòng)程序存在,對(duì)該OS通知插入。與IRQ序號(hào)對(duì)應(yīng)的設(shè)備有多個(gè)、控制該設(shè)備的設(shè)備驅(qū)動(dòng)程序分散在多個(gè)OS間時(shí),該插入處理程序依次對(duì)OS進(jìn)行插入通知。插入通知部432在發(fā)生來自輸入設(shè)備410的插入請求時(shí),通過利用輸入輸出控制裝置100中的輸入目的地信息230來特定通知插入的OS。即,插入通知部432在插入發(fā)生時(shí)特定占用輸入設(shè)備410的0S,對(duì)該OS通知插入。接著,在第3實(shí)施方式的系統(tǒng)結(jié)構(gòu)中,根據(jù)圖8對(duì)如何發(fā)行請求切換占用輸入輸出設(shè)備的OS的切換請求210進(jìn)行說明。在圖8中,OS440、450新具有虛擬輸入輸出控制裝置443、453,OS440還具有作為切換按鈕用的設(shè)備驅(qū)動(dòng)程序的切換按鈕控制驅(qū)動(dòng)程序444。程序460、470對(duì)虛擬輸入輸出控制裝置443、453分別發(fā)行切換請求210的處理,與在第2實(shí)施方式中程序370對(duì)虛擬輸入輸出控制裝置351發(fā)行切換請求210的處理相同。另外,切換按鈕控制驅(qū)動(dòng)程序444對(duì)虛擬輸入輸出控制裝置443發(fā)行切換請求210的處理,與在第2實(shí)施方式中切換按鈕控制驅(qū)動(dòng)程序343對(duì)輸入輸出控制裝置100發(fā)行切換請求210的處理相同。進(jìn)一步,VMM的調(diào)試功能433以及輸入輸出控制裝置100存在于由VMM430控制的同一存儲(chǔ)器空間內(nèi),所以在發(fā)行切換請求210時(shí)不需要特別的功能。在虛擬輸入輸出控制裝置443、453對(duì)輸入輸出控制裝置100發(fā)行切換請求210時(shí),VMM430使用作為對(duì)OS440提供的接口的"hypercall"。對(duì)于"hypercall"以同名在非專利文獻(xiàn)1的3.1節(jié)中有說明,以"trapcall"這樣的名字在專利文獻(xiàn)1的中有說明。這些VMM—OS接口在現(xiàn)有技術(shù)中采用與系統(tǒng)呼叫同樣的使用方法。即,該VMM—OS接口,在依賴于VMM時(shí)發(fā)行以VM上的OS的權(quán)限無法處理的特權(quán)命令。本實(shí)施方式中的hypercall使用了這些現(xiàn)有技術(shù)所具有的接口功能。關(guān)于在hypercall中實(shí)際通知的信息,如同在第1實(shí)施方式中所述的那樣。如果輸入輸出控制裝置100針對(duì)接收到的hypercall受理該切換請求210,則進(jìn)行如在第1實(shí)施方式中所述的處理,如果因?yàn)槟撤N理由成為不受理時(shí)則向該OS返回錯(cuò)誤。接著,根據(jù)圖9對(duì)VMM430具有與輸入輸出控制裝置100聯(lián)動(dòng)動(dòng)作的QOS控制部434時(shí)的動(dòng)作例進(jìn)行敘述。QOS控制部434是擴(kuò)展了例如在從專利文獻(xiàn)1的開始的scheduler的章中記載的CPU調(diào)度程序而成的,根據(jù)各OS處理的優(yōu)先級(jí)來決定針對(duì)各OS分配的硬件資源。例如,CPU調(diào)度程序?yàn)榱烁鶕?jù)各OS處理的優(yōu)先級(jí)來分配CPU控制而存在。本實(shí)施方式的QOS控制部434根據(jù)輸入輸出控制裝置100輸出的輸入目的地信息230以及輸出可否信息240來對(duì)占用輸入設(shè)備410或者輸出設(shè)備420的OS設(shè)定高優(yōu)先級(jí),優(yōu)先分配CPU等的硬件資源。其結(jié)果,例如占用HID,用戶實(shí)際利用的OS的處理被優(yōu)先處理,使使用性提高。(作用以及效果)根據(jù)本實(shí)施方式,各OS440、450分別具有可控制輸入輸出設(shè)備的單元(輸入設(shè)備控制部441、451以及輸出設(shè)備控制部442、452),由此僅在判定為可以由輸入輸出控制裝置100輸入的情況下,輸入設(shè)備控制部441、451向該OS440、450輸入來自輸入設(shè)備410的輸入信息,僅在判定為可以由輸入輸出控制裝置100輸出的情況下,輸出設(shè)備控制部442、452向輸出設(shè)備420輸出來自該OS440、450的輸出信息,可以防止該控制對(duì)象輸入輸出設(shè)備的沖突狀態(tài)。另外,各OS440、450可以直接控制輸入輸出設(shè)備,使輸入輸出時(shí)的速度提高。另外,VMM430具有輸入輸出控制部431,該輸入輸出控制部431根據(jù)由輸入輸出控制裝置100輸出的輸入目的地信息230使OS440、450的輸入設(shè)備控制部441、451有效化或者無效化,根據(jù)由輸入輸出控制裝置100輸出的輸出可否信息240使OS440、450的輸出設(shè)備控制部442、452有效化或者無效化。其結(jié)果,在各OS440、450分別具有可以控制特定的輸入設(shè)備410的輸入設(shè)備控制部441、451或者可以控制輸出設(shè)備420的輸出設(shè)備控制部442、452時(shí),也通過只有判定為可以由輸入輸出控制裝置100輸入輸出的OS占用輸入設(shè)備410或者輸出設(shè)備420,來可以防止輸入設(shè)備410或者輸出設(shè)備420的沖突狀態(tài)。另外,各OS440、450可以直接控制輸入輸出設(shè)備,使輸入輸出時(shí)的速度提高。進(jìn)一步,占用輸入設(shè)備410或者輸出設(shè)備420只在主系統(tǒng)許可時(shí)才可以,所以可以防止由于OS的誤動(dòng)作等而導(dǎo)致的輸入設(shè)備410或者輸出設(shè)備420的不正當(dāng)占用。另外,VMM430具有插入通知部432,該插入通知部,在發(fā)生了對(duì)于輸入設(shè)備410的插入時(shí)向OS440、450通知該插入,插入通知部432根據(jù)輸入輸出控制裝置IOO輸出的輸入目的地信息,特定該插入的通知目的地。因此,在發(fā)生來自輸入設(shè)備410的插入時(shí),主系統(tǒng)利用輸入輸出控制裝置100可以選擇通知該插入的OS。其結(jié)果,各OS440、450可以直接控制輸入設(shè)備410,使輸入時(shí)的速度提高。另外,因?yàn)閷碜暂斎朐O(shè)備410的輸入信息可靠地輸入到占用該輸入設(shè)備410的OS,所以可以防止由OS的誤動(dòng)作等引起的輸入設(shè)備410的不正當(dāng)利用。另夕卜,VMM430具有QOS控制部434,該QOS控制部,根據(jù)輸入輸出控制裝置100輸出的輸入目的地信息230或者輸出可否信息240來進(jìn)行對(duì)于OS的QOS控帝ij。因此,主系統(tǒng)可以通過由輸入輸出控制裝置IOO輸出的輸入目的地信息230或者輸出可否信息240來進(jìn)行對(duì)于各OS的QOS控制。例如,對(duì)占用HID的OS的處理分配高的CPU優(yōu)先級(jí)。其結(jié)果,對(duì)用戶實(shí)際操作的程序分配了高的CPU優(yōu)先級(jí),使使用性提高。(第4實(shí)施方式)圖10是第4實(shí)施方式的含有輸入輸出控制裝置100的多個(gè)OS環(huán)境的系統(tǒng)結(jié)構(gòu)。第4實(shí)施方式的輸入輸出控制系統(tǒng)具有OS540、OS550、在該OS540上運(yùn)行的GUI服務(wù)器560、在該OS550上運(yùn)行的GUI服務(wù)器570、在該GUI服務(wù)器560上運(yùn)行的GUI客戶端580、在該GUI服務(wù)器570上運(yùn)行的GUI客戶端590、輸入設(shè)備510、輸出設(shè)備520和VMM530。另外,OS540具有輸入輸出控制裝置100、可以控制輸出設(shè)備520的輸出設(shè)備控制部542和可以控制輸入設(shè)備510的輸入設(shè)備控制部541。這里因?yàn)榈?實(shí)施方式的系統(tǒng)結(jié)構(gòu)與在第2實(shí)施方式中所述的系統(tǒng)結(jié)構(gòu)相同,所以主要說明兩者的不同點(diǎn)。在第4實(shí)施方式的系統(tǒng)中,在各OS540、550上存在GUI服務(wù)器560、570和GUI客戶端580、590。GUI服務(wù)器560、570相當(dāng)于窗口管理器,匯總處理該OS540、550上的全部GUI程序的輸入輸出。GUI客戶端580、590是向GUI服務(wù)器560、570委托輸入輸出的任意的GUI程序。GUI服務(wù)器560根據(jù)從GUI客戶端580接收的輸入輸出處理請求來處理該輸入輸出。即,GUI服務(wù)器560向GUI客戶端580輸入來自輸入設(shè)備510的輸入信息,向輸出設(shè)備520輸出來自GUI客戶端580的輸出信息。進(jìn)一步,GUI服務(wù)器560將GUI服務(wù)器570作為GUI客戶端來進(jìn)行與對(duì)于GUI客戶端580的處理同樣的處理。通過VMM530具有的OS間通信功能來實(shí)現(xiàn)GUI服務(wù)器560與GUI服務(wù)器570間的通信。GUI服務(wù)器570根據(jù)從GUI客戶端590接收的輸入輸出請求,處理該輸入輸出。即,GUI服務(wù)器570對(duì)GUI客戶端590輸入經(jīng)由GUI服務(wù)器560從輸入設(shè)備510接收到的輸入信息,經(jīng)由GUI服務(wù)器560向輸出設(shè)備520輸出來自GUI客戶端590的輸出信息。GUI服務(wù)器560還以輸入輸出控制裝置100中的輸入目的地信息230或者輸出可否信息240為基礎(chǔ)來動(dòng)作。即,OS540根據(jù)這些信息占用輸入設(shè)備510或者輸出設(shè)備520時(shí),GUI服務(wù)器560處理GUI客戶端580的輸入輸出。另外,在OS550占用輸入設(shè)備510或者輸出設(shè)備520時(shí),GUI服務(wù)器560向GUI服務(wù)器570通知其旨意。通過該通知,只限于判明OS550占用輸入設(shè)備510或者輸出設(shè)備520的情況下,GUI服務(wù)器570向OS550委托輸入輸出處理。相反,在OS550不占用該設(shè)備時(shí),不向OS550委托GUI客戶端590的輸入輸出。例如,通過systemcall來實(shí)現(xiàn)GUI服務(wù)器560與輸入輸出控制裝置100之間的通信。(第5實(shí)施方式)圖11是第5實(shí)施方式的含有輸入輸出控制裝置100的多個(gè)OS環(huán)境的系統(tǒng)結(jié)構(gòu)。第5實(shí)施方式的輸入輸出控制系統(tǒng)是與在第2實(shí)施方式中所示的輸入輸出控制系統(tǒng)幾乎相同的結(jié)構(gòu)。艮口,OS650、及在該OS650上運(yùn)行的程序670通過虛擬輸入設(shè)備控制軟件651接收來自控制對(duì)象的輸入設(shè)備610的輸入信息,通過虛擬輸出設(shè)備控制軟件652,向輸出設(shè)備控制軟件642輸出輸出信息。本實(shí)施方式與第2實(shí)施方式不同的部分是程序660以及程序670。以下對(duì)本實(shí)施方式的程序660以及程序670的動(dòng)作進(jìn)行說明。此外,以下將程序660作為對(duì)象來進(jìn)行說明,而預(yù)先聲明通過將程序660與輸入設(shè)備控制軟件641的關(guān)系、或者程序660與輸出設(shè)備控制軟件642的關(guān)系置換為程序670與虛擬輸入設(shè)備控制軟件651的關(guān)系、或者程序670與虛擬輸出設(shè)備控制軟件652的關(guān)系也可以適用于程序670。作為一般性通用OS的Linux或Windows(注冊商標(biāo))等,具有用于接收來自程序的請求、執(zhí)行僅以O(shè)S權(quán)限可執(zhí)行的特權(quán)處理的接口。程序?qū)υ摻涌诎l(fā)行系統(tǒng)調(diào)用。程序660為了經(jīng)由輸入設(shè)備控制軟件641或輸出設(shè)備控制軟件642接收輸入信息、輸出輸出信息,需要各自專用的系統(tǒng)調(diào)用。例如,在Linux中用于接收輸入信息的系統(tǒng)調(diào)用相當(dāng)于read系統(tǒng)調(diào)用,用于輸出輸出信息的系統(tǒng)調(diào)用相當(dāng)于write系統(tǒng)調(diào)用。這些系統(tǒng)調(diào)用的處理因?yàn)樾枰诎l(fā)行了系統(tǒng)調(diào)用的程序與OS之間的上下文切換,所以產(chǎn)生很大的處理成本。在本實(shí)施方式中,程序660通過進(jìn)行特別的處理來減少系統(tǒng)調(diào)用的發(fā)行次數(shù),可以削減整個(gè)系統(tǒng)的開銷。本實(shí)施方式中的輸入輸出控制裝置100將控制信息121輸出到程序660可參照的區(qū)域。例如,輸入輸出控制裝置100向如上所述的在OS間通信時(shí)使用的共享存儲(chǔ)器輸出控制信息121。其結(jié)果,程序660可以讀控制信息121,根據(jù)控制信息121的內(nèi)容可以決定是否發(fā)行系統(tǒng)調(diào)用。艮P,根據(jù)控制信息121,只限于OS640正占用作為控制對(duì)象的輸入設(shè)備610或者輸出設(shè)備620的情況下,程序660發(fā)行對(duì)應(yīng)的系統(tǒng)調(diào)用。其結(jié)果,在即使發(fā)行了系統(tǒng)調(diào)用也因?yàn)闆]有占用權(quán)而不能執(zhí)行對(duì)于輸入輸出設(shè)備的輸入輸出時(shí),可以抑制系統(tǒng)調(diào)用的發(fā)行,可以削減開銷。作為可削減這樣的系統(tǒng)調(diào)用的發(fā)行的設(shè)備,例如舉出音頻設(shè)備。通常,向音頻設(shè)備的輸出,根據(jù)程序應(yīng)該實(shí)時(shí)地發(fā)生。也就是說,在通常使用時(shí),難以考慮到在某時(shí)刻由于OS沒有占用音頻設(shè)備而不能輸出音樂數(shù)據(jù)時(shí)存儲(chǔ)該音樂數(shù)據(jù)、在該OS占用了該音頻設(shè)備時(shí)輸出。因此,輸出音樂信息的程序660在OS640沒有占用音頻設(shè)備時(shí),無視應(yīng)該輸出的音樂信息,不需要發(fā)行無效的系統(tǒng)調(diào)用。另一方面,作為不能削減這樣的系統(tǒng)調(diào)用的發(fā)行的設(shè)備,舉出顯示器。向各OS具有的顯示器的輸出信息,在該OS占用顯示器的情況下或者不占用顯示器的情況下,都必需向該OS的幀(frame)緩沖存儲(chǔ)器進(jìn)行存儲(chǔ)*更新。通過這樣,即使在切換了顯示器的占用權(quán)時(shí),用戶也可以從顯示器正確掌握在此時(shí)刻的OS的狀況。為了達(dá)到上述目的,該OS必需時(shí)常更新自幀緩沖存儲(chǔ)器,不拘于控制信息121的內(nèi)容,必需從程序660中繼續(xù)接收輸出信息。如上所述,為了參照控制信息121來變更動(dòng)作,實(shí)施對(duì)程序660的改造就可以。艮P,程序660只要具有以下步驟就可以關(guān)于發(fā)生輸入輸出的部分的代碼參照控制信息121的步驟;和根據(jù)控制信息121的內(nèi)容決定是否發(fā)行系統(tǒng)調(diào)用的步驟??墒?,對(duì)應(yīng)于系統(tǒng)變更程序660的內(nèi)容對(duì)于程序員來說負(fù)擔(dān)很大,另外失去了不變更程序660而可以運(yùn)行這樣的VMM的優(yōu)點(diǎn)。此外,程序員判斷要不要根據(jù)如上所述的設(shè)備差異進(jìn)行改造,是非常困難的。在安裝本實(shí)施方式后的現(xiàn)實(shí)的方法,不是直接改造程序660,而是改造程序660在輸入輸出時(shí)調(diào)用的API661。一般來說,程序員沒有將系統(tǒng)調(diào)用直接編入代碼中,而是調(diào)用系統(tǒng)準(zhǔn)備的API,由此生成程序以使間接地發(fā)行系統(tǒng)調(diào)用。利用API,與如直接調(diào)用系統(tǒng)調(diào)用的代碼相比,使程序設(shè)計(jì)變得容易,還有便利性也提高。另外,在每一設(shè)備上準(zhǔn)備這樣的API。因此,僅對(duì)調(diào)用需要判斷要不要發(fā)行系統(tǒng)調(diào)用的設(shè)備用的API實(shí)施改造,該API具備以下步驟就可以參照控制信息121的步驟;根據(jù)參照結(jié)果決定是否進(jìn)行系統(tǒng)調(diào)用的發(fā)行的步驟;和根據(jù)該決定發(fā)行系統(tǒng)調(diào)用的步驟。由此,本實(shí)施方式的無論如何的變更,程序660的制作者都不需要,卻可以抑制系統(tǒng)呼叫的發(fā)行次數(shù),因此使整個(gè)系統(tǒng)的性能提高。(作用以及效果)根據(jù)本實(shí)施方式,在OS640上運(yùn)行的程序660參照控制信息121,判斷在此時(shí)刻該OS640是否正占用輸入設(shè)備610或者輸出設(shè)備620,只限于正占用的情況下,對(duì)該OS發(fā)行關(guān)于輸入輸出的系統(tǒng)調(diào)用,由此可以削減無效系統(tǒng)調(diào)用的發(fā)行所需要的處理成本。以上,采用上述實(shí)施方式對(duì)本發(fā)明進(jìn)行了詳細(xì)地說明,而對(duì)于本領(lǐng)域技術(shù)人員來說,本發(fā)明并不限定于本說明書中說明的實(shí)施方式是顯然的。本發(fā)明可以在不脫離由權(quán)利要求范圍的記載所規(guī)定的本發(fā)明的要點(diǎn)以及范圍的前提下修正以及變更實(shí)施方式來實(shí)施。因此,本說明書的記載以舉例說明為目的,對(duì)本發(fā)明不具有任何限制的意思。權(quán)利要求1.一種輸入輸出控制系統(tǒng),具有至少一個(gè)輸入設(shè)備、至少一個(gè)輸出設(shè)備、控制所述輸入設(shè)備以及所述輸出設(shè)備的輸入輸出的輸入輸出控制裝置、和含有多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行功能以及在所述多個(gè)操作系統(tǒng)間的通信功能的主系統(tǒng),其特征在于,所述輸入輸出控制裝置,具有請求受理部,對(duì)請求切換占用所述輸入設(shè)備或者所述輸出設(shè)備的操作系統(tǒng)的切換請求進(jìn)行受理;控制信息生成部,根據(jù)所述切換請求,生成含有輸入目的地信息或者輸出可否信息的控制信息;和控制信息輸出部,輸出所述輸入目的地信息以及所述輸出可否信息,在所述主系統(tǒng)上運(yùn)行的所述多個(gè)操作系統(tǒng),各自具有輸入設(shè)備控制部,通過參照由所述輸入輸出控制裝置輸出的輸入目的地信息,決定是否將來自所述輸入設(shè)備的輸入信息向所述操作系統(tǒng)輸入;和輸出設(shè)備控制部,根據(jù)由所述輸入輸出控制裝置輸出的輸出可否信息,決定是否輸出來自所述操作系統(tǒng)的輸出信息。2.—種輸入輸出控制系統(tǒng),具有至少一個(gè)輸入設(shè)備、至少一個(gè)輸出設(shè)備、控制所述輸入設(shè)備以及所述輸出設(shè)備的輸入輸出的輸入輸出控制裝置、和含有多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行功能以及在所述多個(gè)操作系統(tǒng)間的通信功能的主系統(tǒng),其特征在于,所述輸入輸出控制裝置,具有請求受理部,對(duì)請求切換占用所述輸入設(shè)備或者所述輸出設(shè)備的操作系統(tǒng)的切換請求進(jìn)行受理;控制信息生成部,根據(jù)所述切換請求,生成含有輸入目的地信息或者輸出可否信息的控制信息;和控制信息輸出部,輸出所述輸入目的地信息以及所述輸出可否信息,所述多個(gè)操作系統(tǒng),各自具有可控制所述輸入設(shè)備的輸入設(shè)備控制部;和可控制所述輸出設(shè)備的輸出設(shè)備控制部,所述主系統(tǒng)具有輸入輸出控制部,該輸入輸出控制部,根據(jù)所述輸入輸出控制裝置輸出的輸入目的地信息,使所述操作系統(tǒng)的所述輸入設(shè)備控制部有效化或者無效化,根據(jù)所述輸入輸出控制裝置輸出的輸出可否信息,使所述操作系統(tǒng)的所述輸出控制部有效化或者無效化。3.—種輸入輸出控制系統(tǒng),具有至少一個(gè)輸入設(shè)備、至少一個(gè)輸出設(shè)備、控制所述輸入設(shè)備以及所述輸出設(shè)備的輸入輸出的輸入輸出控制裝置、和含有多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行功能以及在所述多個(gè)操作系統(tǒng)間的通信功能的主系統(tǒng),其特征在于,所述輸入輸出控制裝置,具有請求受理部,對(duì)請求切換占用所述輸入設(shè)備或者所述輸出設(shè)備的操作系統(tǒng)的切換請求進(jìn)行受理;控制信息生成部,根據(jù)所述切換請求,生成含有輸入目的地信息或者輸出可否信息的控制信息;禾口控制信息輸出部,輸出所述輸入目的地信息以及所述輸出可否信息,所述主系統(tǒng)具有插入通知部,該插入通知部,在發(fā)生了對(duì)于所述輸入設(shè)備的插入時(shí),將所述插入向所述操作系統(tǒng)通知,所述插入通知部根據(jù)所述輸入輸出控制裝置輸出的輸入目的地信息,特定所述插入的通知目的地。4.一種輸入輸出控制系統(tǒng),具有至少一個(gè)輸入設(shè)備、至少一個(gè)輸出設(shè)備、控制所述輸入設(shè)備以及所述輸出設(shè)備的輸入輸出的輸入輸出控制裝置、和含有多個(gè)操作系統(tǒng)的同時(shí)執(zhí)行功能以及在所述多個(gè)操作系統(tǒng)間的通信功能的主系統(tǒng),其特征在于,所述輸入輸出控制裝置,具有請求受理部,對(duì)請求切換占用所述輸入設(shè)備或者所述輸出設(shè)備的操作系統(tǒng)的切換請求進(jìn)行受理;控制信息生成部,根據(jù)所述切換請求,生成含有輸入目的地信息或者輸出可否信息的控制信息;和控制信息輸出部,輸出所述輸入目的地信息以及所述輸出可否信息,所述主系統(tǒng)具有QoS控制部,該QoS控制部,根據(jù)所述輸入輸出控制裝置輸出的輸入目的地信息或者輸出可否信息,進(jìn)行對(duì)于所述操作系統(tǒng)的QoS控制。全文摘要本發(fā)明提供一種考慮到效率性、不依存于上位平臺(tái)、使用性的輸入輸出控制系統(tǒng)。在具有多個(gè)OS的同時(shí)執(zhí)行功能的主系統(tǒng)上,對(duì)在至少2個(gè)以上的OS同時(shí)運(yùn)行的計(jì)算機(jī)上配置的輸入設(shè)備以及輸出設(shè)備的輸入輸出進(jìn)行控制的輸入輸出控制裝置(100),具有請求受理部(110),對(duì)請求切換占用輸入設(shè)備或者輸出設(shè)備的OS的切換請求進(jìn)行受理;控制信息生成部(120),根據(jù)切換請求,生成含有輸入目的地信息(230)或者輸出可否信息(240)的控制信息(121);和控制信息輸出部(130),輸出輸入目的地信息(230)或者輸出可否信息(240)。文檔編號(hào)G06F9/46GK101359313SQ20081021314公開日2009年2月4日申請日期2007年1月17日優(yōu)先權(quán)日2006年1月17日發(fā)明者太田賢,藤本拓,鈴木敬申請人:株式會(huì)社Ntt都科摩