用于在客戶機(jī)之間共享存儲器的方法和系統(tǒng)的制作方法
【專利摘要】本申請?zhí)峁┝擞糜谠诳蛻魴C(jī)之間共享存儲器的方法和系統(tǒng)。在用于在都運(yùn)行于數(shù)據(jù)處理系統(tǒng)上的第一客戶機(jī)和第二客戶機(jī)之間共享存儲器的方法中,一個或多個計(jì)算機(jī)處理器將虛擬設(shè)備提供給第一客戶機(jī),用于代理第一客戶機(jī)和第二客戶機(jī)之間的存儲器訪問,其中第一客戶機(jī)與第二客戶機(jī)相關(guān)聯(lián),以及其中第一客戶機(jī)運(yùn)行第一操作系統(tǒng),且第二客戶機(jī)運(yùn)行第二操作系統(tǒng)。所述一個或多個計(jì)算機(jī)處理器將一個或多個設(shè)備相關(guān)功能發(fā)送給第二客戶機(jī),其中所述虛擬設(shè)備使得能夠在第一客戶機(jī)和第二客戶機(jī)之間共享存儲器。
【專利說明】
用于在客戶機(jī)么間共享存儲器的方法和系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明一般設(shè)及數(shù)據(jù)處理系統(tǒng)的領(lǐng)域,并且更特別地設(shè)及一種用于在運(yùn)行于數(shù)據(jù) 處理系統(tǒng)上的兩個虛擬化系統(tǒng)之間共享存儲器的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。
【背景技術(shù)】
[0002] 虛擬化數(shù)據(jù)處理系統(tǒng)可W提供關(guān)于該處理系統(tǒng)的真實(shí)資源和模擬資源的多個視 圖。運(yùn)樣的視圖可W被實(shí)現(xiàn)為虛擬機(jī)或所謂的客戶機(jī)。每個客戶機(jī)作為獨(dú)立于其他客戶機(jī) 的虛擬的單獨(dú)數(shù)據(jù)處理系統(tǒng)運(yùn)行。提供獨(dú)立數(shù)據(jù)處理系統(tǒng)的視圖的組件被稱為系統(tǒng)管理程 序化ypervisor)。系統(tǒng)管理程序的責(zé)任范圍包括資源管理、模擬(如果必要的話)、w及客戶 機(jī)之間的隔離。
[0003] 偶爾,多個客戶機(jī)遇到在一個任務(wù)上協(xié)作的需要,例如,一個客戶機(jī)應(yīng)該為另一個 客戶機(jī)分析數(shù)據(jù)。通常,通過經(jīng)由虛擬網(wǎng)絡(luò)在兩個客戶機(jī)之間拷貝數(shù)據(jù)來處理該通信。運(yùn)允 許促進(jìn)熟知的編程范式。利用該方法,客戶機(jī)的安全性和隔離仍可W被維持在高水平上。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的實(shí)施例公開了一種用于在都運(yùn)行于數(shù)據(jù)處理系統(tǒng)上的第一客戶機(jī)和第 二客戶機(jī)之間共享存儲器的方法、計(jì)算機(jī)程序產(chǎn)品和系統(tǒng)。所述方法可W包括:一個或多個 計(jì)算機(jī)處理器將虛擬設(shè)備提供給第一客戶機(jī),用于代理第一客戶機(jī)和第二客戶機(jī)之間的存 儲器訪問,其中第一客戶機(jī)與第二客戶機(jī)相關(guān)聯(lián),W及其中第一客戶機(jī)運(yùn)行第一操作系統(tǒng), 且第二客戶機(jī)運(yùn)行第二操作系統(tǒng)。所述一個或多個計(jì)算機(jī)處理器將一個或多個設(shè)備相關(guān)功 能發(fā)送給第二客戶機(jī),其中虛擬設(shè)備使得能夠在第一客戶機(jī)和第二客戶機(jī)之間共享存儲 器。
[0005] 此外,一種用于在都運(yùn)行于數(shù)據(jù)處理系統(tǒng)上的第一客戶機(jī)和第二客戶機(jī)之間共享 存儲器的計(jì)算機(jī)程序產(chǎn)品可W包括:用于將虛擬設(shè)備提供給第一客戶機(jī),用于代理第一客 戶機(jī)和第二客戶機(jī)之間的存儲器訪問的程序指令,其中第一客戶機(jī)與第二客戶機(jī)相關(guān)聯(lián), W及其中第一客戶機(jī)運(yùn)行第一操作系統(tǒng),且第二客戶機(jī)運(yùn)行第二操作系統(tǒng)。程序指令將一 個或多個設(shè)備相關(guān)功能發(fā)送給第二客戶機(jī),其中虛擬設(shè)備使得能夠在第一客戶機(jī)和第二客 戶機(jī)之間共享存儲器。
[0006] 此外,提出了一種用于執(zhí)行數(shù)據(jù)處理程序的數(shù)據(jù)處理系統(tǒng),包括用于執(zhí)行上述方 法的計(jì)算機(jī)可讀程序指令。
【附圖說明】
[0007] 圖1是在其中實(shí)現(xiàn)根據(jù)本發(fā)明的實(shí)施例的方法的環(huán)境的系統(tǒng)示圖;
[000引圖2是根據(jù)本發(fā)明的實(shí)施例的用于在第一客戶機(jī)和第二客戶機(jī)之間共享存儲器的 方法的示例性過程的流程圖;W及
[0009]圖3是用于執(zhí)行根據(jù)本發(fā)明的方法的數(shù)據(jù)處理系統(tǒng)的示例實(shí)施例。
【具體實(shí)施方式】
[0010] 在附圖中,利用相同的附圖標(biāo)記來指代相同的元件。附圖僅僅是示意性的表示,而 并非旨在描繪本發(fā)明的具體參數(shù)。此外,附圖旨在僅描繪本發(fā)明的典型實(shí)施例,并且因此不 應(yīng)被視為限制本發(fā)明的范圍。
[0011] 本文描述的說明性實(shí)施例提供了一種用于在客戶機(jī)之間共享存儲器的方法、系統(tǒng) 和計(jì)算機(jī)程序產(chǎn)品。說明性實(shí)施例有時在本文中使用僅僅為了描述的清楚起見而作為示例 的特定技術(shù)來進(jìn)行描述。說明性實(shí)施例可W用于在第一客戶機(jī)和第二客戶機(jī)之間共享存儲 器,第一客戶機(jī)運(yùn)行第一操作系統(tǒng)且第二客戶機(jī)運(yùn)行第二操作系統(tǒng),其中兩個操作系統(tǒng)可 W為同一種,但是也可W是不同的操作系統(tǒng)。
[0012] 在虛擬系統(tǒng)中,在第一客戶機(jī)上運(yùn)行的應(yīng)用和在第二客戶機(jī)上運(yùn)行的應(yīng)用都由相 同的系統(tǒng)管理程序(即,相同的物理機(jī))托管。由于本發(fā)明的實(shí)施例,提供了一種機(jī)制來在兩 個客戶機(jī)之間共享數(shù)據(jù),從而允許第二客戶機(jī)在第一客戶機(jī)的的數(shù)據(jù)上操作。
[0013] 第一客戶機(jī)識別對于第二應(yīng)用而言將變得可用的數(shù)據(jù),并調(diào)用第二客戶機(jī)上的第 二應(yīng)用。系統(tǒng)管理程序?qū)⑨槍υ撜{(diào)用的數(shù)據(jù)映射到第二應(yīng)用的地址空間中,W用于立刻訪 問。在處理的同時,第二應(yīng)用消費(fèi)第二客戶機(jī)的資源(例如,CPU、存儲器、1/0),并且仍直接 訪問由第一客戶機(jī)提供的數(shù)據(jù)。所提供的數(shù)據(jù)的地址轉(zhuǎn)換允許使用較高級的語言對第二應(yīng) 用進(jìn)行編程。
[0014] 在近來的發(fā)展中,W低開銷將應(yīng)用的計(jì)算密集型部分移動到操作系統(tǒng),W執(zhí)行更 有成本效益的計(jì)算。根據(jù)所提出的方法,可W避免將存儲器中的數(shù)據(jù)結(jié)構(gòu)從一個操作系統(tǒng) 移動到另一個操作系統(tǒng)的拷貝操作。不需要使用必須執(zhí)行拷貝操作從而導(dǎo)致延遲的機(jī)制 (類似于遠(yuǎn)程過程調(diào)用(RPC)、TCP^P套接字、或者甚至遠(yuǎn)程直接存儲器訪問(RDMA))。
[0015] 消除該開銷會顯著地改善應(yīng)用的總體性能。不需要操作系統(tǒng)或應(yīng)用中的顯著改 變,就可W實(shí)現(xiàn)功能的封裝。當(dāng)根據(jù)本發(fā)明的實(shí)施例共享存儲器時,不存在通信開銷。由于 不存在為共享存儲器所需的拷貝操作,因此共享的數(shù)據(jù)量是與服務(wù)功能的調(diào)用無關(guān)的性 能??蒞通過從一客戶機(jī)到另一客戶機(jī)的功能調(diào)用來實(shí)現(xiàn)對存儲器的共享。
[0016] 圖1描繪了在其中實(shí)現(xiàn)根據(jù)本發(fā)明的實(shí)施例的方法的環(huán)境的系統(tǒng)示圖。該系統(tǒng)示 圖示出第一客戶機(jī)10和第二客戶機(jī)20,在圖1中被描繪為它們的存儲器區(qū)域,其中系統(tǒng)管理 程序30被指派給第一客戶機(jī)10和第二客戶機(jī)20,并且從而使第一客戶機(jī)10與第二客戶機(jī)20 相關(guān)聯(lián)。第一客戶機(jī)10運(yùn)行第一操作系統(tǒng)12(例如,一般的大型機(jī)操作系統(tǒng))W及包含應(yīng)用 特定數(shù)據(jù)15的第一應(yīng)用16。第一操作系統(tǒng)12可W包括內(nèi)核,其可W發(fā)現(xiàn)第二客戶機(jī)20上的 應(yīng)用。第二客戶機(jī)20運(yùn)行第二操作系統(tǒng)22(例如,Linux?似及第二應(yīng)用26(例如,如圖1中 的應(yīng)用輔助包(ACC,application assist cartridge),但是其可W表示任何分析算法)。第 二應(yīng)用26作為第二客戶機(jī)20的用戶空間代碼28的一個應(yīng)用而運(yùn)行。系統(tǒng)管理程序30包含管 理模塊32W用于所有協(xié)作細(xì)節(jié)。應(yīng)用管理模塊32可W關(guān)于服務(wù)功能和諸如ACC之類的應(yīng)用 的使用,管理第一客戶機(jī)10和第二客戶機(jī)20之間的交互。系統(tǒng)調(diào)用40(SYSCA化)可W用于向 第二操作系統(tǒng)22注冊第二應(yīng)用26。
[0017] 所提出的用于在第一客戶機(jī)10和第二客戶機(jī)20之間共享存儲器的方法被用于:使 第一客戶機(jī)10的數(shù)據(jù)15被第二客戶機(jī)20使用并被第二客戶機(jī)20操作,而無需將數(shù)據(jù)15物理 地拷貝到第二客戶機(jī)20。而是,第二應(yīng)用26可W通過使用從第一客戶機(jī)10到第二客戶機(jī)20 的、請求第二應(yīng)用26的一些服務(wù)(例如,ACC服務(wù)功能)的功能調(diào)用,來操作數(shù)據(jù)15。
[0018] 根據(jù)所提出的方法,系統(tǒng)管理程序30向虛擬設(shè)備14提供直接存儲器訪問。然后,第 一客戶機(jī)10可W向虛擬設(shè)備14宣告(announce)包含數(shù)據(jù)15的存儲器區(qū)域,并開始對該數(shù)據(jù) 調(diào)用設(shè)備特定功能。接著,系統(tǒng)管理程序30可W將先前宣告的存儲器區(qū)域映射在第二客戶 機(jī)20的已經(jīng)可用的存儲器區(qū)域之上,并將設(shè)備相關(guān)功能分派給第二客戶機(jī)20。W運(yùn)種方式, 由于虛擬設(shè)備14可W代理第一客戶機(jī)10和第二客戶機(jī)20之間的存儲器訪問,所W使得第一 客戶機(jī)10和第二客戶機(jī)20能夠經(jīng)由虛擬設(shè)備14共享存儲器。
[0019] 虛擬設(shè)備14可W配置有外圍組件互連(PCI)設(shè)備語義。因此,可W宣告存儲器區(qū)域 將被使用。用于傳遞數(shù)據(jù)的寄存器存在,W用于計(jì)算目的W及用于指向存儲器區(qū)域的指針。 中斷機(jī)制可W用于操作的完成和失敗。
[0020] 因此,可能的是,W具有將被第一應(yīng)用16使用的第二應(yīng)用26的功能的通用外部板 (external board)的方式使用第二應(yīng)用26的服務(wù),其中第二應(yīng)用26可W在第一應(yīng)用16的數(shù) 據(jù)15上操作并修改數(shù)據(jù)15。W運(yùn)種方式,將第二應(yīng)用26的代碼的功能提供給第一應(yīng)用16的 數(shù)據(jù)15。
[0021] 當(dāng)?shù)诙?yīng)用26的服務(wù)功能與存儲器區(qū)域一起工作時,服務(wù)功能的代碼可W包含當(dāng) 存儲器區(qū)域被訪問時的定義。編譯器/特殊數(shù)據(jù)結(jié)構(gòu)可W轉(zhuǎn)換存儲器區(qū)域訪問中的地址。代 碼還實(shí)現(xiàn)存儲器區(qū)域內(nèi)的指針運(yùn)算。第二客戶機(jī)20獲得由第一客戶機(jī)10傳遞的存儲器區(qū)域 的基本偏移。
[0022] 虛擬設(shè)備14的基地址寄存器可W適應(yīng)于將第一客戶機(jī)10的指針轉(zhuǎn)換成第二客戶 機(jī)20中的指針位置,W便使用正確的存儲器數(shù)據(jù)。運(yùn)可W通過例如數(shù)據(jù)類型的C++封裝、或 者基于存儲器區(qū)域的數(shù)據(jù)的編譯器指針運(yùn)算的改變來實(shí)現(xiàn)。
[0023] 可W通過第二操作系統(tǒng)22中的調(diào)度器24的請求隊(duì)列來控制對第二客戶機(jī)20的訪 問。如果許多客戶機(jī)在具有被宣告的許多服務(wù)的數(shù)據(jù)處理系統(tǒng)上操作,則運(yùn)可能會是有用 的。調(diào)度器24可W作為第二操作系統(tǒng)22的內(nèi)核的一部分操作。
[0024] 第一客戶機(jī)10的存儲器的映射可W被實(shí)現(xiàn)為只讀映射,使得第二客戶機(jī)20僅可W 讀取數(shù)據(jù)15,并且僅僅允許第一客戶機(jī)10在數(shù)據(jù)15上寫入。運(yùn)對于安全相關(guān)系統(tǒng)而言可能 會變得重要。第二客戶機(jī)20的存儲區(qū)的寫保護(hù)可W由第一客戶機(jī)10請求、并由系統(tǒng)管理程 序30實(shí)施。
[0025] 系統(tǒng)管理程序30可W提供關(guān)于第二客戶機(jī)20的功能的統(tǒng)計(jì)使用的信息。運(yùn)通過由 系統(tǒng)管理程序30的管理功能從數(shù)據(jù)和服務(wù)的使用中所設(shè)及的所有服務(wù)和客戶機(jī)收集使用 信息來實(shí)現(xiàn)。該信息可W用于記賬目的、監(jiān)測、用于調(diào)試的跟蹤、登錄、等等。
[0026] 圖2描繪了根據(jù)本發(fā)明的實(shí)施例的用于在第一客戶機(jī)10和第二客戶機(jī)20之間共享 存儲器的方法的示例性過程的流程圖。數(shù)據(jù)15可W在第一客戶機(jī)10上運(yùn)行的第一應(yīng)用16與 第二客戶機(jī)20上運(yùn)行的第二應(yīng)用26之間共享,包括圖2中解釋的步驟。
[0027] 首先,在步驟S200中,向第二操作系統(tǒng)22注冊在第二客戶機(jī)20上運(yùn)行的第二應(yīng)用 26, W便提供可由其他實(shí)體調(diào)用的服務(wù)功能。第二客戶機(jī)20的第二應(yīng)用26(例如,AAC)通過 系統(tǒng)調(diào)用,宣告服務(wù)功能W及識別令牌。第二操作系統(tǒng)22的內(nèi)核于是知道:服務(wù)功能由第二 應(yīng)用26進(jìn)行服務(wù)。第二應(yīng)用26通過一阻塞系統(tǒng)調(diào)用(blocking system call)40來宣告其準(zhǔn) 備好服務(wù)于系統(tǒng)功能:第二應(yīng)用26的代碼將不被進(jìn)一步執(zhí)行,而是掛起,直至內(nèi)核再次調(diào)度 第二應(yīng)用26(由外部事件觸發(fā)),從而從系統(tǒng)調(diào)用40返回。用于該服務(wù)功能的任何調(diào)度特征 (例如,要運(yùn)行哪些處理器或者要使用什么樣的優(yōu)先級)是從第二應(yīng)用26的屬性得出的。如 果一服務(wù)功能的若干實(shí)例將被并行服務(wù),則若干線程可W發(fā)出阻塞系統(tǒng)調(diào)用40。如果所述 服務(wù)功能的不同服務(wù)將被提供,則若干進(jìn)程可W在每AAC的基礎(chǔ)上運(yùn)行該邏輯。
[00%]接著,在步驟S202中,第二操作系統(tǒng)22向系統(tǒng)管理程序30宣告服務(wù)功能的可用性。 一旦該服務(wù)的另一個消費(fèi)者請求該服務(wù)功能的執(zhí)行,系統(tǒng)管理程序30就代表該消費(fèi)者將特 殊的半虛擬化中斷(paravirtualized interrupt)注入第二客戶機(jī)20中。在一個實(shí)施例中, 第二操作系統(tǒng)22向系統(tǒng)管理程序30注冊中斷處理程序(interrupt handler), W用于服務(wù) 功能諸如AA村青求。第二操作系統(tǒng)22的內(nèi)核使用系統(tǒng)管理程序調(diào)用(例如,半虛擬化指令)W 宣告可用性。一旦第二應(yīng)用26廢除服務(wù)功能的宣告或者當(dāng)?shù)诙?yīng)用26終止時,內(nèi)核撤銷來 自系統(tǒng)管理程序30的服務(wù)功能宣告。
[0029] 在步驟S204中,系統(tǒng)管理程序30向第一客戶機(jī)10宣告服務(wù)功能。系統(tǒng)管理程序30 接受來自第二操作系統(tǒng)22的服務(wù)功能注冊,并向一些或所有其他客戶機(jī)提供AAC。其他客戶 機(jī)可W探查有效服務(wù)功能或者傳送對有效服務(wù)功能的查詢,并消費(fèi)它們。策略、隔離/多租 戶、積壓(backlog)、優(yōu)先級和訪問限制可W應(yīng)用。標(biāo)準(zhǔn)服務(wù)定位協(xié)議可W用于實(shí)現(xiàn)注冊和 發(fā)現(xiàn)機(jī)制。
[0030] 接著,在步驟S206中,在第一客戶機(jī)10上運(yùn)行的第一應(yīng)用16通過發(fā)現(xiàn)系統(tǒng)管理程 序30的宣告來確定服務(wù)功能是可用的??蒞使用如由步驟S204提供的服務(wù)定位機(jī)制。如果 第一客戶機(jī)10意圖使用服務(wù)功能,那么第一客戶機(jī)10可W要求系統(tǒng)管理程序30使得服務(wù)功 能可用。如果第一客戶機(jī)10的第一操作系統(tǒng)12首先發(fā)現(xiàn)了服務(wù)功能,那么第一操作系統(tǒng)12 可W使其應(yīng)用能夠被發(fā)現(xiàn)。系統(tǒng)管理程序30例如經(jīng)由至第一客戶機(jī)10的熱插拔虛擬設(shè)備 14,使得作為虛擬(PCI)設(shè)備14的服務(wù)功能可用。第一操作系統(tǒng)12可W可選地限制對服務(wù)功 能的用戶空間訪問。
[0031] 在步驟S208中,第一應(yīng)用16從系統(tǒng)管理程序30請求服務(wù)功能。來自第一應(yīng)用16的 參數(shù)可W作為"傳值調(diào)用(call-by-value)"參數(shù)被傳遞給第二客戶機(jī)20。第一應(yīng)用16宣告 將在完成服務(wù)功能時調(diào)用的回調(diào)函數(shù)(call back化nction)。第一應(yīng)用16可W宣告其存儲 區(qū)的區(qū)域,W用于由服務(wù)功能直接訪問。第一應(yīng)用16異步地調(diào)用服務(wù)功能的服務(wù)(即,系統(tǒng) 調(diào)用40為非阻塞的),第一應(yīng)用16繼續(xù)運(yùn)行,并且當(dāng)服務(wù)功能完成時,第一應(yīng)用16被通知 (即,在先前注冊的回調(diào)函數(shù)上被回調(diào))。第一操作系統(tǒng)12將服務(wù)功能請求傳遞給系統(tǒng)管理 程序30。
[0032] 然后,在步驟S210中,系統(tǒng)管理程序30向第二客戶機(jī)20告知第一應(yīng)用16對服務(wù)功 能的請求。系統(tǒng)管理程序30提供虛擬設(shè)備14。虛擬設(shè)備14例如在配置空間中承載所請求的 服務(wù)功能的標(biāo)識符和傳值調(diào)用參數(shù)。虛擬設(shè)備14還提供基地址寄存器,第二客戶機(jī)20可W 使用該基地址寄存器來直接訪問第一應(yīng)用16的存儲器。系統(tǒng)管理程序30將所宣告的第一客 戶機(jī)10的存儲器映射在第二客戶機(jī)20的存儲器之上?;刂芳拇嫫骺蒞包含存儲器區(qū)域在 第一應(yīng)用16的地址空間中的偏移。
[0033] 接著在步驟S212中,第二客戶機(jī)20的第二操作系統(tǒng)22通過接收特殊的半虛擬化中 斷,來確定系統(tǒng)管理程序30代表第一應(yīng)用16對服務(wù)功能的請求已經(jīng)發(fā)生。第二操作系統(tǒng)22 可W隨后捜索可用的服務(wù)功能進(jìn)程,即準(zhǔn)備在該服務(wù)功能上工作的阻塞進(jìn)程。如果一個也 沒有發(fā)現(xiàn),但服務(wù)功能的服務(wù)存在,那么可W將該服務(wù)功能排入隊(duì)列W在之后處理。第二操 作系統(tǒng)22隨后將與服務(wù)功能請求相關(guān)聯(lián)的存儲器區(qū)域映射到將在服務(wù)功能上工作的進(jìn)程 的地址空間中。第二操作系統(tǒng)22還向第二客戶機(jī)20的服務(wù)功能進(jìn)程宣告第一客戶機(jī)10的存 儲器的基地址和大小。第二操作系統(tǒng)22將服務(wù)功能參數(shù)提供給AAC進(jìn)程,并調(diào)度服務(wù)功能進(jìn) 程,從而從其阻塞系統(tǒng)調(diào)用40返回。
[0034] 在步驟S214中,第二應(yīng)用26對來自第一應(yīng)用16的請求進(jìn)行服務(wù)。計(jì)算發(fā)生,直至服 務(wù)功能請求的完成。第一應(yīng)用16的輸出的存儲器區(qū)域由系統(tǒng)管理程序30映射到第二應(yīng)用26 的進(jìn)程地址空間中。基地址寄存器指定存儲器區(qū)域在第一應(yīng)用16的地址空間中的偏移。運(yùn) 可W用于跟蹤指針。指針解引用可W通過編譯器支持而被隱式地完成,或者通過使用特定 代碼(例如經(jīng)由庫)而被明確地完成。在完成時,服務(wù)功能代碼返回虛擬設(shè)備14的設(shè)備寄存 器中的潛在返回?cái)?shù)據(jù)("通過值")。另外,對第一客戶機(jī)10的存儲器的直接更新可能已經(jīng)發(fā) 生。服務(wù)功能進(jìn)程可W向第二操作系統(tǒng)22告知服務(wù)功能處理能力的更新后的可用性,或者 針對該識別而終止服務(wù)功能的服務(wù)。
[0035] 接著在步驟S216中,第二客戶機(jī)20的第二操作系統(tǒng)22向系統(tǒng)管理程序30通知請求 的完成。第二操作系統(tǒng)22可W撤回對存儲器的訪問,例如移除存儲器映射,并且可W調(diào)用系 統(tǒng)管理程序30W指示服務(wù)功能的完成。如果另一個服務(wù)功能請求處于待決,則可W處理下 一個服務(wù)功能請求。
[0036] 在步驟S218中,系統(tǒng)管理程序30向第一客戶機(jī)10的第一操作系統(tǒng)12指示請求的完 成。如果系統(tǒng)管理程序30認(rèn)識到服務(wù)功能請求完成,那么系統(tǒng)管理程序30通知第一操作系 統(tǒng)12并向第一客戶機(jī)10指示完成(例如,經(jīng)由虛擬設(shè)備14上的中斷)。
[0037] 在步驟S220中,第一客戶機(jī)10的第一操作系統(tǒng)12向第一應(yīng)用16告知請求的完成。 第一操作系統(tǒng)12調(diào)用第一客戶機(jī)10的用戶空間代碼中的回調(diào)函數(shù),W便通過通知第一應(yīng)用 16來提供服務(wù)功能完成的指示。在圖2中描述的過程期間,已經(jīng)直接更新了第一客戶機(jī)10的 存儲器。附加的傳值調(diào)用返回值可通過虛擬設(shè)備寄存器來訪問。
[0038] 現(xiàn)在參考圖3,其示出數(shù)據(jù)處理系統(tǒng)310的示例的示意圖。數(shù)據(jù)處理系統(tǒng)310僅是適 合的數(shù)據(jù)處理系統(tǒng)的一個示例,并且并非旨在暗示關(guān)于本文描述的本發(fā)明的實(shí)施例的使用 范圍或功能范圍的任何限制。無論如何,數(shù)據(jù)處理系統(tǒng)310能夠?qū)崿F(xiàn)和/或執(zhí)行上面在本文 中闡述的功能中的任一個。
[0039] 在數(shù)據(jù)處理系統(tǒng)310中,存在計(jì)算機(jī)系統(tǒng)/服務(wù)器312,其與許多其他通用或?qū)S糜?jì) 算系統(tǒng)環(huán)境或配置一起操作??赡苓m合于與計(jì)算機(jī)系統(tǒng)/服務(wù)器312-起使用的熟知的計(jì)算 系統(tǒng)、環(huán)境和/或配置的示例包括但不限于:個人計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、瘦客戶 端、厚客戶端、手持或便攜式設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消 費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)系統(tǒng)、大型計(jì)算機(jī)系統(tǒng)、W及包括W上系統(tǒng)或設(shè)備中的任 一種的分布式云計(jì)算環(huán)境、等等。
[0040] 計(jì)算機(jī)系統(tǒng)/服務(wù)器312可W在由計(jì)算機(jī)系統(tǒng)執(zhí)行的諸如程序模塊之類的計(jì)算機(jī) 系統(tǒng)可執(zhí)行指令的一般背景中描述。通常,程序模塊可W包括例程、程序、對象、組件、邏輯、 數(shù)據(jù)結(jié)構(gòu)等,其執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型。計(jì)算機(jī)系統(tǒng)/服務(wù)器312可W在分 布式云計(jì)算環(huán)境中實(shí)踐,在所述分布式云計(jì)算環(huán)境中,任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處 理設(shè)備執(zhí)行。在分布式云計(jì)算環(huán)境中,程序模塊可W位于包括存儲器存儲設(shè)備的本地和遠(yuǎn) 程計(jì)算機(jī)系統(tǒng)存儲介質(zhì)中。
[0041] 如圖3中所示,數(shù)據(jù)處理系統(tǒng)310中的計(jì)算機(jī)系統(tǒng)/服務(wù)器312W通用計(jì)算設(shè)備的形 式示出。計(jì)算機(jī)系統(tǒng)/服務(wù)器312的組件可W包括但不限于一個或多個處理器或處理單元 316,系統(tǒng)存儲器328, W及將包括系統(tǒng)存儲器328在內(nèi)的各種系統(tǒng)組件禪合到處理單元316 的總線318。
[0042] 總線318表示若干類型的總線結(jié)構(gòu)中的任一種中的一個或多個,包括存儲器總線 或存儲器控制器、外圍總線、加速圖形端口、W及使用多種總線架構(gòu)中的任一種的處理器或 本地總線。通過示例的方式,并且并非進(jìn)行限制,運(yùn)樣的架構(gòu)包括工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、 微通道架構(gòu)(MCA)總線、增強(qiáng)型ISA化ISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)本地總線和外圍 組件互連(PCI)總線。
[0043] 計(jì)算機(jī)系統(tǒng)/服務(wù)器312通常包括各種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。運(yùn)樣的介質(zhì)可W是計(jì) 算機(jī)系統(tǒng)/服務(wù)器312可訪問的任何可用介質(zhì),并且其包括易失性和非易失性介質(zhì)、可移除 和不可移除介質(zhì)。
[0044] 系統(tǒng)存儲器328可W包括易失性存儲器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),諸如隨機(jī)存 取存儲器(RAM)330和/或高速緩沖存儲器332。計(jì)算機(jī)系統(tǒng)/服務(wù)器312還可W包括其他可移 除/不可移除、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲介質(zhì)。僅通過示例的方式,存儲系統(tǒng)334可 W被提供用于從不可移除、非易失性磁介質(zhì)(未示出且通常被稱為"硬驅(qū)")讀取和向其寫 入。盡管未示出,但是可W提供用于從可移除、非易失性磁盤(例如,"軟盤")讀取和向其寫 入的磁盤驅(qū)動,W及用于從諸如CD-R0M、DVD-R0M或其他光學(xué)介質(zhì)之類的可移除、非易失性 光盤讀取或向其寫入的光盤驅(qū)動。在運(yùn)樣的實(shí)例中,各自可W通過一個或多個數(shù)據(jù)介質(zhì)接 口連接到總線318。如將在下面進(jìn)一步描繪和描述的那樣,系統(tǒng)存儲器328可W包括具有一 組(例如,至少一個)程序模塊的至少一個程序產(chǎn)品,所述程序模塊配置成執(zhí)行本發(fā)明的實(shí) 施例的功能。
[0045] 通過示例的方式并且并非進(jìn)行限制,具有一組(至少一個)程序模塊342的程序/實(shí) 用工具340、W及操作系統(tǒng)、一個或多個應(yīng)用程序、其他程序模塊和程序數(shù)據(jù)可W被存儲在 系統(tǒng)存儲器328中。操作系統(tǒng)、一個或多個應(yīng)用程序、其他程序模塊和程序數(shù)據(jù)中的每一個 或其某種組合可W包括聯(lián)網(wǎng)環(huán)境的實(shí)現(xiàn)。程序模塊342通常執(zhí)行如本文描述的本發(fā)明的實(shí) 施例的功能和/或方法。
[0046] 計(jì)算機(jī)系統(tǒng)/服務(wù)器312還可W與W下設(shè)備通信:一個或多個外部設(shè)備314,諸如鍵 盤、指點(diǎn)設(shè)備、顯示器324等;使用戶能夠與計(jì)算機(jī)系統(tǒng)/服務(wù)器312交互的一個或多個設(shè)備; W及/或者使計(jì)算機(jī)系統(tǒng)/服務(wù)器312能夠與一個或多個其他計(jì)算設(shè)備通信的任何設(shè)備(例 如,網(wǎng)卡、調(diào)制解調(diào)器等)。運(yùn)樣的通信可W經(jīng)由輸入/輸出(I/O)接口 322發(fā)生。此外,計(jì)算機(jī) 系統(tǒng)/服務(wù)器312可W經(jīng)由網(wǎng)絡(luò)適配器320與一個或多個網(wǎng)絡(luò)諸如局域網(wǎng)(LAN)、一般廣域網(wǎng) (WAN)和/或公共網(wǎng)(例如,因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器320經(jīng)由總線318與計(jì)算機(jī)系 統(tǒng)/服務(wù)器312的其他組件通信。應(yīng)當(dāng)理解的是,盡管未示出,但其他硬件和/或軟件組件可 W與計(jì)算機(jī)系統(tǒng)/服務(wù)器312結(jié)合使用。示例包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理 單元、外部磁盤驅(qū)動陣列、RAID系統(tǒng)、磁帶驅(qū)動器和數(shù)據(jù)歸檔存儲系統(tǒng)等。
[0047] 本文中描述的程序是基于在本發(fā)明的特定實(shí)施例中為其實(shí)現(xiàn)運(yùn)些程序的應(yīng)用來 識別的。然而,應(yīng)當(dāng)理解的是,本文中對任何特定程序的命名僅僅是出于方便的目的而被使 用的,并且因此本發(fā)明不應(yīng)局限于唯一地用于由運(yùn)樣的命名識別和/或暗示的任何特定應(yīng) 用。
[0048] 本發(fā)明可W是系統(tǒng)、方法和/或計(jì)算機(jī)程序產(chǎn)品。計(jì)算機(jī)程序產(chǎn)品可W包括計(jì)算機(jī) 可讀存儲介質(zhì),其上載有用于使處理器實(shí)現(xiàn)本發(fā)明的各個方面的計(jì)算機(jī)可讀程序指令。
[0049] 計(jì)算機(jī)可讀存儲介質(zhì)可W是任何可W保持和存儲由指令執(zhí)行設(shè)備使用的指令的 有形設(shè)備。計(jì)算機(jī)可讀存儲介質(zhì)例如可W是一一但不限于一一電存儲設(shè)備、磁存儲設(shè)備、光 存儲設(shè)備、電磁存儲設(shè)備、半導(dǎo)體存儲設(shè)備或者上述的任意合適的組合。計(jì)算機(jī)可讀存儲介 質(zhì)的更具體的例子(非窮舉的列表)包括:便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲器(RAM)、只 讀存儲器(ROM)、可擦式可編程只讀存儲器巧PROM或閃存)、靜態(tài)隨機(jī)存取存儲器(SRAM)、便 攜式壓縮盤只讀存儲器(CD-ROM )、數(shù)字多功能盤(DVD )、記憶棒、軟盤、機(jī)械編碼設(shè)備、例如 其上存儲有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、W及上述的任意合適的組合。運(yùn)里所使用的 計(jì)算機(jī)可讀存儲介質(zhì)不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁 波、通過波導(dǎo)或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線 傳輸?shù)碾娦盘枴?br>[0050] 運(yùn)里所描述的計(jì)算機(jī)可讀程序指令可W從計(jì)算機(jī)可讀存儲介質(zhì)下載到各個計(jì)算/ 處理設(shè)備,或者通過網(wǎng)絡(luò)、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計(jì)算機(jī)或外 部存儲設(shè)備。網(wǎng)絡(luò)可W包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機(jī)、網(wǎng)關(guān) 計(jì)算機(jī)和/或邊緣服務(wù)器。每個計(jì)算/處理設(shè)備中的網(wǎng)絡(luò)適配卡或者網(wǎng)絡(luò)接口從網(wǎng)絡(luò)接收計(jì) 算機(jī)可讀程序指令,并轉(zhuǎn)發(fā)該計(jì)算機(jī)可讀程序指令,W供存儲在各個計(jì)算/處理設(shè)備中的計(jì) 算機(jī)可讀存儲介質(zhì)中。
[0051] 用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序指令可W是匯編指令、指令集架構(gòu)(ISA)指令、 機(jī)器指令、機(jī)器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者W-種或多種編程語言的 任意組合編寫的源代碼或目標(biāo)代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言一諸如 Smalltalk^++等,W及常規(guī)的過程式編程語言一諸如"C"語言或類似的編程語言。計(jì)算機(jī) 可讀程序指令可W完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個獨(dú) 立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī) 或服務(wù)器上執(zhí)行。在設(shè)及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可W通過任意種類的網(wǎng)絡(luò)一包 括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)-連接到用戶計(jì)算機(jī),或者,可W連接到外部計(jì)算機(jī)(例如利 用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。在一些實(shí)施例中,通過利用計(jì)算機(jī)可讀程序指令 的狀態(tài)信息來個性化定制電子電路,例如可編程邏輯電路、現(xiàn)場可編程口陣列(FPGA)或可 編程邏輯陣列(PLA),該電子電路可W執(zhí)行計(jì)算機(jī)可讀程序指令,從而實(shí)現(xiàn)本發(fā)明的各個方 面。
[0052] 運(yùn)里參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/ 或框圖描述了本發(fā)明的各個方面。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框W及流程圖和/ 或框圖中各方框的組合,都可W由計(jì)算機(jī)可讀程序指令實(shí)現(xiàn)。
[0053] 運(yùn)些計(jì)算機(jī)可讀程序指令可W提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù) 處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得運(yùn)些指令在通過計(jì)算機(jī)或其它可編程數(shù)據(jù) 處理裝置的處理器執(zhí)行時,產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功 能/動作的裝置。也可W把運(yùn)些計(jì)算機(jī)可讀程序指令存儲在計(jì)算機(jī)可讀存儲介質(zhì)中,運(yùn)些指 令使得計(jì)算機(jī)、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備W特定方式工作,從而,存儲有指令的 計(jì)算機(jī)可讀介質(zhì)則包括一個制造品,其包括實(shí)現(xiàn)流程圖和/或框圖中的一個或多個方框中 規(guī)定的功能/動作的各個方面的指令。
[0054] 也可W把計(jì)算機(jī)可讀程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它 設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,W產(chǎn) 生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的 指令實(shí)現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。
[0055] 附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程 序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在運(yùn)點(diǎn)上,流程圖或框圖中的每個方框可W代 表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用 于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也 可WW不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可W基本并行地執(zhí) 行,它們有時也可W按相反的順序執(zhí)行,運(yùn)依所設(shè)及的功能而定。也要注意的是,框圖和/或 流程圖中的每個方框、W及框圖和/或流程圖中的方框的組合,可W用執(zhí)行規(guī)定的功能或動 作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可W用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
[0056] 本發(fā)明的各個實(shí)施例的描述已經(jīng)出于舉例說明的目的而被呈現(xiàn),而并非旨在是無 遺漏的或局限于所公開的實(shí)施例。在不脫離本發(fā)明的范圍和精神的情況下,許多改型和變 型對于本領(lǐng)域普通技術(shù)人員來說將是明顯的。本文所使用的術(shù)語被選擇為最佳地解釋所述 實(shí)施例的原理、實(shí)際應(yīng)用、或者相對于在市場中發(fā)現(xiàn)的技術(shù)的技術(shù)改進(jìn),或者使本領(lǐng)域其他 普通技術(shù)人員能夠理解本文公開的實(shí)施例。
【主權(quán)項(xiàng)】
1. 一種用于在都運(yùn)行于數(shù)據(jù)處理系統(tǒng)上的第一客戶機(jī)和第二客戶機(jī)之間共享存儲器 的方法,所述方法包括: 由一個或多個計(jì)算機(jī)處理器將虛擬設(shè)備提供給第一客戶機(jī),用于代理所述第一客戶機(jī) 和第二客戶機(jī)之間的存儲器訪問,其中所述第一客戶機(jī)通過系統(tǒng)管理程序與所述第二客戶 機(jī)相關(guān)聯(lián),以及其中所述第一客戶機(jī)運(yùn)行第一操作系統(tǒng),且所述第二客戶機(jī)運(yùn)行第二操作 系統(tǒng);以及 由所述一個或多個計(jì)算機(jī)處理器將一個或多個設(shè)備相關(guān)功能發(fā)送給所述第二客戶機(jī), 其中所述虛擬設(shè)備使得能夠在所述第一客戶機(jī)和所述第二客戶機(jī)之間共享存儲器。2. 根據(jù)權(quán)利要求1所述的方法,其中在所述第一客戶機(jī)和所述第二客戶機(jī)之間共享存 儲器還包括: 由所述一個或多個計(jì)算機(jī)處理器向所述第二操作系統(tǒng)注冊在所述第二客戶機(jī)上運(yùn)行 的第二應(yīng)用,以便提供一個或多個服務(wù)功能; 由所述一個或多個計(jì)算機(jī)處理器從所述第二操作系統(tǒng)接收所述服務(wù)功能對所述系統(tǒng) 管理程序的可用性的宣告; 由所述一個或多個計(jì)算機(jī)處理器從所述系統(tǒng)管理程序接收向所述第一客戶機(jī)宣告所 述服務(wù)功能的宣告; 由所述一個或多個計(jì)算機(jī)處理器確定在所述第一客戶機(jī)上運(yùn)行的第一應(yīng)用發(fā)現(xiàn)了由 所述系統(tǒng)管理程序宣告的所述服務(wù)功能; 由所述一個或多個計(jì)算機(jī)處理器確定所述第一應(yīng)用從所述系統(tǒng)管理程序請求了所述 服務(wù)功能; 由所述一個或多個計(jì)算機(jī)處理器確定所述系統(tǒng)管理程序向所述第二客戶機(jī)告知了所 述第一應(yīng)用對所述服務(wù)功能的請求; 由所述一個或多個計(jì)算機(jī)處理器確定所述第二客戶機(jī)的所述第二操作系統(tǒng)接收到了 所述第一應(yīng)用對所述服務(wù)功能的請求; 由所述一個或多個計(jì)算機(jī)處理器經(jīng)由所述第二應(yīng)用對來自所述第一應(yīng)用的請求進(jìn)行 服務(wù),使得所述請求得到完成; 由所述一個或多個計(jì)算機(jī)處理器從所述第二客戶機(jī)的所述第二操作系統(tǒng)接收向所述 系統(tǒng)管理程序通知所述請求的完成的通知; 由所述一個或多個計(jì)算機(jī)處理器從所述系統(tǒng)管理程序接收向所述第一客戶機(jī)的所述 第一操作系統(tǒng)指示所述請求的完成的指示;以及 由所述一個或多個計(jì)算機(jī)處理器從所述第一客戶機(jī)的所述第一操作系統(tǒng)接收向所述 第一應(yīng)用通知所述請求的完成的通知。3. 根據(jù)權(quán)利要求2所述的方法,還包括:由所述一個或多個計(jì)算機(jī)處理器向所述第二操 作系統(tǒng)注冊在所述第二客戶機(jī)上運(yùn)行的所述第二應(yīng)用,以便通過阻塞系統(tǒng)調(diào)用提供服務(wù)功 能。4. 根據(jù)權(quán)利要求2所述的方法,其中從所述第二操作系統(tǒng)接收所述服務(wù)功能對所述系 統(tǒng)管理程序的可用性的宣告還包括: 由所述一個或多個計(jì)算機(jī)處理器調(diào)用半虛擬化功能;以及 由所述一個或多個計(jì)算機(jī)處理器注冊中斷處理程序。5. 根據(jù)權(quán)利要求2所述的方法,其中接收由所述系統(tǒng)管理程序向所述第一客戶機(jī)宣告 所述服務(wù)功能的宣告還包括:由所述一個或多個計(jì)算機(jī)處理器接收來自一個或多個附加客 戶機(jī)的對有效的服務(wù)功能的一個或多個查詢。6. 根據(jù)權(quán)利要求2所述的方法,其中所述服務(wù)功能可作為虛擬設(shè)備被獲得。7. 根據(jù)權(quán)利要求2所述的方法,其中確定所述第一應(yīng)用從所述系統(tǒng)管理程序請求了所 述服務(wù)功能還包括:由所述一個或多個計(jì)算機(jī)處理器利用非阻塞系統(tǒng)調(diào)用。8. 根據(jù)權(quán)利要求2所述的方法,其中確定所述系統(tǒng)管理程序向所述第二客戶機(jī)告知了 所述第一應(yīng)用對所述服務(wù)功能的請求還包括:由所述一個或多個計(jì)算機(jī)處理器接收所述第 二客戶機(jī)處的中斷。9. 根據(jù)權(quán)利要求2所述的方法,其中經(jīng)由所述第二應(yīng)用對來自所述第一應(yīng)用的請求進(jìn) 行服務(wù)還包括:由所述一個或多個計(jì)算機(jī)處理器將所述第一客戶機(jī)的輸出的存儲器區(qū)域映 射到所述第二應(yīng)用的進(jìn)程地址空間中。10. 根據(jù)權(quán)利要求9所述的方法,還包括:由所述一個或多個計(jì)算機(jī)處理器將所述第一 客戶機(jī)的存儲器映射為只讀映射。11. 根據(jù)權(quán)利要求9所述的方法,還包括:所述系統(tǒng)管理程序通過移除所述存儲器映射, 撤回對所述第一客戶機(jī)的存儲器的訪問。12. 根據(jù)權(quán)利要求9所述的方法,還包括:響應(yīng)于從所述第一客戶機(jī)的所述第一操作系 統(tǒng)接收到向所述第一應(yīng)用通知所述請求的完成的通知,由所述一個或多個計(jì)算機(jī)處理器更 新所述存儲器。13. 根據(jù)權(quán)利要求2所述的方法,其中從所述第一客戶機(jī)的所述第一操作系統(tǒng)接收向所 述第一應(yīng)用通知所述請求的完成的通知還包括:由所述一個或多個計(jì)算機(jī)處理器提供回調(diào) 函數(shù)。14. 根據(jù)權(quán)利要求1所述的方法,其中所述虛擬設(shè)備配置有外圍組件互連設(shè)備語義。15. 根據(jù)權(quán)利要求1所述的方法,還包括:由所述一個或多個計(jì)算機(jī)處理器使所述虛擬 設(shè)備的基地址寄存器適應(yīng)于將所述第一客戶機(jī)的指針轉(zhuǎn)換為所述第二客戶機(jī)中的指針位 置。16. 根據(jù)權(quán)利要求1所述的方法,還包括:由所述一個或多個計(jì)算機(jī)處理器通過所述第 二操作系統(tǒng)中的調(diào)度器的請求隊(duì)列,控制對所述第二客戶機(jī)的訪問。17. 根據(jù)權(quán)利要求1所述的方法,還包括:由所述一個或多個計(jì)算機(jī)處理器經(jīng)由所述系 統(tǒng)管理程序,提供有關(guān)所述第二客戶機(jī)的功能的統(tǒng)計(jì)使用的信息。18. -種用于在都運(yùn)行于數(shù)據(jù)處理系統(tǒng)上的第一客戶機(jī)和第二客戶機(jī)之間共享存儲器 的計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括: 一個或多個計(jì)算機(jī)處理器; 一個或多個計(jì)算機(jī)可讀存儲設(shè)備; 存儲在所述一個或多個計(jì)算機(jī)可讀存儲設(shè)備上的程序指令,用于由所述一個或多個計(jì) 算機(jī)處理器中的至少一個執(zhí)行,以用于執(zhí)行權(quán)利要求1至17中任一項(xiàng)的步驟。
【文檔編號】G06F13/16GK106021142SQ201610168124
【公開日】2016年10月12日
【申請日】2016年3月23日
【發(fā)明人】U·巴赫爾, D·丁格爾, T·P·格羅塞爾
【申請人】國際商業(yè)機(jī)器公司