欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于持續(xù)性用戶級線程的設(shè)備、系統(tǒng)和方法

文檔序號:6381842閱讀:195來源:國知局
專利名稱:用于持續(xù)性用戶級線程的設(shè)備、系統(tǒng)和方法
用于持續(xù)性用戶級線程的設(shè)備、系統(tǒng)和方法
本申請是申請日為2006年9月29日、申請?zhí)枮?00610144490. 8、發(fā)明名稱為“用于持續(xù)性用戶級線程的設(shè)備、系統(tǒng)和方法”的專利申請的分案申請。技術(shù)領(lǐng)域
各實(shí)施例針對使得服務(wù)線程向在多程序裝置硬件的上下文中執(zhí)行的被掛起的持續(xù)性用戶級線程提供操作系統(tǒng)服務(wù)。
背景技術(shù)
在多程序裝置(multi-sequencer)的計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)平臺中,技術(shù)和經(jīng)濟(jì)約束證明一種非對稱結(jié)構(gòu)的專用計(jì)算機(jī)資源或處理器或處理單元是合理的。在本申請中,處理器或處理單元在下文也被稱為程序裝置或處理核。通常,操作系統(tǒng)不能很好地衡量已經(jīng)實(shí)現(xiàn)有很多程序裝置的計(jì)算機(jī)平臺。特別是,該操作系統(tǒng)不能高效地處理非對稱結(jié)構(gòu)的多個程序裝置。
對于計(jì)算機(jī)平臺實(shí)現(xiàn)的程序裝置的類型來說,該計(jì)算機(jī)平臺的結(jié)構(gòu)可以是非對對稱的。例如,有一種程序裝置對操作系統(tǒng)(OS)來說是可見的,在這里被稱為OS可見的程序裝置,其由OS內(nèi)核管理。OS內(nèi)核能夠控制OS可見的程序裝置的特權(quán)狀態(tài)并提供異常處理以在OS可見的程序裝置執(zhí)行線程期間處理中斷和/或異常。另一方面,還有一種程序裝置對OS來說是“不可見的”,在這里被稱為OS隔離(OS-sequestered)的程序裝置。OS隔離的程序裝置不能執(zhí)行操作系統(tǒng)代碼并由程序裝置管理器管理。
近來,提出了多程序裝置多指令流多數(shù)據(jù)流(MIMD) ISA (指令集架構(gòu))擴(kuò)展,它定義一組指令,能夠允許OS隔離的程序裝置被當(dāng)作為ring-3用戶級結(jié)構(gòu)資源,以用于在單個 OS線程的上下文中并發(fā)執(zhí)行多個用戶級線程。因此,OS隔離的程序裝置對用戶級程序來說變得可用。通過使用用戶級多程序裝置MMD ISA擴(kuò)展,在OS可見的程序裝置上運(yùn)行的程序線程能夠使用與隔離該OS的附加程序裝置。通過把工作提交給該OS可見或不可見的程序裝置,該多程序裝置MMD ISA擴(kuò)展能夠獨(dú)立于該OS來衡量很多程序裝置。同時,操作系統(tǒng)可以繼續(xù)在OS可見的程序裝置的一個子集上運(yùn)行。用戶級MMD ISA擴(kuò)展允許執(zhí)行用戶級線程以在OS隔離的程序裝置上運(yùn)行用戶級線程,以及該用戶級線程與創(chuàng)建該用戶級線程并且在OS可見的程序裝置上運(yùn)行的OS線程并發(fā)地運(yùn)行。發(fā)明內(nèi)容
根據(jù)本發(fā)明的實(shí)施例,提供了一種用于運(yùn)行持續(xù)性用戶級線程的方法,包括
創(chuàng)建持續(xù)性用戶級線程,以獨(dú)立于在操作系統(tǒng)調(diào)度的線程上的上下文切換活動而在操作系統(tǒng)隔離的程序裝置上運(yùn)行,所述操作系統(tǒng)調(diào)度的線程在操作系統(tǒng)可見的程序裝置上運(yùn)行;
當(dāng)所述持續(xù)性用戶級線程遇到將要由操作系統(tǒng)處理的事件時,掛起所述持續(xù)性用戶級線程的運(yùn)行;以及
使在附加的操作系統(tǒng)可見的程序裝置上運(yùn)行的服務(wù)線程向被掛起的持續(xù)性用戶級線程提供操作系統(tǒng)服務(wù)。
根據(jù)本發(fā)明的實(shí)施例,提供了一種用于運(yùn)行持續(xù)性用戶級線程的裝置,包括
創(chuàng)建持續(xù)性用戶級線程,以獨(dú)立于在操作系統(tǒng)調(diào)度的線程上的上下文切換活動而在操作系統(tǒng)隔離的程序裝置上運(yùn)行的部件,所述操作系統(tǒng)調(diào)度的線程在操作系統(tǒng)可見的程序裝置上運(yùn)行;
當(dāng)所述持續(xù)性用戶級線程遇到需要操作系統(tǒng)處理的事件時,掛起所述持續(xù)性用戶級線程的運(yùn)行的部件;
使在附加的操作系統(tǒng)可見的程序裝置上運(yùn)行的服務(wù)線程向被掛起的持續(xù)性用戶級線程提供操作系統(tǒng)服務(wù)的部件。
按照本發(fā)明的一種用于運(yùn)行持續(xù)性用戶級線程的方法,包括
基于在操作系統(tǒng)可見的程序裝置上運(yùn)行并使用指令集擴(kuò)展的操作系統(tǒng)調(diào)度的線程,來創(chuàng)建持續(xù)性用戶級線程,以獨(dú)立于在該操作系統(tǒng)調(diào)度的線程上的上下文切換活動而在操作系統(tǒng)隔離的程序裝置上運(yùn)行;
當(dāng)所述持續(xù)性用戶級線程遇到需要操作系統(tǒng)處理的事件時,掛起該持續(xù)性用戶級線程的運(yùn)行;
使在附加的操作系統(tǒng)可見的程序裝置上運(yùn)行的服務(wù)線程向被掛起的持續(xù)性用戶級線程提供操作系統(tǒng)服務(wù)。
按照本發(fā)明的第一方面的一種用于運(yùn)行持續(xù)性用戶級線程的設(shè)備,包括
程序裝置管理器,用來基于在操作系統(tǒng)可見的程序裝置上運(yùn)行并使用指令集擴(kuò)展的操作系統(tǒng)調(diào)度的線程,來創(chuàng)建持續(xù)性用戶級線程,以獨(dú)立于在該操作系統(tǒng)調(diào)度的線程上的上下文切換活動而在操作系統(tǒng)隔離的程序裝置上運(yùn)行;
其中所述程序裝置管理器用來當(dāng)所述持續(xù)性用戶級線程遇到需要操作系統(tǒng)處理的事件時,掛起該持續(xù)性用戶級線程的運(yùn)行;
其中所述程序裝置管理器適于使在附加的操作系統(tǒng)可見的程序裝置上運(yùn)行的服務(wù)線程向被掛起的持續(xù)性用戶級線程提供操作系統(tǒng)服務(wù)。
按照本發(fā)明的第二方面的一種用于運(yùn)行持續(xù)性用戶級線程的設(shè)備,包括
用于基于在操作系統(tǒng)可見的程序裝置上運(yùn)行并使用指令集擴(kuò)展的操作系統(tǒng)調(diào)度的線程,來創(chuàng)建持續(xù)性用戶級線程,以獨(dú)立于在該操作系統(tǒng)調(diào)度的線程上的上下文切換活動而在操作系統(tǒng)隔離的程序裝置上運(yùn)行的裝置;
用于當(dāng)所述持續(xù)性用戶級線程遇到需要操作系統(tǒng)處理的事件時,掛起該持續(xù)性用戶級線程的運(yùn)行的裝置;
用于使在附加的操作系統(tǒng)可見的程序裝置上運(yùn)行的服務(wù)線程向被掛起的持續(xù)性用戶級線程提供操作系統(tǒng)服務(wù)的裝置。


通過在下面結(jié)合附圖對本發(fā)明的實(shí)施例進(jìn)行詳細(xì)的說明,可以更全面地了解和理解本發(fā)明,其中
圖I是一個根據(jù)本發(fā)明的一個示意性實(shí)施例的多程序裝置系統(tǒng)的框圖說明;
圖2是一個根據(jù)本發(fā)明的一個示意性實(shí)施例的硬件的簡化邏輯圖,它構(gòu)成多程序裝置系統(tǒng)的一部分;
圖3是一個根據(jù)本發(fā)明的一個示意性實(shí)施例的多程序裝置的簡化說明,其能夠提供持續(xù)性用戶級線程服務(wù);
圖4是一個根據(jù)本發(fā)明的一個示意性實(shí)施例的多程序裝置的概念說明,其能夠提供持續(xù)性用戶級線程服務(wù);
圖5是一個根據(jù)本發(fā)明的一個示意性實(shí)施例的多程序裝置系統(tǒng)的指令集架構(gòu)的示意性圖6是一個根據(jù)本發(fā)明的一個示意性實(shí)施例的控制傳輸指令的簡單指令格式的簡化說明;
圖7是一個根據(jù)本發(fā)明的一個示意性實(shí)施例的監(jiān)控指令的簡單指令格式的簡化說明;
圖8和圖9是一個根據(jù)本發(fā)明的一個示意性實(shí)施例執(zhí)行持續(xù)性用戶級線程的簡化流程圖說明。
應(yīng)當(dāng)理解,為了簡化和清楚地說明,沒有必要對圖中示出的單元畫出比例來。例如,為了清楚起見某些單元的尺寸可以相對于其他單元進(jìn)行放大。
具體實(shí)施方式
在下面的詳細(xì)說明中,為了提供對本發(fā)明的實(shí)施例的一個全面的了解,陳述了很多特定細(xì)節(jié)。然而,本領(lǐng)域普通的技術(shù)人員應(yīng)當(dāng)理解,無需這些特定細(xì)節(jié)也能實(shí)現(xiàn)本發(fā)明的實(shí)施例。在其他情況下,為了不混淆本發(fā)明的實(shí)施例,沒有詳細(xì)描述已知的方法和過程。
在下面,按照在計(jì)算機(jī)存儲器中的數(shù)據(jù)或二進(jìn)制數(shù)字符號上進(jìn)行操作的算法和符號表示的形式來提出該詳細(xì)說明的某些部分。這些算法說明或表示可以是本領(lǐng)域技術(shù)人員用來在數(shù)據(jù)處理領(lǐng)域向其他本領(lǐng)域技術(shù)人員傳達(dá)要點(diǎn)的技術(shù)。
一種算法在這里通常被認(rèn)為是將引起所要結(jié)果的自相一致的動作或操作序列。這些包括對物理量的物理操作。通常,但又不是必須地,這些物理量采用能夠被存儲、傳輸、合并、比較和其他操作的電或磁信號的形式。有時為了方便,主要為了公用的原因,這些符號已經(jīng)稱為比特、值、元素、符號、字符、術(shù)語、數(shù)字或者類似表示。然而,應(yīng)當(dāng)知道所有這些和類似術(shù)語是與適當(dāng)?shù)奈锢砹坑嘘P(guān)的并且僅僅是應(yīng)用于這些物理量的方便標(biāo)記。
除非特別說明,否則如下面說明中清楚地示出的那樣,應(yīng)當(dāng)知道整個說明書的論述利用了諸如“處理”、“運(yùn)算”、“計(jì)算”、“確定”和類似的術(shù)語,它指的是計(jì)算機(jī)或計(jì)算系統(tǒng), 或類似的電子計(jì)算設(shè)備的動作和/或處理,它管理和/或把在計(jì)算機(jī)系統(tǒng)的寄存器和/或存儲器中表示物理量,諸如電形式的數(shù)據(jù)轉(zhuǎn)換為在計(jì)算機(jī)系統(tǒng)的存儲器、寄存器或其他這樣的信息存儲、傳輸或顯示裝置中的同樣表示物理量的其他數(shù)據(jù)。
例如使用那些存儲有一條指令或一組指令的機(jī)器可讀介質(zhì)或物品可以實(shí)現(xiàn)本發(fā)明的某些實(shí)施例,如果機(jī)器執(zhí)行這些指令,可使機(jī)器執(zhí)行根據(jù)本發(fā)明的實(shí)施例的方法和操作。這些機(jī)器例如可以包括任何適當(dāng)?shù)奶幚砥脚_、計(jì)算機(jī)平臺、計(jì)算機(jī)設(shè)備、處理設(shè)備、計(jì)算機(jī)系統(tǒng)、處理系統(tǒng)、計(jì)算機(jī)、處理器、或類似裝置,并且可以使用硬件和/或軟件的任何適當(dāng)組合來實(shí)現(xiàn)。機(jī)器可讀介質(zhì)或物品例如可以包括任何適當(dāng)類型的存儲器單元、存儲器設(shè)備、存儲器物品、存儲器介質(zhì)、存儲設(shè)備、存儲物品、存儲介質(zhì)和/或存儲單元,例如存儲器、可移除或不可移除介質(zhì)、可擦除或不可擦除介質(zhì)、可寫或可重寫介質(zhì)、數(shù)字或模擬介質(zhì)、硬盤、 軟盤、光盤只讀存儲器(CD-ROM)、可記錄光盤驅(qū)動器(CD-R)、可重寫光盤驅(qū)動器(CD-RW)、 光盤、磁介質(zhì)、各種類型的數(shù)字化通用盤(DVD)、磁帶、盒式磁帶、或類似介質(zhì)。指令可以包括任何適當(dāng)類型的代碼,例如源代碼、目標(biāo)代碼、編譯代碼、解釋代碼、可執(zhí)行代碼、靜態(tài)代碼、動態(tài)代碼、或類似代碼,并且可以使用任何適當(dāng)?shù)母呒?、低級、面向?qū)ο?、可視化、編譯和 /或解釋變成語言來實(shí)現(xiàn),諸如C、C++、Java、BASIC、Pascal、Fortran、Cobol、匯編語言、機(jī)器代碼或類似語言。
本發(fā)明的實(shí)施例可以包括用來執(zhí)行這里的操作的裝置??梢詾樗蟮哪康臉?gòu)建這些裝置,或者它們可以包括一個通用計(jì)算機(jī),它由存儲在該計(jì)算機(jī)中的計(jì)算機(jī)程序選擇性地激活或重新配置。這些計(jì)算機(jī)程序可以存儲在計(jì)算機(jī)可讀介質(zhì)中,諸如但又不局限于任何類型的盤,包括軟盤、光盤、⑶-R0M,磁光盤、只讀存儲器(ROM)、隨機(jī)訪問存儲器 (RAM)、電可編程只讀存儲器(EPROM)、電可擦除和可編程只讀存儲器(EEPROM)、磁卡或光卡,或適用于存儲電指令并能夠連接到計(jì)算機(jī)系統(tǒng)總線上的任何其他類型的介質(zhì)。
這里所提出的處理和顯示并不必然與任何特定計(jì)算機(jī)或其他裝置有關(guān)。根據(jù)這里的教導(dǎo)可以使用具有程序的多種類型的通用系統(tǒng),或者可以方便地構(gòu)建一個專門的裝置來執(zhí)行所要求的方法。根據(jù)下面的說明,用于各種這些系統(tǒng)的所要求結(jié)構(gòu)可以從下文看出。另外,沒有參照任何特定的編程語言來描述本發(fā)明的實(shí)施例。應(yīng)當(dāng)知道,可以使用多種編程語言來實(shí)現(xiàn)如下所述的本發(fā)明的教導(dǎo)。
在下面的說明中,提供各種圖像、圖表、模塊、和描述以作為有效傳達(dá)和說明本申請中提出的本發(fā)明的不同實(shí)施例的不同方式。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,提出它們僅僅作為示例性的例子,不應(yīng)被看作是限制。
圖I是一個根據(jù)本發(fā)明的一個示意性實(shí)施例的多程序裝置系統(tǒng)100的框圖說明。
如圖I所示,多程序裝置系統(tǒng)100可包括存儲器102和多程序裝置硬件104。存儲器102例如可包含用戶級程序106、調(diào)度程序108、應(yīng)用程序接口(API) 110、和操作系統(tǒng)(OS)112。多程序裝置硬件104例如可包括程序裝置管理器114和多個程序裝置,例如程序裝置116,118,120和122,它們在圖I中分別被表示為SIDO,S皿,SID2和SID3。盡管在圖I中示出4個程序裝置,但是本領(lǐng)域技術(shù)人員理解程序裝置硬件104可以包括其他數(shù)量的程序裝置。
程序裝置管理器114可被實(shí)現(xiàn)為驅(qū)動器、諸如0S112擴(kuò)展的操作系統(tǒng)擴(kuò)展、任何其他硬件或者硬件和軟件的組合。在程序裝置116,118,120和/或122的類型方面,多程序裝置硬件104可以是對稱的或非對稱的。程序裝置116,118,120和122中的一個或者多個可以是一個具有屬于自己的一組執(zhí)行資源的物理處理器??蛇x擇地,程序裝置116,118,120 和122中的一個或者多個可以是邏輯處理器(例如超線程處理器),它可以與其他邏輯處理器共享物理資源??梢栽趩蝹€硬件內(nèi)核或多個分開的硬件內(nèi)核中實(shí)現(xiàn)程序裝置116,118, 120 和 122。
多程序裝置系統(tǒng)100的非窮盡例子列表可包括桌上型個人計(jì)算機(jī)、工作站、服務(wù)器計(jì)算機(jī)、膝上型計(jì)算機(jī)、筆記本電腦、手持式計(jì)算機(jī)、個人數(shù)字助理(PDA)、移動電話、游戲控制臺、和類似裝置。
存儲器102的非窮盡例子列表可包括下面半導(dǎo)體設(shè)備中的一個或者任何組合,諸如同步動態(tài)隨機(jī)訪問存儲器(SDRAM)、RAMBUS動態(tài)隨機(jī)訪問存儲器(RDRAM)設(shè)備、雙數(shù)據(jù)率 (DDR)存儲器設(shè)備、靜態(tài)隨機(jī)存儲器(SRAM)、閃存(FM)設(shè)備、電可擦除只讀存儲器(EEPROM) 設(shè)備、非易失性隨機(jī)訪問存儲器(NVRAM)、通用串行總線(USB)可移動存儲器設(shè)備、等等;光盤設(shè)備,諸如光盤只讀存儲器(CD ROM)等等;以及磁盤設(shè)備,諸如硬盤、軟盤、磁帶等等。存儲器102可以固定在系統(tǒng)100中或者可以從系統(tǒng)100中移走。
根據(jù)本發(fā)明一個示意性的實(shí)施例,用戶級程序106可以通過應(yīng)用程序接口 (API) 110訪問線程庫。APIllO可以向用戶級程序106提供線程的創(chuàng)建、控制和同步。調(diào)度程序108可以調(diào)度線程的指令以在多程序裝置硬件104上執(zhí)行。
多程序裝置硬件104的非窮盡例子列表可包括多個單線程或多線程中央處理單元(CPU)、數(shù)字信號處理器(DSP)、精簡指令集計(jì)算機(jī)(RISC)、復(fù)雜指令集計(jì)算機(jī)(CISC)等等。另外,多程序裝置104可以是特定用途集成電路(ASIC)的一部分,或者是特定用途標(biāo)準(zhǔn)產(chǎn)品(ASSP)的一部分。
根據(jù)本發(fā)明一個示意性的實(shí)施例,多程序裝置硬件104可以是已實(shí)現(xiàn)程序裝置 116,118,120和122(SID0-SID3)的單核處理器,這些程序裝置例如可以是邏輯處理器。單核處理器104例如可以支持并發(fā)、并行、和/或基于事件切換(switch-on-event)的多線程。根據(jù)一個示意性的實(shí)施例,每個程序裝置SID0-SID3可具有自己的下一個指令指針邏輯,而同一個單核處理器104可以執(zhí)行所有的線程指令。盡管單核處理器104的執(zhí)行資源可以在并發(fā)、并行、和/或基于事件切換的線程中共享,但是每個邏輯處理器SID0-SID3可以保持一個它自己的結(jié)構(gòu)狀態(tài)的版本。
盡管上述的多程序裝置硬件104的示意性實(shí)施例對于每個程序裝置針對的是單線程,然而本領(lǐng)域技術(shù)人員知道在這里本申請并不局限于單線程的處理器。這里所述的技術(shù)同樣地可應(yīng)用于任何芯片多處理(CMP)或并行多線程處理器(SMP)系統(tǒng),包括具有CMP 處理器核SMP處理器的混合系統(tǒng),其中CMP處理器中的每個核是SMP處理器或基于事件切換的多處理器(SoeMP)。例如,這里所述的技術(shù)可用于這樣的一種系統(tǒng),其在一個單芯片硬件保104中包括多線程的處理核。
如上所述,程序裝置SID0-SID3沒有必要是統(tǒng)一的,而在影響計(jì)算質(zhì)量的因素方面可以是非對稱的,所述因素諸如是處理速度、處理能力、和功率消耗。例如,程序裝置SIDO 可以是“重量級”程序裝置,因?yàn)樗杀辉O(shè)計(jì)為在給定的指令集架構(gòu)(例如與32位處理器相關(guān)的IA-32指令集架構(gòu))中處理大多數(shù)指令。而SIDl可以是“輕量級”程序裝置,因?yàn)樗幚碓谶@些指令中所選擇的子集。在本發(fā)明的另一個實(shí)施例中,重量級處理器可以是這樣的一個處理器,其可以用比輕量級處理器更快的速度來處理指令。另外,某些程序裝置對于操作系統(tǒng)來說是可見的,而其他程序裝置對操作系統(tǒng)來說是不可見的。例如,程序裝置SIDO 對OSl 12是可見的,而程序裝置SIDl至SID3對OSl 12是不可見的。然而,這并不意味著重量級程序裝置是OS可見的和/或輕量級程序裝置是OS隔離的。操作系統(tǒng)不在一個處于隔離狀態(tài)下的程序裝置(諸如在這里被稱為OS隔離的程序裝置)上調(diào)度指令。
根據(jù)本發(fā)明某些示意性的實(shí)施例,如下面參照圖2-8所詳細(xì)描述的那樣,多程序裝置系統(tǒng)100能夠提供持續(xù)性用戶級線程(PULT)服務(wù)。在本申請中,常規(guī)的用戶級線程, 或者在下面被簡稱為用戶級線程,可以是一序列指令,它僅包含在用戶級或ring-3級運(yùn)行的非特權(quán)指令。通常,OS線程在后臺支持用戶級線程,OS線程也被稱為本地OS線程或真正本地線程。在該OS線程上下文中,至少一個用戶級線程可以在OS可見的程序裝置或OS 隔離的程序裝置上運(yùn)行。當(dāng)OS線程被OS換出(和換入)時,屬于該OS線程的所有程序裝置的上下文將被保存(和還原)。由此,在這些程序裝置上運(yùn)行的用戶級線將被掛起(和重新開始)。根據(jù)本發(fā)明的一個實(shí)施例,持續(xù)性用戶級線程(PULT)是在OS隔離的程序裝置上運(yùn)行的用戶級線程。該P(yáng)ULT可以在例如創(chuàng)建該P(yáng)ULT的另一個用戶級線程的虛擬地址空間(VAS)的環(huán)境下執(zhí)行。該P(yáng)ULT的執(zhí)行可以獨(dú)立于創(chuàng)建該P(yáng)ULT的另一個用戶級線程的執(zhí)行,并因此可以不與其同步。即使當(dāng)該用戶級線程所屬的OS線程處于上下文換出狀態(tài)時, 該P(yáng)ULT仍可以在OS隔離的程序裝置上繼續(xù)執(zhí)行。在這里概念“持續(xù)性”是指用戶級線程繼續(xù)執(zhí)行,而與有關(guān)產(chǎn)生或創(chuàng)建PULT的線程上的OS線程上下文切換活動無關(guān)。
圖2是一個根據(jù)本發(fā)明的一個示意性實(shí)施例的硬件200的簡化邏輯圖,它構(gòu)成多程序裝置系統(tǒng)的一部分。
硬件200可對應(yīng)于構(gòu)成圖I的多程序裝置系統(tǒng)100的一部分的多程序裝置硬件 104。如圖I所示,多程序裝置104可包括程序裝置管理器114和例如多個程序裝置116, 118,120和122。根據(jù)本發(fā)明的一個實(shí)施例,程序裝置管理器114能夠以這樣一種方式虛擬化程序裝置116,118,120和122,在該方式下,程序裝置116,118,120和122以統(tǒng)一和對稱的形式出現(xiàn)在用戶級程序106中。換句話說,對應(yīng)于圖I中程序裝置管理器114的程序裝置管理器201可以掩飾程序裝置211,212,213和214的非對稱性,使得從匯編語言程序員的邏輯視角來看,如圖2所示,程序裝置211,212,213和214看起來是統(tǒng)一的和對稱的, 并由相同大小的正方形表示。程序裝置211,212,213和214可以表示圖I中的邏輯處理器 SIDO, SID1, SID2 和 SID3。
圖3是一個多程序裝置300的簡化說明,根據(jù)本發(fā)明的一個示意性實(shí)施例,其能夠提供持續(xù)性用戶級線程服務(wù)。
根據(jù)本發(fā)明的一個實(shí)施例,應(yīng)用程序301的執(zhí)行可以由操作系統(tǒng)(0S)302管理,而該程序例如可以是圖I的用戶級程序106。0S302可以通過創(chuàng)建并調(diào)度一個或多個本地線程來管理應(yīng)用程序301的執(zhí)行,每個本地線程潛在地包含用戶級線程,諸如在圖3中運(yùn)行在一組程序裝置之一中的本地線程303,這些程序裝置對0S302是可見的,例如是程序裝置311 和312。0S302可以通過一個或多個自身的內(nèi)核來管理程序裝置311和312。0S302還可以控制程序裝置311和312的特權(quán)狀態(tài)并響應(yīng)在程序裝置311和312上發(fā)生的中斷和異常處理。
根據(jù)本發(fā)明的一個實(shí)施例,程序裝置管理器310可以控制對OS可見的程序裝置 311和312以及另一組程序裝置的訪問,另一組程序裝置例如是與0S302隔離并不受0S302 的內(nèi)核管理的程序裝置313,314,315,316,317和318。程序裝置313,314,315,316,317和 318是OS隔離的程序裝置,或“OS不可見”的程序裝置。
根據(jù)本發(fā)明一個實(shí)施例,OS調(diào)度的線程(例如潛在地包含用戶級線程的本地線程)可以通過一個接口與程序裝置管理器310進(jìn)行交互,該接口通過硬件或軟件或者它們的組合來提供。為了使用0S302不可見的程序裝置,諸如程序裝置313,314,315,316,317 和318,例如本地線程303的OS調(diào)度的線程可以向程序裝置管理器310發(fā)送一個請求以創(chuàng)建例如線程304的用戶線程,來運(yùn)行OS隔離的程序裝置,例如程序裝置313。根據(jù)本發(fā)明一個實(shí)施例,用戶級線程304可以獨(dú)立于本地線程303的OS上下文切換活動而在程序裝置 313上運(yùn)行,并因此可以是持續(xù)性用戶級線程(PULT)。
在下面的說明中,本地線程303被用作示出創(chuàng)建和執(zhí)行持續(xù)性用戶級線程的例子。本領(lǐng)域技術(shù)人員將理解,下面的說明也適用于其他線程,例如屬于本地線程的用戶級線程。
根據(jù)本發(fā)明的一個示例性實(shí)施例,OS隔離的程序裝置313可以在虛擬地址空間 (VAS) 320中執(zhí)行PULT304,該空間由在OS可見的程序裝置311上運(yùn)行的用戶級線程303共享。0S302可以創(chuàng)建VAS320,以執(zhí)行應(yīng)用程序301。根據(jù)本發(fā)明的一個示例性實(shí)施例,通過共享通用VAS320,程序裝置管理器310能夠捕獲在OS可見的程序裝置311上運(yùn)行的用戶級線程303的執(zhí)行環(huán)境,例如一個虛擬地址映射,并接著把該執(zhí)行環(huán)境應(yīng)用到在OS隔離的程序裝置313上運(yùn)行的PULT304。根據(jù)本發(fā)明的一個實(shí)施例,OS隔離的程序裝置313可以具有一個或者多個窺探TLB(轉(zhuǎn)換后備緩沖器),其能夠自動跟蹤虛擬地址空間的未來變化。 TLB可以是存在于處理器中的一個小高速緩沖器,其跟蹤虛擬地址到物理地址轉(zhuǎn)換以便快速查找。處理器使用該TLB來避免不必要的頁面移動,以便把虛擬地址轉(zhuǎn)換為物理地址。
圖4是一個根據(jù)本發(fā)明的一個示意性實(shí)施例的多程序裝置系統(tǒng)400的概念說明, 其能夠提供持續(xù)性用戶級線程服務(wù)。
根據(jù)本發(fā)明的一個實(shí)施例,多程序裝置系統(tǒng)400可以包括一個程序裝置管理器 410,該管理器管理多個OS隔離的程序裝置,例如程序裝置411,412,413和414和其他OS 可見的程序裝置,例如程序裝置405和406。操作系統(tǒng)(OS) 402可管理一個或多個用戶級程序,諸如應(yīng)用程序401A和401B的執(zhí)行。操作系統(tǒng)(OS) 402通過創(chuàng)建一個或者多個線程來管理應(yīng)用程序401A和401B的執(zhí)行,這些線程例如包括用戶級線程403和404,以及其他本地線程,其中用戶級線程403和404在OS可見的程序裝置405和406上運(yùn)行。
程序裝置管理器410可以通過訪問程序裝置411,412,413和414來向應(yīng)用程序 40IA和401B提供執(zhí)行資源,而這些程序裝置與0S402隔離且不由0S402管理??梢酝ㄟ^由在OS可見的程序裝置405和406上運(yùn)行的線程403和404或者由OS調(diào)度的其他本地線程做出的請求來提供這種訪問。因此,應(yīng)用程序401A和401B可以通過用戶級線程403和 /或404或其他本地線程來訪問OS隔離的程序裝置411,412,413和414。
根據(jù)本發(fā)明的一個實(shí)施例,程序裝置管理器410可以在程序裝置411,412,413和 414上為應(yīng)用程序401A和401B分配不同時隙來執(zhí)行一個或多個由用戶級線程403和404 創(chuàng)建的持續(xù)性用戶級線程。例如,圖4中的符號t1; t2,t3,t4,t5和t6表示分別為執(zhí)行TOLT T1, T2, T3, T4, T5和T6而分配的時隙。
根據(jù)本發(fā)明的一個實(shí)施例,程序裝置管理器410可以為一個或多個OS隔離的程序裝置,例如程序裝置411,412,413和414,建立一個或多個中斷描述符表,例如表421,422, 423和424。中斷描述符表,例如表421,可以包括事件句柄431來管理在程序裝置411上正在發(fā)生的事件。在例如PULT T3在OS隔離的程序裝置,例如程序裝置411上的執(zhí)行時間期間t3,PULT T3可能遇到一種需要0S402處理或注意的事件或情形,諸如頁面錯誤或系統(tǒng)調(diào)用。那么在該事件發(fā)生時間,事件句柄431掛起PULT T3的執(zhí)行并保存PULT T3的執(zhí)行狀態(tài)。
根據(jù)本發(fā)明的另一個實(shí)施例,當(dāng)遇到頁面錯誤或系統(tǒng)調(diào)用時,OS不可見的程序裝置,例如程序裝置411,可以直接中斷OS可見的程序裝置的執(zhí)行,例如這個調(diào)用TOLT T3的程序裝置405。接著,程序裝置411可以向程序裝置管理器410發(fā)送一個觸發(fā)器來請求處理這個中斷。根據(jù)本發(fā)明又一個實(shí)施例,OS隔離的程序裝置411可以設(shè)計(jì)r i ng-Ο服務(wù)信道或用來處理頁面錯誤或系統(tǒng)調(diào)用的信道。信道可以是一個保存結(jié)構(gòu)狀態(tài)的寄存器,這些狀態(tài)例如包括觸發(fā)器-響應(yīng)映射,其中觸發(fā)器是在體系結(jié)構(gòu)上定義的一個或多個處理器狀態(tài)的集合,其中響應(yīng)是服務(wù)例程。另外,例如可以由用戶級指令來設(shè)計(jì)信道。當(dāng)出現(xiàn)頁面錯誤或系統(tǒng)調(diào)用時,OS隔離的程序裝置411可以調(diào)用一個句柄,該句柄的地址在信道被指定。
PULT T3可以一直保持掛起直到當(dāng)新的用戶級線程,例如運(yùn)行同一應(yīng)用程序401A 的線程409,被調(diào)度來在OS可見的程序裝置上運(yùn)行時為止。線程409,也被稱為服務(wù)線程, 可以向程序裝置管理器410做出一個請求以確認(rèn)或驗(yàn)證是否有一個PULT已經(jīng)被掛起并等待例如通過如下面詳細(xì)說明的代理執(zhí)行所提供的OS服務(wù)。線程通過從程序裝置管理器410 中獲得的I3ULT T3狀態(tài)來模仿或初始化PULT T3,由此來實(shí)現(xiàn)代理執(zhí)行。共享通用地址空間, 例如通用共享虛擬地址空間(VAS)(圖3)的服務(wù)線程409重新開始TOLT T3的執(zhí)行狀態(tài)。 接著線程409服務(wù)已經(jīng)使PULT T3掛起的執(zhí)行狀態(tài)。在該服務(wù)后,線程409保存過去執(zhí)行狀態(tài)并將該狀態(tài)返回到程序裝置管理器410。接著,程序裝置管理器410把該狀態(tài)傳遞到 PULT T3以重新開始它的執(zhí)行。
上述代理執(zhí)行給應(yīng)用程序程序員創(chuàng)建了對稱的錯覺并因此掩蓋了如何構(gòu)建一個多程序裝置系統(tǒng),例如系統(tǒng)100的固有的非對稱性屬性。
圖5是一個根據(jù)本發(fā)明的一個示意性實(shí)施例的多程序裝置系統(tǒng)的指令組結(jié)構(gòu) (ISA) 500的示意性圖。
ISA定義一個系統(tǒng)的邏輯視圖,如匯編語言程序員、二進(jìn)制翻譯器、匯編器等等所看到的那樣。ISA500可包括邏輯存儲器502和指令集504。邏輯存儲器502可以為多程序裝置系統(tǒng),諸如圖I中所示的多程序裝置系統(tǒng)100定義可見的分級存儲器體系、尋址方案、 寄存器組等,而指令集504可以定義多程序裝置系統(tǒng)100支持的指令和指令格式。
根據(jù)本發(fā)明的示例性實(shí)施例,指令集504可包括稱為IA-32指令集的指令集及其擴(kuò)展,盡管本發(fā)明并不局限于這個方面,并且其他指令集也是可能的。根據(jù)本發(fā)明的一個實(shí)施例,指令集504例如可包括E-SXFR指令和E-SEM0NIT0R指令,其中E-SXFR指令包括SXFR 控制傳輸指令及其擴(kuò)展,E-SEM0NIT0R指令包括SEM0NIT0R監(jiān)控指令及其擴(kuò)展。與可以在屬于同一個OS本地線程中的兩個程序裝置之間執(zhí)行的SXFR和SEM0NIT0R相比較,可以在分別屬于不同的OS本地線程中的兩個程序裝置之間執(zhí)行E-SXFR和E-SEM0NIT0R,它們可以在不同的特權(quán)級上運(yùn)行。例如,一個線程可以是受OS上下文切換影響的用戶級應(yīng)用程序, 而另一個線程可以是以該特權(quán)級持續(xù)運(yùn)行的PULT,像一個設(shè)備驅(qū)動器,并不受OS上下文切換支配。
根據(jù)本發(fā)明的一個實(shí)施例,E-SXFR指令可以用來從第一程序裝置向第二程序裝置發(fā)送信號,而E-SEM0NIT0R指令可以用來配置所述第二程序裝置以監(jiān)控來自所述第一程序裝置的信號。另外,SXFR控制傳輸指令和SEM0NIT0R監(jiān)控指令是程序裝置可知道的,并可用來創(chuàng)建其他程序裝置可知道的組合指令。
根據(jù)本發(fā)明的一個實(shí)施例,E-SXFR指令可以具有如圖6所示的簡單指令格式。在圖6中示出該E-SXFR指令可以包括操作碼602,以及操作對象604,606,608和612。根據(jù)本發(fā)明的一個實(shí)施例,程序裝置管理器可以提供具有操作對象的E-SXFR指令,該操作對象可包括程序裝置的特權(quán)狀態(tài),諸如來創(chuàng)建一個執(zhí)行環(huán)境以服務(wù)所掛起的持續(xù)性用戶級線程。
根據(jù)一個實(shí)施例,操作對象604可對應(yīng)于目的/目標(biāo)程序裝置的程序裝置 ID(SID),其中該E-SXFR指令信號將被發(fā)送到該目的/目標(biāo)程序裝置上。操作對象606可包括場景(scenario)或控制消息,其可以是用來表示條件或預(yù)期事件的在體系結(jié)構(gòu)上定義的標(biāo)識符代碼。如下面參照表I詳細(xì)說明的那樣,場景可被用來影響異步控制傳輸。
根據(jù)一個實(shí)施例,操作對象608可以包括一個參數(shù),該參數(shù)設(shè)置在程序裝置上的執(zhí)行該E-SXFR指令的指令條件。例如,參數(shù)在圖6中被示為條件參數(shù),可包括一個“WAIT” 或“N0-WAIT”參數(shù)。例如,當(dāng)在代理執(zhí)行場景下使用E-SXFR指令時,WAIT條件參數(shù)可以使在執(zhí)行該E-SXFR指令的程序裝置上的指令停止,直到另一個程序裝置上代理執(zhí)行的完成。 NO-WAIT條件參數(shù)可以規(guī)定在執(zhí)行該E-SXFR指令的程序裝置上的指令可以與在另一個指令程序裝置上代理執(zhí)行并行地進(jìn)行。
根據(jù)一個實(shí)施例,操作對象610可包括場景特定的有效載荷或數(shù)據(jù)消息。例如,在 FORK場景的情況下,有效載荷可包括一個指令指針,其指向由操作對象604所標(biāo)識的程序裝置要開始執(zhí)行的位置。根據(jù)另一個實(shí)施例,有效載荷操作對象610可包括指令指針、棧指針、一組控制寄存器等等。包含在有效載荷作對象610中的地址可以被表示為多種尋址模式,諸如直接尋址、間接寄存器尋址,和/或基地址/偏移尋址。
根據(jù)一個實(shí)施例,操作對象612可以規(guī)定包含在操作對象604中的SID上的路由方法或函數(shù)。路由函數(shù)控制由于執(zhí)行E-SXFR指令而產(chǎn)生的信號是否作為廣播、單播、或多播信號來發(fā)送。路由函數(shù)還可以編碼信息,諸如可被用來在路由中幫助基本程序裝置間互連傳送信號的特定拓?fù)涮崾尽?br> 根據(jù)一個實(shí)施例,E-SEM0NIT0R指令可以具有如圖7所示的簡單指令格式。在圖 6中示出該E-SEM0NIT0R指令可以包括操作碼702,和操作對象704,706和708。操作對象 704,706和708可以包含程序裝置的特權(quán)狀態(tài)信息,以幫助持續(xù)性用戶級線程創(chuàng)建一個執(zhí)行環(huán)境。例如,操作對象704可以通過包括場景ID來規(guī)定場景。操作對象706可以包括與程序裝置ID(SID)和指令指針(EIP)相關(guān)的信息。為了方便說明,如圖7所示,包含在操作對象706中的信息可被稱為“SIDEIP”。
E-SEMONITOR指令可以把在操作對象704中規(guī)定的場景映射到在操作對象706中指定的SIDEIP上。從場景到SIDEIP的映射在這里被稱為“服務(wù)信道”的映射。操作對象 708允許程序員輸入一個或多個控制參數(shù)來規(guī)定或控制如何服務(wù)這個特定服務(wù)信道。例如, 程序員可以使用E-SEM0NIT0R指令來設(shè)計(jì)程序裝置監(jiān)控的服務(wù)信道。
根據(jù)上述說明,應(yīng)該理解E-SXFR和E-SEM0NIT0R指令都是“程序裝置可識別的”指令,因?yàn)樗鼈儼梢宰R別特定程序裝置的操作對象。
圖8和圖9是一個根據(jù)本發(fā)明的一個示意性實(shí)施例來執(zhí)行持續(xù)性用戶級線程的簡化流程圖說明。相同模塊數(shù)字被用來表示相同的操作。
根據(jù)本發(fā)明的一個實(shí)施例,如模塊801所示,OS隔離的程序裝置822可以執(zhí)行持續(xù)性用戶級線程。為了方便說明,該持續(xù)性用戶級線程在這里被稱為PULT-1。例如可以由第一用戶級線程創(chuàng)建PULT-1,其中第一用戶級線程由第一 OS可見的程序裝置執(zhí)行。在執(zhí)行期間,PULT-I可能遇到一個或多個需要OS服務(wù)或注意的事件。第二用戶級線程可以與12創(chuàng)建PULT-1的第一用戶級線程是同一個用戶級線程,也可與其不同,并在例如OS可見的程序裝置821的第二 OS可見的程序裝置上執(zhí)行,如下面詳細(xì)描述的那樣,第二用戶級線程向 PULT-1提供所請求的OS服務(wù)。。
根據(jù)本發(fā)明的一個實(shí)施例,如在圖8和9的模塊802中所示的那樣,PULT-1在時間遇到需要OS服務(wù)的事件。如模塊803指出的那樣,在檢測到事件時,程序裝置器管理器820在時間h調(diào)用一個過程來保存I3ULT-1的狀態(tài),諸如例如一個邏輯指針。I3ULT-1的狀態(tài)如模塊803所示那樣已經(jīng)被保存后,接著如模塊804所示,從時間t2掛起PULT-1的執(zhí)行并向前進(jìn)行。根據(jù)本發(fā)明的一個實(shí)施例,在接收到一個有關(guān)需要操作系統(tǒng)服務(wù)的事件的通知后,通過一個外部中斷,程序裝置管理器820也可以掛起PULT-1的執(zhí)行。PULT-1 —直被掛起直到服務(wù)線程例如通過代理執(zhí)行提供所要求的OS服務(wù)。
根據(jù)本發(fā)明的一個示例性實(shí)施例,如模塊805所示,諸如新用戶級線程的OS調(diào)度的線程可以在OS可見的程序裝置821上開始運(yùn)行。該新的用戶級線程可以為如TOLT-1的同一個應(yīng)用程序來執(zhí)行。該線程能夠通過例如代理執(zhí)行向PULT-1提供OS服務(wù)并因此在這里被稱為服務(wù)線程。如模塊806所示,該服務(wù)線程可能檢查或驗(yàn)證程序裝置管理器820,來判定是否存在任何等待OS服務(wù)的被掛起的I3ULT。
服務(wù)線程可以識別PULT-1為一個正等待OS服務(wù)的線程。根據(jù)本發(fā)明的一個實(shí)施例,如模塊807所示,服務(wù)線程接著例如通過它們通用的共享地址空間(VAS)來獲取TOLT-1 的執(zhí)行狀態(tài),來模仿I3ULT-1,換句話說模擬I3ULT-1。由服務(wù)線程模仿的I3ULT-1可接著在執(zhí)行服務(wù)線程的OS可見的程序裝置上執(zhí)行,以接收OS服務(wù)。因此,如模塊808所示,通過服務(wù)線程的代理執(zhí)行把OS服務(wù)提供給PULT-1,并且PULT-1掛起的狀態(tài)現(xiàn)在有操作系統(tǒng)來服務(wù)。根據(jù)本發(fā)明的一個實(shí)施例,運(yùn)行在OS可見的程序裝置,例如OS可見的程序裝置821上的用戶級線程,可以通過監(jiān)控使用一個場景的地址位置來檢測被掛起的PULT。服務(wù)場景可用來監(jiān)控高速緩沖器未命中的條件,并且當(dāng)發(fā)生高速緩沖器未命中時,例如將導(dǎo)致閾值被越過,則在服務(wù)信道中的一個句柄被調(diào)用。
根據(jù)本發(fā)明的一個實(shí)施例,如模塊809所示,在操作系統(tǒng)完成服務(wù)所掛起的 PULT-1的條件后,PULT-1的后執(zhí)行狀態(tài)被保存,并接著通過程序裝置管理器820被返回到 OS隔離的程序裝置822。如模塊810所示,從服務(wù)線程中接收到后執(zhí)行狀態(tài)后,OS隔離的程序裝置822可以重新開始其TOLT-1的執(zhí)行。
表I包含根據(jù)本發(fā)明的某些實(shí)施例的,不例場景列表。
表I
權(quán)利要求
1.一種用于運(yùn)行持續(xù)性用戶級線程的方法,包括創(chuàng)建持續(xù)性用戶級線程,以獨(dú)立于在操作系統(tǒng)調(diào)度的線程上的上下文切換活動而在操作系統(tǒng)隔離的程序裝置上運(yùn)行,所述操作系統(tǒng)調(diào)度的線程在操作系統(tǒng)可見的程序裝置上運(yùn)行;當(dāng)所述持續(xù)性用戶級線程遇到將要由操作系統(tǒng)處理的事件時,掛起所述持續(xù)性用戶級線程的運(yùn)行;以及使在附加的操作系統(tǒng)可見的程序裝置上運(yùn)行的服務(wù)線程向被掛起的持續(xù)性用戶級線程提供操作系統(tǒng)服務(wù)。
2.如權(quán)利要求I所述的方法,其中所述操作系統(tǒng)調(diào)度的線程和所述持續(xù)性用戶級線程共享公用虛擬地址空間。
3.如權(quán)利要求I所述的方法,其中所述服務(wù)線程和所述持續(xù)性用戶級線程在同一個應(yīng)用程序的上下文中運(yùn)行。
4.如權(quán)利要求I所述的方法,其中向持續(xù)性用戶級線程提供操作系統(tǒng)服務(wù)包括向所述附加的操作系統(tǒng)可見的程序裝置傳遞控制傳輸指令;并且在一種特權(quán)級上執(zhí)行所述控制傳輸指令。
5.如權(quán)利要求4所述的方法,其中所述特權(quán)級包括ring-Ο級。
6.如權(quán)利要求4所述的方法,包括使所述服務(wù)線程獲得持續(xù)性用戶級線程的狀態(tài);向所述持續(xù)性用戶級線程提供代理執(zhí)行;和返回后執(zhí)行狀態(tài)到所述持續(xù)性用戶級線程。
7.如權(quán)利要求6所述的方法,還包括從所述后執(zhí)行狀態(tài)重新開始所述持續(xù)性用戶級線程的運(yùn)行。
8.一種用于運(yùn)行持續(xù)性用戶級線程的裝置,包括創(chuàng)建持續(xù)性用戶級線程,以獨(dú)立于在操作系統(tǒng)調(diào)度的線程上的上下文切換活動而在操作系統(tǒng)隔離的程序裝置上運(yùn)行的部件,所述操作系統(tǒng)調(diào)度的線程在操作系統(tǒng)可見的程序裝置上運(yùn)行;當(dāng)所述持續(xù)性用戶級線程遇到需要操作系統(tǒng)處理的事件時,掛起所述持續(xù)性用戶級線程的運(yùn)行的部件;使在附加的操作系統(tǒng)可見的程序裝置上運(yùn)行的服務(wù)線程向被掛起的持續(xù)性用戶級線程提供操作系統(tǒng)服務(wù)的部件。
9.如權(quán)利要求8所述的裝置,其中所述操作系統(tǒng)調(diào)度的線程和所述持續(xù)性用戶級線程共享公用虛擬地址空間。
10.如權(quán)利要求8所述的裝置,其中所述服務(wù)線程和所述持續(xù)性用戶級線程在同一個應(yīng)用程序的上下文中運(yùn)行。
11.如權(quán)利要求8所述的裝置,其中向持續(xù)性用戶級線程提供操作系統(tǒng)服務(wù)的部件包括向所述附加的操作系統(tǒng)可見的程序裝置傳遞控制傳輸指令的部件;以及在一種特權(quán)級上執(zhí)行所述控制傳輸指令的部件。
12.如權(quán)利要求11所述的裝置,其中所述特權(quán)級包括ring-Ο級。
13.如權(quán)利要求11所述的裝置,包括使所述服務(wù)線程獲得持續(xù)性用戶級線程的狀態(tài)的部件;向所述持續(xù)性用戶級線程提供代理執(zhí)行的部件;和返回后執(zhí)行狀態(tài)到所述持續(xù)性用戶級線程的部件。
14.如權(quán)利要求13所述的裝置,還包括從所述后執(zhí)行狀態(tài)重新開始所述持續(xù)性用戶級線程的運(yùn)行的部件。
全文摘要
本發(fā)明的名稱是“用于持續(xù)性用戶級線程的設(shè)備、系統(tǒng)和方法”。本發(fā)明的實(shí)施例提供一種方法,其基于在操作系統(tǒng)可見的程序裝置上運(yùn)行并使用指令集擴(kuò)展的操作系統(tǒng)調(diào)度的線程,來創(chuàng)建持續(xù)性用戶級線程,以獨(dú)立于在操作系統(tǒng)調(diào)度的線程上的上下文切換活動而在該操作系統(tǒng)隔離的程序裝置上運(yùn)行。所述操作系統(tǒng)調(diào)度的線程和所述持續(xù)性用戶級線程共享一個公用虛擬地址空間。本發(fā)明的實(shí)施例還提供一種方法,用來使在附加的操作系統(tǒng)可見的程序裝置上運(yùn)行的服務(wù)線程向所述持續(xù)性用戶級線程提供操作系統(tǒng)服務(wù)。本發(fā)明的實(shí)施例還提供其的設(shè)備、系統(tǒng)和計(jì)算機(jī)可讀媒體。
文檔編號G06F9/46GK102981808SQ20121047299
公開日2013年3月20日 申請日期2006年9月29日 優(yōu)先權(quán)日2005年9月30日
發(fā)明者G.欽亞, H.王, P.塞蒂, S.考施克, B.比格比, J.沈, R.漢金斯, X.鄒, B.帕特爾, J.布蘭德特, A.阿加沃爾, J.賴德 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
城市| 新绛县| 什邡市| 宁强县| 尚义县| 阿坝| 芦溪县| 黄陵县| 柘城县| 涞源县| 天门市| 邵东县| 永福县| 资兴市| 响水县| 怀仁县| 西吉县| 老河口市| 天水市| 涪陵区| 汽车| 阳西县| 长治县| 永顺县| 札达县| 普兰店市| 鲁甸县| 大名县| 安阳市| 天等县| 定远县| 芦山县| 遵义市| 昆明市| 龙川县| 天水市| 灯塔市| 光山县| 鄢陵县| 长垣县| 旌德县|