多操作系統(tǒng)相關(guān)申請(qǐng)的交叉引用本申請(qǐng)是2010年10月1日提交的、名稱為“Multi-OperatingSystemPortableDockingDevice”的美國(guó)臨時(shí)申請(qǐng)No.61/389,117;2011年7月13日提交的、名稱為“DockableMobileSoftwareArchitecture”的美國(guó)臨時(shí)申請(qǐng)No.61/507,199;2011年7月13日提交的、名稱為“Cross-EnvironmentCommunicationFramework”的美國(guó)臨時(shí)申請(qǐng)No.61/507,201;2011年7月13日提交的、名稱為“Multi-OperatingSystem”的美國(guó)臨時(shí)申請(qǐng)No.61/507,203;2011年7月13日提交的,名稱為“Auto-ConfigurationofaDockedSysteminaMulti-OSEnvironment”的美國(guó)臨時(shí)申請(qǐng)No.61/507,206;以及2011年7月13日提交的,名稱為“Auto-WakingofaSuspendedSecondaryOSinaDockableSystem”的美國(guó)臨時(shí)申請(qǐng)No.61/507,209的非臨時(shí)申請(qǐng)并且要求所述臨時(shí)申請(qǐng)的提交日的權(quán)益,其中為了所有目的將上述優(yōu)先權(quán)申請(qǐng)的全部?jī)?nèi)容通過(guò)引用合并于此。
技術(shù)領(lǐng)域:
:本申請(qǐng)總地涉及移動(dòng)計(jì)算環(huán)境的領(lǐng)域,更具體地涉及通過(guò)在單個(gè)移動(dòng)計(jì)算設(shè)備中使用多個(gè)操作系統(tǒng)而支持多個(gè)用戶環(huán)境。
背景技術(shù):
::在現(xiàn)今的社會(huì)中,移動(dòng)計(jì)算設(shè)備正在變得無(wú)處不在。例如,截至2008年底,百分之九十的美國(guó)人擁有移動(dòng)無(wú)線設(shè)備。同時(shí),移動(dòng)設(shè)備的能力快速發(fā)展,包括將先進(jìn)的計(jì)算能力與移動(dòng)電話能力結(jié)合的智能電話。移動(dòng)電話提供者在過(guò)去3年中基于幾種不同的平臺(tái)(例如,蘋果iPhone、Android、BlackBerry、Palm、和WindowsMobile)已經(jīng)推出了數(shù)百種新的智能電話。在美國(guó),到2010年中期時(shí),智能電話滲透率幾乎達(dá)到23%,并且在一些年齡群體中超過(guò)35%。在歐洲,從2009年到2010年智能電話市場(chǎng)增長(zhǎng)了41%,其中截至2010年7月僅在五個(gè)最大的歐洲國(guó)家中就有超過(guò)6千萬(wàn)智能電話用戶。雖然智能電話在普及度和計(jì)算能力方面不斷增加,但它們提供有限的用戶體驗(yàn)。具體地,它們通常具有為移動(dòng)設(shè)備硬件修改的操作系統(tǒng)和對(duì)所述修改后的操作系統(tǒng)可用的一組受限的應(yīng)用。例如,許多智能電話運(yùn)行谷歌的Android操作系統(tǒng)。Android僅運(yùn)行專門開(kāi)發(fā)以便在基于Java的虛擬機(jī)運(yùn)行時(shí)環(huán)境內(nèi)運(yùn)行的應(yīng)用。此外,雖然Android基于修改后的Linux內(nèi)核,但它使用與Linux不同的標(biāo)準(zhǔn)C庫(kù),系統(tǒng)管理器和服務(wù)。因此,在沒(méi)有修改或移植(porting)的情況下為L(zhǎng)inux寫的應(yīng)用不能在Android上運(yùn)行。類似地,蘋果的iphone使用iOS移動(dòng)操作系統(tǒng)。同樣,雖然iOS來(lái)源于MacOSX,但為OSX開(kāi)發(fā)的應(yīng)用不能在iOS上運(yùn)行。因此,雖然許多應(yīng)用可用于例如Android和iOS的移動(dòng)操作系統(tǒng),但是用于例如Linux和MacOSX的桌面操作系統(tǒng)的許多其他常見(jiàn)的應(yīng)用在移動(dòng)平臺(tái)上不可用。因此,智能電話通常適用于一組有限的用戶體驗(yàn),并提供主要為移動(dòng)環(huán)境設(shè)計(jì)的應(yīng)用。具體地,智能電話不提供合適的桌面用戶體驗(yàn),它們也不運(yùn)行大多數(shù)常見(jiàn)的桌面應(yīng)用。作為結(jié)果,許多用戶攜帶和使用多個(gè)計(jì)算設(shè)備,包括智能電話、筆記本計(jì)算機(jī)和/或平板計(jì)算機(jī)。在這種情況下,每個(gè)設(shè)備具有自己的CPU、存儲(chǔ)器、文件貯存器和操作系統(tǒng)。智能電話和其他計(jì)算設(shè)備之間的連接和文件共享涉及通過(guò)無(wú)線或有線連接將一個(gè)設(shè)備(例如,運(yùn)行移動(dòng)OS的智能電話)鏈接到第二個(gè)完全不同的設(shè)備(例如,運(yùn)行桌面OS的筆記本計(jì)算機(jī)、桌面計(jì)算機(jī)或平板計(jì)算機(jī))。通過(guò)在每個(gè)設(shè)備上分別運(yùn)行的應(yīng)用之間同步數(shù)據(jù)而在設(shè)備上共享信息。通常被稱為“同步”的這個(gè)過(guò)程是麻煩的并且通常需要由用戶主動(dòng)管理。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的實(shí)施例針對(duì)在單個(gè)移動(dòng)計(jì)算設(shè)備中提供智能電話的移動(dòng)計(jì)算體驗(yàn)和第二終端環(huán)境的合適的用戶體驗(yàn)。第二終端環(huán)境可以是通過(guò)有線(例如,USB、火線、雷電接口(thunderbolt)等)或無(wú)線(例如,藍(lán)牙、WiFi等)連接而連接到所述計(jì)算設(shè)備的視覺(jué)呈現(xiàn)設(shè)備(例如,監(jiān)視器或顯示器)、輸入設(shè)備(例如,鼠標(biāo)、觸摸板、觸摸屏、鍵盤等)、以及其他計(jì)算外圍設(shè)備(例如,HDD、光盤驅(qū)動(dòng)器、記憶棒、相機(jī)、打印機(jī)等)的某種組合。在實(shí)施例中,在共享內(nèi)核上并發(fā)并獨(dú)立運(yùn)行與移動(dòng)環(huán)境的用戶體驗(yàn)相關(guān)聯(lián)的移動(dòng)操作系統(tǒng)和與第二終端環(huán)境的用戶體驗(yàn)相關(guān)聯(lián)的桌面操作系統(tǒng)。根據(jù)符合各種實(shí)施例的一個(gè)方面,計(jì)算系統(tǒng)的計(jì)算設(shè)備包括移動(dòng)操作系統(tǒng),該移動(dòng)操作系統(tǒng)具有支持在第一執(zhí)行環(huán)境中在共享內(nèi)核上運(yùn)行的第一應(yīng)用的第一應(yīng)用框架。桌面操作系統(tǒng)在第二執(zhí)行環(huán)境中在共享內(nèi)核上與移動(dòng)操作系統(tǒng)并發(fā)運(yùn)行,桌面操作系統(tǒng)包括支持與所述第一應(yīng)用框架不兼容的第二應(yīng)用的第二應(yīng)用框架。根據(jù)符合各種實(shí)施例的其他方面,所述第二應(yīng)用與移動(dòng)操作系統(tǒng)的第一組用戶庫(kù)不兼容。在計(jì)算系統(tǒng)中,可以在計(jì)算設(shè)備的移動(dòng)處理器上運(yùn)行共享內(nèi)核。計(jì)算系統(tǒng)可以包括第二終端環(huán)境,并且桌面操作系統(tǒng)可以與所述第二終端環(huán)境相關(guān)聯(lián)。計(jì)算設(shè)備和第二終端環(huán)境可以與包括顯示接口和串行通信接口的單個(gè)基座連接器(dockconnector)連接。移動(dòng)操作系統(tǒng)可以與計(jì)算設(shè)備的物理存儲(chǔ)設(shè)備中的第一幀緩沖器(buffer)相關(guān)聯(lián),并且桌面操作系統(tǒng)可以與物理存儲(chǔ)設(shè)備中的第二幀緩沖器相關(guān)聯(lián)。第一幀緩沖器可與計(jì)算設(shè)備的第一顯示設(shè)備相關(guān)聯(lián)。根據(jù)符合各種實(shí)施例的其他方面,計(jì)算系統(tǒng)可以包括第二終端環(huán)境的第二顯示設(shè)備,并且第二幀緩沖器可以與所述第二顯示設(shè)備相關(guān)聯(lián)。可以通過(guò)第二幀緩沖器在第二顯示設(shè)備上顯示第二應(yīng)用。在物理貯存設(shè)備上第二執(zhí)行環(huán)境可以邏輯上與第一執(zhí)行環(huán)境分離。輸入設(shè)備可以被連接到計(jì)算設(shè)備,并且來(lái)自所述輸入設(shè)備的輸入命令可以對(duì)第一執(zhí)行環(huán)境中的移動(dòng)操作系統(tǒng)和對(duì)第二執(zhí)行環(huán)境中的桌面操作系統(tǒng)是可用的。桌面操作系統(tǒng)可以通過(guò)共享內(nèi)核訪問(wèn)來(lái)自所述輸入設(shè)備的輸入命令。根據(jù)符合各種實(shí)施例的其他方面,使用包括下列步驟的引導(dǎo)過(guò)程配置計(jì)算設(shè)備:響應(yīng)于通電事件啟動(dòng)引導(dǎo)裝載程序(loader),由所述引導(dǎo)裝載程序建立第一執(zhí)行環(huán)境,由所述引導(dǎo)裝載程序啟動(dòng)共享內(nèi)核,由共享內(nèi)核初始化移動(dòng)操作系統(tǒng),由共享內(nèi)核啟動(dòng)第一應(yīng)用框架,在移動(dòng)操作系統(tǒng)中啟動(dòng)桌面監(jiān)視器服務(wù),由所述桌面監(jiān)視器服務(wù)在第一執(zhí)行環(huán)境內(nèi)建立第二執(zhí)行環(huán)境,并且由所述桌面監(jiān)視器服務(wù)啟動(dòng)第二應(yīng)用框架。根據(jù)符合各種實(shí)施例的其他方面,可以通過(guò)在移動(dòng)操作系統(tǒng)上運(yùn)行第一應(yīng)用并且在桌面操作系統(tǒng)上運(yùn)行第二應(yīng)用,而在移動(dòng)計(jì)算設(shè)備的單個(gè)物理處理器上提供多個(gè)操作系統(tǒng),所述第一操作系統(tǒng)在共享內(nèi)核上運(yùn)行并具有第一應(yīng)用框架,所述桌面操作系統(tǒng)在所述共享內(nèi)核上與第一操作系統(tǒng)并發(fā)運(yùn)行并具有第二應(yīng)用框架,其中所述第二應(yīng)用與第一應(yīng)用框架不兼容。根據(jù)符合各種實(shí)施例的其他方面,可以由共享內(nèi)核分配與移動(dòng)操作系統(tǒng)相關(guān)聯(lián)的第一幀緩沖存儲(chǔ)器,并且可以由共享內(nèi)核分配與桌面操作系統(tǒng)相關(guān)聯(lián)的第二幀緩沖存儲(chǔ)器。移動(dòng)操作系統(tǒng)可以通過(guò)共享內(nèi)核呈現(xiàn)(render)第一幀緩沖存儲(chǔ)器中的第一應(yīng)用,并且桌面操作系統(tǒng)可通過(guò)共享內(nèi)核呈現(xiàn)第二幀緩沖存儲(chǔ)器中的第二應(yīng)用。根據(jù)符合各種實(shí)施例的其他方面,計(jì)算設(shè)備包括存儲(chǔ)用于物理處理器的指令的計(jì)算機(jī)可讀介質(zhì)。當(dāng)執(zhí)行所述指令時(shí),所述指令使得所述處理器執(zhí)行下列步驟,包括:在第一執(zhí)行環(huán)境中在共享內(nèi)核上運(yùn)行移動(dòng)操作系統(tǒng),所述移動(dòng)操作系統(tǒng)具有支持第一應(yīng)用的第一應(yīng)用框架;以及在第二執(zhí)行環(huán)境中在共享內(nèi)核上與所述移動(dòng)操作系統(tǒng)并發(fā)地運(yùn)行桌面操作系統(tǒng),所述第二操作系統(tǒng)具有支持第二應(yīng)用的第二應(yīng)用框架,其中所述第二應(yīng)用與所述第一應(yīng)用框架不兼容。所述第二執(zhí)行環(huán)境可以包括改變根目錄(chrooted)的環(huán)境。所述計(jì)算設(shè)備可以包括電話(telephony)能力。所述計(jì)算設(shè)備可以是例如智能電話。附圖說(shuō)明在附圖的參考圖中圖示本發(fā)明的實(shí)施例,其中貫穿附圖的描述,相同的數(shù)字指代相同的元件。圖1圖示根據(jù)各種實(shí)施例的提供多個(gè)用戶計(jì)算體驗(yàn)的計(jì)算環(huán)境。圖2圖示根據(jù)各種實(shí)施例的移動(dòng)計(jì)算設(shè)備的示例系統(tǒng)架構(gòu)。圖3圖示根據(jù)各種實(shí)施例的用于計(jì)算環(huán)境的操作系統(tǒng)架構(gòu)。圖4圖示根據(jù)各種實(shí)施例的用于計(jì)算環(huán)境的移動(dòng)操作系統(tǒng)的方面。圖5圖示根據(jù)各種實(shí)施例的用于計(jì)算環(huán)境的共享內(nèi)核的方面。圖6圖示根據(jù)各種實(shí)施例的用于計(jì)算環(huán)境的桌面操作系統(tǒng)的方面。圖7圖示根據(jù)各種實(shí)施例的可以被用于更詳細(xì)地配置移動(dòng)計(jì)算設(shè)備的操作系統(tǒng)架構(gòu)的示例引導(dǎo)過(guò)程。圖8圖示根據(jù)各種實(shí)施例的用于計(jì)算環(huán)境的操作系統(tǒng)架構(gòu)的方面。圖9圖示使用實(shí)施例的各種方面的示例計(jì)算環(huán)境。具體實(shí)施方式傳統(tǒng)上,手持式移動(dòng)電話設(shè)備(即,“手機(jī)”)被獨(dú)立地開(kāi)發(fā)并且服務(wù)于與例如桌面計(jì)算機(jī)和筆記本計(jì)算機(jī)的個(gè)人計(jì)算機(jī)(“PC”)的目的分開(kāi)的和不同的目的。手持式移動(dòng)電話設(shè)備主要專注于通信,而PC專注于例如創(chuàng)建和編輯文件、基于本文的通信(例如,電子郵件等)、多媒體、和web瀏覽的計(jì)算任務(wù)。然而,移動(dòng)電話設(shè)備包括不斷增加的計(jì)算能力,并且用戶日益希望將通信和計(jì)算能力集中到多用途移動(dòng)設(shè)備。例如,包括計(jì)算能力的被稱為“智能電話”的移動(dòng)電話設(shè)備的普及度不斷增加。許多這些智能電話包括在移動(dòng)處理器上運(yùn)行的移動(dòng)操作系統(tǒng)(“OS”)。雖然移動(dòng)處理器和移動(dòng)OS已經(jīng)增加了這些設(shè)備的能力,但至少因?yàn)樗峁┑挠邢薜挠脩趔w驗(yàn),智能電話尚無(wú)趨向取代例如桌面或筆記本計(jì)算機(jī)的PC環(huán)境。具體地,對(duì)于例如輸入或編輯文檔的某些任務(wù),全尺寸鍵盤和大顯示器比通常在智能電話上發(fā)現(xiàn)的用戶接口組件更易于使用。例如,智能電話通常使用小的拇指式QWERTY鍵盤、觸摸屏顯示器、點(diǎn)擊輪(click-wheel)、和/或滾動(dòng)輪作為用戶接口組件。選擇菜單選項(xiàng)或項(xiàng)目通常涉及使用觸摸屏顯示器、或使用點(diǎn)擊輪或滾輪來(lái)導(dǎo)航菜單并選擇項(xiàng)目。這個(gè)接口適合于在智能電話中通常發(fā)現(xiàn)的小顯示屏和有限的菜單選項(xiàng),但不適合于控制具有更大數(shù)量的菜單選項(xiàng)、更大的屏幕區(qū)域、和在例如傳統(tǒng)鼠標(biāo)的指點(diǎn)設(shè)備周圍建立的用戶界面的更傳統(tǒng)的程序。本發(fā)明的實(shí)施例針對(duì)單個(gè)移動(dòng)計(jì)算設(shè)備,所述單個(gè)移動(dòng)計(jì)算設(shè)備提供智能電話的移動(dòng)計(jì)算體驗(yàn),并且當(dāng)被對(duì)接(dock)到第二終端環(huán)境時(shí)提供適合于第二終端環(huán)境的完整用戶體驗(yàn)。第二終端環(huán)境可以是通過(guò)有線(例如,USB、火線、雷電接口等)或無(wú)線(例如,藍(lán)牙、WiFi等)接口連接到計(jì)算設(shè)備的視覺(jué)呈現(xiàn)設(shè)備(例如,監(jiān)視器或顯示器)、輸入設(shè)備(例如,鼠標(biāo)、觸摸板、觸摸屏、鍵盤等)、和其他計(jì)算外圍設(shè)備(例如,HDD、光盤驅(qū)動(dòng)器、記憶棒、相機(jī)、打印機(jī)等)的某種組合。例如,第二終端環(huán)境可以包括將移動(dòng)計(jì)算設(shè)備連接到外部顯示器和輸入設(shè)備(“智能基座”)、或在類似于筆記本計(jì)算機(jī)的外殼中包括顯示器、鍵盤、和指點(diǎn)設(shè)備的集成設(shè)備(“智能本”)的對(duì)接支架(dockingcradle)。其他第二終端環(huán)境可以包括TV、監(jiān)視器、投影儀、車載控制臺(tái)、家庭娛樂(lè)系統(tǒng)、和/或家庭自動(dòng)控制系統(tǒng)。雖然第二終端環(huán)境可以具有例如微控制器或其他專用集成電路(“ASIC”)的一些處理或邏輯元件,它們通常不具有運(yùn)行單獨(dú)的操作系統(tǒng)實(shí)例的處理器。圖1圖示根據(jù)各種實(shí)施例的提供多個(gè)用戶計(jì)算體驗(yàn)的計(jì)算環(huán)境100。計(jì)算環(huán)境100包括移動(dòng)計(jì)算設(shè)備110。移動(dòng)計(jì)算設(shè)備110包括移動(dòng)計(jì)算硬件和軟件組件。移動(dòng)計(jì)算設(shè)備110的硬件組件包括移動(dòng)處理器114、顯示器116、一個(gè)或多個(gè)I/O設(shè)備118、和/或端口120。移動(dòng)計(jì)算設(shè)備110的軟件組件包括第一OS130和第二OS160。在一個(gè)實(shí)施例中,第一OS130是移動(dòng)OS并且第二OS160是桌面OS。當(dāng)將移動(dòng)計(jì)算設(shè)備110作為獨(dú)立移動(dòng)設(shè)備操作時(shí),移動(dòng)OS130通過(guò)顯示器116和一個(gè)或多個(gè)I/O設(shè)備118提供典型的移動(dòng)計(jì)算用戶體驗(yàn)。由移動(dòng)OS130提供的移動(dòng)計(jì)算體驗(yàn)通常包括移動(dòng)電話能力和適合于包括顯示器116和一個(gè)或多個(gè)I/O設(shè)備118的移動(dòng)環(huán)境的圖形用戶界面(“GUI”)。例如,顯示器116可以是觸摸屏顯示器并且可以通過(guò)觸摸屏顯示器116上的移動(dòng)OS130的GUI來(lái)控制在移動(dòng)OS130上運(yùn)行的應(yīng)用程序(即,“應(yīng)用”)。移動(dòng)計(jì)算設(shè)備110可以通過(guò)端口120連接到I/O設(shè)備114、146和/或148。I/O設(shè)備144、146和/或148可以組成第二終端環(huán)境140。在某些情況中,與移動(dòng)OS130相比,第二終端環(huán)境140可能更適合于桌面OS160。例如,第二終端環(huán)境140可以包括鍵盤144、指點(diǎn)設(shè)備146、和顯示器設(shè)備148。在這些情況中,桌面OS160可以與第二終端環(huán)境140相關(guān)聯(lián)以便通過(guò)第二終端環(huán)境140提供筆記本或桌面計(jì)算機(jī)環(huán)境的完整能力。在其他情況中,與桌面OS160相比,第二終端環(huán)境140可能更適合于移動(dòng)OS130。例如,第二終端環(huán)境140可以包括觸摸屏顯示器。在這些情況中,移動(dòng)OS130可以與第二終端環(huán)境140相關(guān)聯(lián)。在圖1中,端口120被示出為通過(guò)接口122連接到第二終端環(huán)境140的端口142。然而,端口120可以包括通過(guò)接口122到每個(gè)I/O設(shè)備144、146和148的單獨(dú)的連接。接口122可以是用于連接例如鍵盤、監(jiān)視器、指點(diǎn)設(shè)備等的設(shè)備的任何合適的有線或無(wú)線接口或者有線和無(wú)線接口的組合。例如,接口122可以是顯示接口(例如,VGA、DVI、HDMI等)和設(shè)備通信接口(例如,USB、藍(lán)牙、火線、其他串行通信接口等)的組合??商鎿Q地,接口122可以是支持視頻和設(shè)備通信信號(hào)(例如,雷電接口等)兩者的單個(gè)通信接口。傳統(tǒng)上,因?yàn)椴煌氖褂媚P秃蛯?duì)于產(chǎn)品設(shè)計(jì)的競(jìng)爭(zhēng)約束,手機(jī)環(huán)境和PC環(huán)境的硬件和軟件開(kāi)發(fā)路徑已經(jīng)完全獨(dú)立。包括桌面和筆記本計(jì)算機(jī)的PC被設(shè)計(jì)為靈活的和強(qiáng)大的。具體地,PC硬件架構(gòu)通常基于通過(guò)主板上的各種通用接口連接到存儲(chǔ)器、圖形組件和外部組件的通用PC處理器。例如,個(gè)人計(jì)算機(jī)主板可以包括通過(guò)邏輯芯片組連接到圖形處理器的處理器、系統(tǒng)存儲(chǔ)器(例如,RAM)、和通過(guò)通信接口(PCI、USB、ISA、IDE等)的各種其他組件。一些更高度集成的PC處理器包括處理器上的到圖形處理器(例如,AGP等)的接口和/或到系統(tǒng)存儲(chǔ)器(例如,SDR、DDR、DDR2、DDR3、DRDRAM等)的接口。對(duì)高處理器時(shí)鐘速度和計(jì)算密集型任務(wù)優(yōu)化PC處理器。目前由基于x86CPU架構(gòu)的處理器主導(dǎo)個(gè)人計(jì)算機(jī)市場(chǎng)。用于桌面計(jì)算機(jī)的當(dāng)前的基于x86的PC處理器具有多個(gè)64位中央處理單元(“CPU”)(或“核”),所述中央處理單元具有超過(guò)2.5GHz的時(shí)鐘速度和接近100瓦特的功耗。用于筆記本計(jì)算機(jī)的當(dāng)前的基于x86的PC處理器通常以高達(dá)2.0GHz的時(shí)鐘速度運(yùn)行并且具有在15-45瓦特范圍中的功耗。因?yàn)檫@些處理器的大功耗,桌面和筆記本計(jì)算機(jī)可能需要例如風(fēng)扇或散熱器的冷卻設(shè)備以便從處理器消除浪費(fèi)的熱量。此外,使用基于x86的PC處理器的筆記本計(jì)算機(jī)的電池壽命通常小于四小時(shí)。相反,為了低功耗和高集成度而優(yōu)化用于手機(jī)的移動(dòng)處理器以便減少手機(jī)的整體大小。例如,諸如智能電話的手機(jī)的移動(dòng)處理器通常以低于2.0GHz的時(shí)鐘速度運(yùn)行,具有低于1瓦特的功耗,并且集成對(duì)移動(dòng)環(huán)境常見(jiàn)的功能,例如圖像控制器、通信接口、和相機(jī)控制器。最常見(jiàn)的移動(dòng)處理器架構(gòu)是精簡(jiǎn)指令集計(jì)算(“RISC”)處理器架構(gòu)。具體地,“ARM”移動(dòng)處理器架構(gòu)是當(dāng)前為智能電話和其他超便攜和低功耗計(jì)算設(shè)備設(shè)計(jì)的移動(dòng)處理器的主要架構(gòu)。一些PC處理器制造商也將為了在筆記本計(jì)算機(jī)中使用而設(shè)計(jì)的PC處理器稱為“移動(dòng)處理器”。然而,如在這里使用的,術(shù)語(yǔ)“移動(dòng)處理器”指代適合于在手機(jī)或智能電話中使用的、通常消耗小于1瓦特并且集成移動(dòng)功能的處理器。個(gè)人計(jì)算機(jī)和手機(jī)通常也具有不同的系統(tǒng)資源、輸入/輸出(“I/O”)設(shè)備、和外圍設(shè)備。例如,桌面和筆記本計(jì)算機(jī)通常具有比手機(jī)更大量的系統(tǒng)存儲(chǔ)器和貯存能力。雖然典型的筆記本計(jì)算機(jī)可以具有大于2GB的RAM和具有大于250GB的容量的硬驅(qū)動(dòng)器,但是手機(jī)通常具有小于512MB的RAM和具有小于32GB的容量的固態(tài)驅(qū)動(dòng)器。個(gè)人計(jì)算機(jī)的用戶接口組件通常包括對(duì)角線大于9英寸的顯示屏、全鍵盤、和一個(gè)或多個(gè)指點(diǎn)設(shè)備以用于用戶輸入。相反,手機(jī)通常包括對(duì)角線小于7英寸的顯示屏以及例如拇指式QWERTY鍵盤、觸摸屏顯示器、點(diǎn)擊輪、和/或滾動(dòng)輪的用戶接口組件。在個(gè)人計(jì)算機(jī)上發(fā)現(xiàn)的外圍設(shè)備通常包括光盤驅(qū)動(dòng)器(例如,CD、DVD、DVD-RW等)、擴(kuò)展端口(例如,PCMCIA、SCSI、快速卡等)、視頻輸出端口(例如,VGA、DVI、HDMI等)、以及通用設(shè)備端口(例如,USB等)。相反,手機(jī)通常不具有光盤驅(qū)動(dòng)器或擴(kuò)展端口。然而,其他設(shè)備通常被集成到手機(jī)中,包括一個(gè)或多個(gè)無(wú)線通信接口(例如,GSM、CDMA、LTE、EDGE、WiFi、WiMax等)、GPS芯片組、加速度計(jì)、一個(gè)或多個(gè)相機(jī)、和/或固態(tài)存儲(chǔ)器端口(SD、記憶棒等)。傳統(tǒng)上還獨(dú)立開(kāi)發(fā)用于個(gè)人計(jì)算機(jī)和手機(jī)的軟件。例如,包括桌面和筆記本計(jì)算機(jī)的個(gè)人計(jì)算機(jī)通常運(yùn)行與移動(dòng)設(shè)備不同的操作系統(tǒng)。操作系統(tǒng)是管理計(jì)算機(jī)硬件和資源并且提供用于在計(jì)算機(jī)硬件上執(zhí)行應(yīng)用軟件的常見(jiàn)服務(wù)的軟件。操作系統(tǒng)通常被描述為具有各種抽象層,其中每個(gè)層通過(guò)接口與下面的層連接。通常,操作系統(tǒng)的內(nèi)核是指管理例如一個(gè)或多個(gè)CPU(CPU調(diào)度)、存儲(chǔ)器、和I/O(包括外圍設(shè)備和文件系統(tǒng)訪問(wèn))的計(jì)算設(shè)備資源的核心OS層。內(nèi)核通常將提供用于進(jìn)程的低級(jí)調(diào)度(調(diào)遣)、進(jìn)程間通信、進(jìn)程同步、上下文切換、進(jìn)程控制塊的操縱、中斷處理、進(jìn)程創(chuàng)建和銷毀、以及進(jìn)程暫停和恢復(fù)的特征。OS內(nèi)核可以或可以不包括設(shè)備驅(qū)動(dòng)程序(driver)。OS的其他層通過(guò)系統(tǒng)調(diào)用或應(yīng)用編程接口(“API”)層與內(nèi)核連接。通常,其他OS層包括庫(kù)層、應(yīng)用框架層、和應(yīng)用層。庫(kù)層通常包括系統(tǒng)庫(kù)和其他用戶庫(kù)。應(yīng)用框架層包括服務(wù)、管理器、和運(yùn)行時(shí)環(huán)境。應(yīng)用層包括用戶應(yīng)用,所述用戶應(yīng)用可以在應(yīng)用框架層的運(yùn)行時(shí)環(huán)境內(nèi)運(yùn)行。用戶通過(guò)OSGUI與OS交互。GUI提供用戶選擇以便控制和使用在OS上運(yùn)行的應(yīng)用的菜單、按鈕、和控件。通常,術(shù)語(yǔ)“桌面環(huán)境”被用于指代GUI的類型,通過(guò)所述GUI,用戶使用圖標(biāo)、窗口、工具欄、文件夾、和/或桌面小工具與OS交互,并且所述“桌面環(huán)境”不限于桌面OS。例如,移動(dòng)OS可以具有指代移動(dòng)OSGUI的外觀和感覺(jué)的桌面環(huán)境。用于個(gè)人計(jì)算機(jī)的操作系統(tǒng)(桌面OS)被設(shè)計(jì)用于多任務(wù)、較大屏幕面積、并且為應(yīng)用開(kāi)發(fā)者提供靈活的環(huán)境。如在這里使用的,術(shù)語(yǔ)桌面OS指代被設(shè)計(jì)用于與例如桌面或筆記本計(jì)算機(jī)使用環(huán)境的個(gè)人計(jì)算機(jī)環(huán)境一起使用的操作系統(tǒng)。除了許多其他的示例以外,桌面OS的示例包括Linux、MacOSX、和Windows7的各種發(fā)行版。用于移動(dòng)設(shè)備的操作系統(tǒng)(移動(dòng)OS)被開(kāi)發(fā)用于通常在手機(jī)和智能電話上發(fā)現(xiàn)的較小的屏幕面積、較低的處理能力、較小的存儲(chǔ)器、和較小的盤空間。示例移動(dòng)OS包括Android、蘋果的iOS(用于iPhone和iPad)、微軟的WindowsMobile(由WindowsPhone7取代)、諾基亞的Symbian、和Palm的PalmOS(由HPwebOS取代)。如在這里使用的,術(shù)語(yǔ)移動(dòng)OS指代被設(shè)計(jì)用于與移動(dòng)環(huán)境一起使用的操作系統(tǒng),所述移動(dòng)環(huán)境包括利用與PC環(huán)境(即,桌面或筆記本計(jì)算機(jī)系統(tǒng))相比減少的系統(tǒng)資源在低功率處理器上運(yùn)行。移動(dòng)操作系統(tǒng)通常具有被用于創(chuàng)建在移動(dòng)OS上運(yùn)行的應(yīng)用程序(即,“應(yīng)用”)的特定應(yīng)用開(kāi)發(fā)環(huán)境。應(yīng)用開(kāi)發(fā)環(huán)境通過(guò)提供用于訪問(wèn)系統(tǒng)資源和服務(wù)的常用工具和API來(lái)便利應(yīng)用開(kāi)發(fā),并且限制允許應(yīng)用做什么,使得移動(dòng)設(shè)備能夠繼續(xù)提供其他需要的功能。例如,到來(lái)的電話呼叫和文本(text)可以中斷正在運(yùn)行的應(yīng)用以便向用戶通知該到來(lái)的呼叫或文本。最廣泛采用的移動(dòng)OS是谷歌的Android。雖然Android基于Linux,其包括為了移動(dòng)環(huán)境和移動(dòng)處理器而對(duì)內(nèi)核和其他OS層進(jìn)行的修改。具體地,雖然Linux內(nèi)核被設(shè)計(jì)用于x86CPU架構(gòu),但是Android內(nèi)核被修改以用于基于ARM的移動(dòng)處理器。還為除了其他設(shè)備以外的包括觸摸屏、移動(dòng)連接(GSM/EDGE、CDMA、Wi-Fi等)、電池管理、GPS、加速度計(jì)、和相機(jī)模塊的通常在移動(dòng)硬件架構(gòu)中存在的設(shè)備特別定制Android設(shè)備驅(qū)動(dòng)程序。在Android中,應(yīng)用在具體為移動(dòng)硬件架構(gòu)的存儲(chǔ)器和處理器速度限制設(shè)計(jì)的面向?qū)ο蟮膽?yīng)用框架上的Dalvik虛擬機(jī)內(nèi)運(yùn)行。通過(guò)AndroidSDK開(kāi)發(fā)用于Dalvik虛擬機(jī)的應(yīng)用。此外,Android不具有原生X視窗系統(tǒng),其也不支持標(biāo)準(zhǔn)GNU庫(kù)的完整集,這使得難以將現(xiàn)有GNU/Linux應(yīng)用或庫(kù)移置(port)到Android。類似地修改蘋果的iOS操作系統(tǒng)(在iPhone上運(yùn)行)和微軟的WindowsPhone7以用于移動(dòng)環(huán)境和移動(dòng)硬件架構(gòu)。例如,雖然iOS源自MacOSX桌面OS,常見(jiàn)的MacOSX應(yīng)用不能在iOS上原生地運(yùn)行。具體地,通過(guò)SDK為iOS開(kāi)發(fā)應(yīng)用以便在iOS的“CocoaTouch”運(yùn)行時(shí)環(huán)境內(nèi)運(yùn)行所述應(yīng)用,所述iOS的“CocoaTouch”運(yùn)行時(shí)環(huán)境提供基本應(yīng)用體系結(jié)構(gòu)并且對(duì)例如基于觸摸的輸入、推送通知、和系統(tǒng)服務(wù)的重要iOS特征的支持。因此,在沒(méi)有通過(guò)iOSSDK移植為MacOSX寫的應(yīng)用的情況下,所述應(yīng)用不能在iOS上運(yùn)行。此外,因?yàn)閮蓚€(gè)OS的用戶庫(kù)和應(yīng)用框架層之間的不同,以及移動(dòng)和桌面硬件的系統(tǒng)資源的不同,可能難以將MacOSX應(yīng)用移植到iOS。因?yàn)樘幚硇枨?、系統(tǒng)資源、和應(yīng)用開(kāi)發(fā)上的不同,為桌面OS開(kāi)發(fā)的應(yīng)用通常不能在移動(dòng)OS上運(yùn)行。此外,因?yàn)獒槍?duì)較大的屏幕面積、更快的處理速度、更大的系統(tǒng)存儲(chǔ)器、不同的庫(kù)、以及通常不同的GUI而優(yōu)化桌面應(yīng)用,所以桌面應(yīng)用可能不易移植到移動(dòng)OS。作為結(jié)果,對(duì)于每個(gè)用戶環(huán)境,用戶通常使用單獨(dú)的計(jì)算設(shè)備,包括智能電話、平板計(jì)算機(jī)、筆記本計(jì)算機(jī)、和/或桌面計(jì)算機(jī)。在這種情況中,每個(gè)設(shè)備具有其自己的CPU、存儲(chǔ)器、文件貯存器、和OS。智能電話和其他設(shè)備之間的連接和文件共享涉及將一個(gè)設(shè)備(例如,運(yùn)行移動(dòng)OS的智能電話)通過(guò)無(wú)線或有線連接而鏈接到第二個(gè)完全不同的設(shè)備(例如,運(yùn)行桌面OS的筆記本計(jì)算機(jī)、桌面計(jì)算機(jī)、或平板計(jì)算機(jī))。通過(guò)在每個(gè)設(shè)備上單獨(dú)運(yùn)行的應(yīng)用之間同步數(shù)據(jù)而在設(shè)備間共享信息。通常被稱為“同步”的這個(gè)過(guò)程是麻煩的并且通常需要由用戶主動(dòng)管理。近年來(lái),已經(jīng)做出了一些嘗試來(lái)利用單個(gè)移動(dòng)計(jì)算設(shè)備提供更完整的用戶體驗(yàn)。例如,智能電話可以連接到外部監(jiān)視器和輸入設(shè)備,例如全鍵盤,以便提供更類似于桌面的用戶體驗(yàn),其中移動(dòng)OS圖形用戶界面被擴(kuò)展到更大的屏幕并且接受來(lái)自輸入設(shè)備的輸入。然而,因?yàn)橥獠勘O(jiān)視器和輸入設(shè)備只是智能電話的操作系統(tǒng)和用戶界面的擴(kuò)展,所對(duì)接的環(huán)境的能力受到智能電話的移動(dòng)OS限制。例如,在桌面OS上可用的很多軟件應(yīng)用在移動(dòng)OS上不可用或具有有限的功能。因此,這些設(shè)備在被連接到外部環(huán)境時(shí)不提供完整的桌面用戶體驗(yàn)。仍然參考圖1,計(jì)算環(huán)境100提供沒(méi)有上面的限制的多個(gè)用戶計(jì)算體驗(yàn)。具體地,因?yàn)橐苿?dòng)計(jì)算設(shè)備110包括多個(gè)OS,其中每個(gè)OS適合于特定的計(jì)算環(huán)境,移動(dòng)計(jì)算設(shè)備110可以與外部設(shè)備適配以便利用單個(gè)移動(dòng)計(jì)算設(shè)備提供范圍廣泛的用戶體驗(yàn)。例如,用戶可以具有移動(dòng)計(jì)算設(shè)備110和當(dāng)連接到移動(dòng)計(jì)算設(shè)備110時(shí)提供筆記本計(jì)算機(jī)的用戶體驗(yàn)的第二終端環(huán)境140。在這種情況中,當(dāng)?shù)诙K端環(huán)境連接到移動(dòng)計(jì)算設(shè)備110時(shí),移動(dòng)計(jì)算設(shè)備的桌面OS160與第二終端環(huán)境140相關(guān)聯(lián)。對(duì)于用戶,通過(guò)第二終端環(huán)境140,可以獲得桌面OS160的完整能力。圖2圖示根據(jù)各種實(shí)施例的移動(dòng)計(jì)算設(shè)備110的示例硬件系統(tǒng)架構(gòu)。移動(dòng)計(jì)算設(shè)備硬件112包括移動(dòng)處理器114,所述移動(dòng)處理器114包括一個(gè)或多個(gè)CPU核204和外部顯示器接口220。通常,移動(dòng)計(jì)算設(shè)備硬件112還包括通過(guò)各種通信信號(hào)和接口連接到處理器114的一個(gè)或多個(gè)I/O設(shè)備118、存儲(chǔ)器206、一個(gè)或多個(gè)貯存設(shè)備208、連接到觸摸屏顯示器116的觸摸屏顯示器控制器210、連接到電池216的電源管理IC214、蜂窩調(diào)制解調(diào)器218、一個(gè)或多個(gè)通信設(shè)備222、和/或一個(gè)或多個(gè)其他設(shè)備224。一個(gè)或多個(gè)I/O設(shè)備118通常包括可以在移動(dòng)計(jì)算設(shè)備110中使用的按鈕和其他用戶接口組件。例如,一個(gè)或多個(gè)I/O設(shè)備118可以包括一組按鈕(例如,后退、菜單、主頁(yè)、搜索等)、屏幕外手勢(shì)區(qū)域(off-screengesturearea)、點(diǎn)擊輪、滾動(dòng)輪、QWERTY鍵盤等。一個(gè)或多個(gè)其他設(shè)備224可以包括例如GPS設(shè)備、LAN連接、麥克風(fēng)、揚(yáng)聲器、相機(jī)、加速度計(jì)、和/或MS/MMC/SD/SDIO卡接口。外部顯示器接口220可以是任何合適的顯示接口(例如,VGA、DVI、HDMI等)。處理器114可以是基于ARM的移動(dòng)處理器。在實(shí)施例中,移動(dòng)處理器114是移動(dòng)的基于ARM的處理器,例如德州儀器OMAP3430、MarvellPXA320、飛思卡爾iMX51、或高通QSD8650/8250。然而,移動(dòng)處理器114可以是另一合適的基于ARM的移動(dòng)處理器或基于其他處理器架構(gòu)的處理器,所述其他處理器架構(gòu)為例如諸如基于x86的處理器架構(gòu)或其他基于RISC的處理器架構(gòu)。雖然圖2圖示移動(dòng)計(jì)算設(shè)備110的一個(gè)示例硬件實(shí)施方式112,但其他架構(gòu)被設(shè)想為在本發(fā)明的范圍內(nèi)。例如,在圖2中被示出為位于移動(dòng)處理器114外部的各種組件可以被集成到移動(dòng)處理器114中??蛇x地,在圖2中被示出為集成到移動(dòng)處理器114中的外部顯示器接口220可以位于移動(dòng)處理器114的外部。此外,使用系統(tǒng)總線、分立的圖形處理器、和/或其他架構(gòu)變化的其他計(jì)算機(jī)架構(gòu)適合于使用本發(fā)明的各方面。圖3圖示根據(jù)各種實(shí)施例的可以被用于在移動(dòng)計(jì)算設(shè)備110上并發(fā)地運(yùn)行移動(dòng)OS130和桌面OS160的OS架構(gòu)300。如圖3中所示,移動(dòng)OS130和桌面OS160是獨(dú)立的操作系統(tǒng)。具體地,移動(dòng)OS130和桌面OS160可以具有獨(dú)立的和不兼容的用戶庫(kù)和/或框架層。用于OS架構(gòu)300的功能(function)和指令可以在移動(dòng)計(jì)算設(shè)備110的有形的計(jì)算機(jī)可讀介質(zhì)上被存儲(chǔ)為計(jì)算機(jī)程序代碼。例如,可以在移動(dòng)計(jì)算設(shè)備硬件112的一個(gè)或多個(gè)貯存設(shè)備208中存儲(chǔ)用于OS架構(gòu)300的指令。如圖3中所示,移動(dòng)OS130具有庫(kù)層330、應(yīng)用框架層340、和應(yīng)用層350。在移動(dòng)OS130中,應(yīng)用352和354在由移動(dòng)OS130的應(yīng)用框架層340支持的應(yīng)用層350中運(yùn)行。應(yīng)用框架層340包括由在移動(dòng)OS130上運(yùn)行的應(yīng)用使用的一個(gè)或多個(gè)管理器342和一個(gè)或多個(gè)服務(wù)344。例如,應(yīng)用框架層340可以包括用于移動(dòng)環(huán)境的窗口管理器、活動(dòng)管理器、分組管理器、資源管理器、電話管理器、手勢(shì)控制器、和/或其他管理器和服務(wù)。應(yīng)用框架層340可以包括執(zhí)行為移動(dòng)OS130開(kāi)發(fā)的應(yīng)用的移動(dòng)應(yīng)用運(yùn)行時(shí)環(huán)境??梢葬槍?duì)例如較低的處理能力或有限的存儲(chǔ)器空間的移動(dòng)計(jì)算資源優(yōu)化移動(dòng)應(yīng)用運(yùn)行時(shí)環(huán)境。移動(dòng)應(yīng)用運(yùn)行時(shí)環(huán)境可以依賴內(nèi)核以進(jìn)行進(jìn)程隔離、存儲(chǔ)器管理、和線程支持。庫(kù)層330包括實(shí)施例如I/O和串操縱的常用功能的用戶庫(kù)332(“標(biāo)準(zhǔn)C庫(kù)”)、圖形庫(kù)、數(shù)據(jù)庫(kù)庫(kù)、通信庫(kù)、和/或其他庫(kù)。如圖3中所示,桌面OS160具有庫(kù)層360、框架層370、和應(yīng)用層380。在桌面OS160中,應(yīng)用382和384在由桌面OS160的應(yīng)用框架層370支持的應(yīng)用層380中運(yùn)行。應(yīng)用框架層370包括由在桌面OS160上運(yùn)行的應(yīng)用使用的一個(gè)或多個(gè)管理器372和一個(gè)或多個(gè)服務(wù)374。例如,應(yīng)用框架層370可以包括常見(jiàn)于桌面環(huán)境的窗口管理器、活動(dòng)管理器、分組管理器、資源管理器、和/或其他管理器和服務(wù)。庫(kù)層360可以包括實(shí)施例如I/O和串操縱的常用功能的用戶庫(kù)332(“標(biāo)準(zhǔn)C庫(kù)”)、圖形庫(kù)、數(shù)據(jù)庫(kù)庫(kù)、通信庫(kù)、和/或其他庫(kù)。在本公開(kāi)的各種實(shí)施例中,桌面OS160在與移動(dòng)OS130分開(kāi)的執(zhí)行環(huán)境中運(yùn)行。例如,移動(dòng)OS130可以在根執(zhí)行環(huán)境中運(yùn)行,并且桌面OS160可以在根執(zhí)行環(huán)境下面建立的第二執(zhí)行環(huán)境中運(yùn)行。在移動(dòng)OS130上運(yùn)行的進(jìn)程和應(yīng)用訪問(wèn)在根執(zhí)行環(huán)境中的用戶庫(kù)332、一個(gè)或多個(gè)管理器342、和一個(gè)或多個(gè)服務(wù)344。在桌面OS160上運(yùn)行的進(jìn)程和應(yīng)用訪問(wèn)在第二執(zhí)行環(huán)境中的用戶庫(kù)362、一個(gè)或多個(gè)管理器372、和一個(gè)或多個(gè)服務(wù)374。通常,為移動(dòng)OS130開(kāi)發(fā)的應(yīng)用不能直接在桌面OS160上運(yùn)行,并且為桌面OS160開(kāi)發(fā)的應(yīng)用不能直接在移動(dòng)OS130上運(yùn)行。例如,在桌面OS160的應(yīng)用層380中運(yùn)行的應(yīng)用382可能與移動(dòng)OS130不兼容,意味著應(yīng)用382不能在移動(dòng)OS130上運(yùn)行。具體地,應(yīng)用382可能使用桌面OS160的應(yīng)用框架層370的一個(gè)或多個(gè)管理器372或一個(gè)或多個(gè)服務(wù)374,它們?cè)谝苿?dòng)OS130中的應(yīng)用框架層340中不可用或與移動(dòng)OS130中的應(yīng)用框架層340中的一個(gè)或多個(gè)管理器342和一個(gè)或多個(gè)服務(wù)344不兼容。此外,應(yīng)用382可能試圖訪問(wèn)用戶庫(kù)362,所述用戶庫(kù)362存在于桌面OS160的庫(kù)層360中,但在移動(dòng)OS130的庫(kù)層330中不可用或與移動(dòng)OS130的庫(kù)層330中可用的用戶庫(kù)332不兼容。在OS架構(gòu)300中,移動(dòng)OS130和桌面OS160在共享內(nèi)核320上并發(fā)運(yùn)行。這意味著移動(dòng)OS130和桌面OS160同時(shí)在共享內(nèi)核320上運(yùn)行。具體地,移動(dòng)OS130和桌面OS160都經(jīng)由相同的內(nèi)核接口322、例如通過(guò)對(duì)共享內(nèi)核320進(jìn)行系統(tǒng)調(diào)用連接到共享內(nèi)核320。共享內(nèi)核320管理對(duì)于移動(dòng)OS130和桌面OS160兩者的進(jìn)程的任務(wù)調(diào)度。在這方面,移動(dòng)OS130和桌面OS160在共享內(nèi)核320上獨(dú)立和并發(fā)地運(yùn)行。此外,如由硬件接口312所示,共享內(nèi)核320直接在移動(dòng)計(jì)算設(shè)備硬件112的移動(dòng)處理器114上運(yùn)行。具體地,共享內(nèi)核320直接管理移動(dòng)計(jì)算設(shè)備硬件112的計(jì)算資源,例如CPU調(diào)度、存儲(chǔ)器訪問(wèn)、和I/O。在這方面,硬件資源沒(méi)有被虛擬化,意味著移動(dòng)OS130和桌面OS160在沒(méi)有虛擬化的存儲(chǔ)器或I/O訪問(wèn)的情況下通過(guò)內(nèi)核接口322進(jìn)行系統(tǒng)調(diào)用。存在用于在相同的計(jì)算設(shè)備上提供多個(gè)OS的幾個(gè)已知的技術(shù)。然而,這些技術(shù)都沒(méi)有提供在共享內(nèi)核上并發(fā)并獨(dú)立地運(yùn)行的多個(gè)不同的OS。更具體地,這些技術(shù)都沒(méi)有提供用于在共享內(nèi)核上運(yùn)行的移動(dòng)OS和桌面OS的解決方案。在一個(gè)被稱為雙重引導(dǎo)的技術(shù)中,在計(jì)算設(shè)備上加載多個(gè)OS,一次一個(gè)。例如,在引導(dǎo)時(shí),用戶可以從多個(gè)可用OS中選擇一個(gè)OS以便在設(shè)備上運(yùn)行,其中每個(gè)OS具有其自己的內(nèi)核、庫(kù)、框架、和應(yīng)用。然后,系統(tǒng)引導(dǎo)到該操作系統(tǒng)中并且其他一個(gè)或多個(gè)OS沒(méi)有運(yùn)行(即,沒(méi)有與運(yùn)行的OS并發(fā)地加載一個(gè)或多個(gè)其他OS的進(jìn)程)。因此,這個(gè)技術(shù)沒(méi)有在共享內(nèi)核上運(yùn)行多個(gè)OS,這個(gè)技術(shù)也沒(méi)有并發(fā)地運(yùn)行多個(gè)OS。用于在相同的設(shè)備上運(yùn)行多個(gè)OS的另一技術(shù)是使用虛擬機(jī)管理器(“VMM”)、或“管理程序(Hypervisor)”。VMM或管理程序直接在硬件上運(yùn)行并且將每個(gè)OS的各個(gè)內(nèi)核與硬件分開(kāi),在任何給定時(shí)間控制哪些計(jì)算機(jī)硬件資源對(duì)每個(gè)OS是可用的。管理程序有效地從一個(gè)設(shè)備創(chuàng)建多個(gè)虛擬機(jī),使得每個(gè)OS看見(jiàn)單獨(dú)的虛擬機(jī)。因此,通過(guò)管理程序和VMM在相同的設(shè)備上運(yùn)行的多個(gè)OS沒(méi)有在共享內(nèi)核上運(yùn)行。由于每個(gè)OS不得不通過(guò)管理程序中的虛擬化來(lái)訪問(wèn)系統(tǒng)資源,管理程序增加了系統(tǒng)開(kāi)銷。此外,因?yàn)楣芾沓绦虮仨毞峙銫PU和其他計(jì)算資源,每個(gè)OS可能不能夠有效地調(diào)度進(jìn)程和任務(wù)。用于在相同設(shè)備上運(yùn)行多個(gè)OS的再一技術(shù)是使用托管的(hosted)虛擬機(jī)。在這個(gè)技術(shù)中,每個(gè)OS具有其自己的內(nèi)核,其中客人OS的內(nèi)核在主機(jī)OS中的虛擬機(jī)上運(yùn)行。虛擬機(jī)可以是與物理硬件平臺(tái)不同的虛擬化硬件平臺(tái)??梢栽谥鳈C(jī)OS的內(nèi)核中實(shí)施主機(jī)OS中的虛擬機(jī)。在這種情況中,主機(jī)OS的內(nèi)核用作客人OS的內(nèi)核借以訪問(wèn)處理器和硬件資源的管理程序。不管在這個(gè)技術(shù)中在哪里實(shí)施虛擬機(jī),主機(jī)OS和客人OS都具有分開(kāi)的內(nèi)核。因此,托管的虛擬機(jī)不具有在共享內(nèi)核上運(yùn)行的多個(gè)OS。由于對(duì)于客人OS的硬件資源的虛擬化,使用這個(gè)技術(shù)的系統(tǒng)性能可能降低。虛擬化的另一形式是操作系統(tǒng)級(jí)虛擬化。在這個(gè)技術(shù)中,在操作系統(tǒng)的內(nèi)核上可以創(chuàng)建多個(gè)隔離的用戶空間實(shí)例,從每個(gè)用戶空間實(shí)例的用戶的觀點(diǎn)來(lái)看,所述多個(gè)隔離的用戶空間實(shí)例像分開(kāi)的OS實(shí)例。在這個(gè)技術(shù)中,主機(jī)OS和一個(gè)或多個(gè)客人OS必須是相同的OS。因此,這個(gè)技術(shù)沒(méi)有提供移動(dòng)OS和桌面OS在共享內(nèi)核上獨(dú)立和并發(fā)地運(yùn)行的解決方案。此外,類似于托管的虛擬機(jī),這個(gè)技術(shù)對(duì)于一個(gè)或多個(gè)客人OS使用盤空間和存儲(chǔ)器虛擬化。因此,這個(gè)技術(shù)沒(méi)有為每個(gè)并行OS提供對(duì)存儲(chǔ)器和系統(tǒng)資源的直接訪問(wèn)。運(yùn)行多個(gè)OS的這些技術(shù)在并發(fā)并獨(dú)立地運(yùn)行兩個(gè)操作系統(tǒng)的方面有局限性。例如,虛擬化涉及為客人OS設(shè)置不同的地址空間,并且模擬到客人OS的I/O。因此,對(duì)于使用虛擬化的客人OS,對(duì)包括系統(tǒng)存儲(chǔ)器的硬件的訪問(wèn)具有較高的開(kāi)銷。此外,使用管理程序的技術(shù)導(dǎo)致在每個(gè)OS的進(jìn)程控制方面缺乏確定性。具體地,管理程序管理分配到每個(gè)OS的CPU時(shí)間量,然后每個(gè)OS在不知道在其他OS中正在發(fā)生什么的情況下為該OS內(nèi)的進(jìn)程分配CPU時(shí)間。在這方面,因?yàn)镺S通過(guò)管理程序共享CPU時(shí)間,這無(wú)法解決在每個(gè)OS內(nèi)運(yùn)行的進(jìn)程的相對(duì)優(yōu)先級(jí),所以可能沒(méi)有給予一個(gè)OS內(nèi)的高優(yōu)先級(jí)進(jìn)程所需的CPU時(shí)間來(lái)完成它們的任務(wù)。因?yàn)橄鄬?duì)于桌面處理器架構(gòu),在移動(dòng)處理器架構(gòu)中處理能力可能是有限的,所以依賴于包括管理程序和操作系統(tǒng)級(jí)虛擬化的虛擬化的技術(shù)不能為在移動(dòng)處理器上與移動(dòng)OS并發(fā)地運(yùn)行的桌面OS提供最優(yōu)的性能。在一個(gè)符合OS架構(gòu)300的實(shí)施例中,Android移動(dòng)OS和完整的LinuxOS在修改后的Android內(nèi)核上獨(dú)立和并發(fā)地運(yùn)行。在這個(gè)實(shí)施例中,AndroidOS可以是修改后的Android發(fā)行版(distribution),而LinuxOS(“Hydroid”)是修改后的DebianLinux桌面OS。圖4-6更詳細(xì)地圖示可以在OS架構(gòu)300中使用的Android移動(dòng)OS430、Android內(nèi)核520、和HydroidOS660。如圖4中所示,AndroidOS430在通過(guò)應(yīng)用框架層440訪問(wèn)的庫(kù)層432中包括一組C/C++庫(kù)。庫(kù)層432包括專門為Android開(kāi)發(fā)以便比“glibc”LinuxC-庫(kù)更小和更快的“bionic”系統(tǒng)C庫(kù)439。庫(kù)層432還包括進(jìn)程間通信(“IPC”)庫(kù)436,其包括用于AndroidOS的“綁定器(Binder)”IPC機(jī)制的基類。綁定器專門為Android開(kāi)發(fā)以便允許進(jìn)程和服務(wù)之間的通信。在圖4中的庫(kù)層432中示出的其他庫(kù)包括支持媒體格式的記錄和重放的媒體庫(kù)435、管理對(duì)顯示子系統(tǒng)的訪問(wèn)并且合成來(lái)自多個(gè)應(yīng)用的圖形層的表面管理器434、2D和3D圖形引擎438、以及輕量級(jí)關(guān)系數(shù)據(jù)庫(kù)引擎437??梢栽趲?kù)層432中包括但沒(méi)有在圖4中畫出的其他庫(kù)包括位圖和矢量字體呈現(xiàn)庫(kù)、實(shí)用程序庫(kù)、瀏覽器工具(即,WebKit等)、和/或安全通信庫(kù)(即,SSL等)。AndroidOS430的應(yīng)用框架層440提供允許開(kāi)發(fā)者使用設(shè)備硬件的組件、訪問(wèn)位置信息、運(yùn)行后臺(tái)服務(wù)、設(shè)置警報(bào)、向狀態(tài)欄增加通知等的開(kāi)發(fā)平臺(tái)。框架層440還允許應(yīng)用公開(kāi)它們的能力并且利用其他應(yīng)用所公開(kāi)的能力。Android移動(dòng)OS430的應(yīng)用框架層440的組件包括活動(dòng)管理器441、資源管理器442、窗口管理器443、對(duì)接管理器444、硬件和系統(tǒng)服務(wù)445、桌面監(jiān)視服務(wù)446、多顯示器管理器447、和遠(yuǎn)程通信服務(wù)448。在Android移動(dòng)OS430的框架層440中可以包括的其他組件除了其他管理器和服務(wù)之外,還包括視圖系統(tǒng)、電話管理器、分組管理器、位置管理器、和/或通知管理器。在AndroidOS430上運(yùn)行的應(yīng)用在Android面向?qū)ο髴?yīng)用框架之上的Android運(yùn)行時(shí)環(huán)境433中的Dalvik虛擬機(jī)431內(nèi)運(yùn)行。Dalvik虛擬機(jī)431是基于寄存器的虛擬機(jī),并且運(yùn)行被設(shè)計(jì)為減少存儲(chǔ)器使用和處理需求的緊湊的可執(zhí)行格式。在AndroidOS430上運(yùn)行的應(yīng)用包括主屏幕451、電子郵件應(yīng)用452、電話應(yīng)用453、瀏覽器應(yīng)用454、和/或一個(gè)或多個(gè)其他應(yīng)用(“一個(gè)或多個(gè)應(yīng)用程序”)455。因?yàn)檫@些原因,為Android寫的應(yīng)用通常不能在例如HydroidOS660的桌面Linux發(fā)行版上運(yùn)行,并且為標(biāo)準(zhǔn)Linux發(fā)行版寫的應(yīng)用通常不能在AndroidOS430上運(yùn)行。在這方面,用于AndroidOS430和HydroidOS660的應(yīng)用不是字節(jié)碼兼容的,意味著用于一個(gè)的編譯的和可執(zhí)行的程序不能在另一個(gè)上運(yùn)行。圖5更詳細(xì)地圖示根據(jù)各種實(shí)施例的修改后的Android內(nèi)核520。修改后的Android內(nèi)核520包括觸摸屏顯示器驅(qū)動(dòng)器(driver)521、一個(gè)或多個(gè)相機(jī)驅(qū)動(dòng)器522、一個(gè)或多個(gè)藍(lán)牙驅(qū)動(dòng)器523、共享存儲(chǔ)器分配器524、一個(gè)或多個(gè)IPC驅(qū)動(dòng)器525、一個(gè)或多個(gè)USB驅(qū)動(dòng)器526、一個(gè)或多個(gè)WiFi驅(qū)動(dòng)器527、一個(gè)或多個(gè)I/O設(shè)備驅(qū)動(dòng)器528、和/或電源管理模塊529。一個(gè)或多個(gè)I/O設(shè)備驅(qū)動(dòng)器528包括用于外部I/O設(shè)備的設(shè)備驅(qū)動(dòng)器,所述外部I/O設(shè)備包括可以通過(guò)端口120連接到移動(dòng)計(jì)算設(shè)備110的設(shè)備。修改后的Android內(nèi)核520可以包括其他驅(qū)動(dòng)器和功能塊,包括低存儲(chǔ)器消除器(killer)、內(nèi)核調(diào)試器、日志記錄能力、和/或其他硬件設(shè)備驅(qū)動(dòng)器。圖6更詳細(xì)地圖示根據(jù)各種實(shí)施例的HydroidOS660。Hydroid是能夠運(yùn)行為標(biāo)準(zhǔn)Linux發(fā)行版開(kāi)發(fā)的幾乎任何應(yīng)用的完整的LinuxOS。具體地,HydroidOS660的庫(kù)層662包括支持網(wǎng)絡(luò)連接、圖形處理、數(shù)據(jù)庫(kù)管理、和其他常用程序功能的Linux庫(kù)。例如,用戶庫(kù)662可以包括標(biāo)準(zhǔn)LinuxC庫(kù)(glibc)664、Linux圖形庫(kù)662(例如,GTK等)、Linux實(shí)用程序庫(kù)661、Linux數(shù)據(jù)庫(kù)庫(kù)、和/或其他Linux用戶庫(kù)。應(yīng)用在Hydroid上、在使用X-Server674、窗口管理器673、和/或桌面環(huán)境672的X-窗口Linux圖形環(huán)境內(nèi)運(yùn)行。圖示的應(yīng)用包括文字處理器681、電子郵件應(yīng)用682、電子表格應(yīng)用683、瀏覽器684、和一個(gè)或多個(gè)其他應(yīng)用685。在一個(gè)實(shí)施例中,HydroidOS660包括通過(guò)共享內(nèi)核520便利于與AndroidOS430通信的跨環(huán)境通信框架的組件。這些組件包括IPC庫(kù)663,所述IPC庫(kù)663包括AndroidOS的綁定器IPC機(jī)制和遠(yuǎn)程通信服務(wù)671的基類。在一個(gè)實(shí)施例中,HydroidOS660在Android根環(huán)境內(nèi)創(chuàng)建的改變根目錄的(利用“chroot”命令創(chuàng)建的)第二執(zhí)行環(huán)境內(nèi)運(yùn)行。HydroidOS660內(nèi)的進(jìn)程和應(yīng)用在第二執(zhí)行環(huán)境內(nèi)運(yùn)行,使得被這些進(jìn)程和應(yīng)用看見(jiàn)的可見(jiàn)的根目錄是第二執(zhí)行環(huán)境的根目錄。以這種方式,HydroidOS660可以在沒(méi)有修改的情況下運(yùn)行為標(biāo)準(zhǔn)Linux發(fā)行版寫的程序,因?yàn)長(zhǎng)inux用戶庫(kù)662對(duì)在改變根目錄的第二執(zhí)行環(huán)境中在HydroidOS660上運(yùn)行的進(jìn)程是可用的。圖7圖示可以被用于引導(dǎo)OS架構(gòu)300的組件的示例引導(dǎo)過(guò)程700。當(dāng)系統(tǒng)經(jīng)由硬件被通電時(shí),引導(dǎo)過(guò)程700在步驟702開(kāi)始。例如,用戶可以經(jīng)由開(kāi)關(guān)或按鈕接通移動(dòng)計(jì)算設(shè)備110。在步驟704,引導(dǎo)裝載程序被加載到存儲(chǔ)器(例如,RAM)中,其中從硬件或固件中傳遞引導(dǎo)自變量(argument)。在步驟706,引導(dǎo)裝載程序設(shè)置根文件系統(tǒng)。在步驟708,引導(dǎo)裝載程序配置存儲(chǔ)器和網(wǎng)絡(luò)支持。在這個(gè)步驟中,引導(dǎo)裝載程序還可以配置調(diào)制解調(diào)器支持、低存儲(chǔ)器保護(hù)和安全選項(xiàng)。在步驟710,引導(dǎo)裝載程序定位共享內(nèi)核320并且將其加載到存儲(chǔ)器,根據(jù)需要傳遞內(nèi)核自變量。引導(dǎo)裝載程序啟動(dòng)共享內(nèi)核320,在該點(diǎn)上共享內(nèi)核320接管引導(dǎo)過(guò)程的控制。在一個(gè)實(shí)施例中,共享內(nèi)核320是修改后的Android內(nèi)核520。在步驟712,共享內(nèi)核320初始化用于硬件設(shè)備的驅(qū)動(dòng)器。在這個(gè)步驟中,共享內(nèi)核320還可以初始化存儲(chǔ)器保護(hù)、虛擬存儲(chǔ)器模塊、和調(diào)度高速緩存。在步驟714,共享內(nèi)核320初始化移動(dòng)OS。在一個(gè)實(shí)施例中,共享內(nèi)核運(yùn)行用戶空間初始化進(jìn)程以便初始化AndroidOS430。初始化進(jìn)程讀取描述AndroidOS430的系統(tǒng)服務(wù)和附加系統(tǒng)參數(shù)的配置文件。在步驟716,啟動(dòng)移動(dòng)OS框架,這通常包括啟動(dòng)運(yùn)行時(shí)環(huán)境。在一個(gè)實(shí)施例中,通過(guò)初始化進(jìn)程運(yùn)行AndroidOS430的根進(jìn)程Zygote,并且該根進(jìn)程初始化Dalvik虛擬Java機(jī)運(yùn)行時(shí)環(huán)境。在步驟718,啟動(dòng)移動(dòng)OS的一個(gè)或多個(gè)服務(wù)344。移動(dòng)OS的一個(gè)或多個(gè)服務(wù)344通常包括電話服務(wù)、相機(jī)服務(wù)、GPS服務(wù)、和/或通信服務(wù)。在一個(gè)實(shí)施例中,Zygote啟動(dòng)AndroidOS430的主Android系統(tǒng)服務(wù)器,所述主Android系統(tǒng)服務(wù)器啟動(dòng)例如電話、相機(jī)、藍(lán)牙等的Android服務(wù)。在步驟720,初始化桌面OS。在一個(gè)實(shí)施例中,AndroidOS430的初始化進(jìn)程解析第二配置文件,并且執(zhí)行命令并且運(yùn)行在第二配置文件中配置的服務(wù)。在步驟722,在移動(dòng)OS中啟動(dòng)桌面監(jiān)視服務(wù),其啟動(dòng)和監(jiān)視桌面OS。在一個(gè)實(shí)施例中,在AndroidOS430中啟動(dòng)桌面監(jiān)視服務(wù)446。在步驟724,桌面監(jiān)視服務(wù)建立用于桌面OS的單獨(dú)的執(zhí)行環(huán)境。在一個(gè)實(shí)施例中,AndroidOS430的桌面監(jiān)視服務(wù)446使用Linuxchroot命令來(lái)設(shè)置HydroidOS660的根文件系統(tǒng)內(nèi)的單獨(dú)的執(zhí)行環(huán)境。桌面OS的單獨(dú)的執(zhí)行環(huán)境允許例如桌面OS具有與移動(dòng)OS不同的用戶庫(kù)。在一個(gè)實(shí)施例中,HydroidOS660的用戶庫(kù)662在AndroidOS430的用戶庫(kù)432的分開(kāi)的執(zhí)行環(huán)境中。具體地,每個(gè)OS中的應(yīng)用和程序可以靜態(tài)地或動(dòng)態(tài)地鏈接到分別在每個(gè)OS內(nèi)的庫(kù),而沒(méi)有鏈接沖突或庫(kù)兼容性問(wèn)題。在步驟726,桌面監(jiān)視服務(wù)啟動(dòng)一個(gè)或多個(gè)桌面OS服務(wù)374。在一個(gè)實(shí)施例中,這包括HydroidOS660的X-窗口系統(tǒng)674和Xfce桌面環(huán)境672。在步驟726之后,移動(dòng)OS130和桌面OS160在移動(dòng)計(jì)算設(shè)備110上的共享內(nèi)核320上并發(fā)且獨(dú)立地運(yùn)行。圖8示出根據(jù)各種實(shí)施例的可以使用OS架構(gòu)300的示例計(jì)算環(huán)境800。在計(jì)算環(huán)境800中,移動(dòng)OS130通過(guò)移動(dòng)計(jì)算設(shè)備110的I/O設(shè)備提供移動(dòng)計(jì)算體驗(yàn)。具體地,用戶可以通過(guò)觸摸屏116上的移動(dòng)OSGUI132和集成在移動(dòng)計(jì)算設(shè)備110的移動(dòng)計(jì)算設(shè)備硬件112中的其他I/O設(shè)備118與移動(dòng)OS130交互。同時(shí),桌面OS160通過(guò)第二終端環(huán)境840提供完整的桌面計(jì)算體驗(yàn)。如圖8中所示,第二終端環(huán)境840包括基座支架841?;Ъ?41包括通過(guò)接口122連接到移動(dòng)計(jì)算設(shè)備的端口842(未示出)。基座支架841通過(guò)接口843連接到顯示監(jiān)視器844、鍵盤846、和/或一個(gè)或多個(gè)指點(diǎn)設(shè)備848。圖8圖示在第二終端環(huán)境840的顯示監(jiān)視器844上顯示桌面OSGUI162??梢栽谧烂鍻SGUI162內(nèi)的應(yīng)用窗口882、884和/或886中顯示在桌面OS160上運(yùn)行的應(yīng)用382和384。圖9圖示OS架構(gòu)配置300a,所述OS架構(gòu)配置300a更詳細(xì)地示出OS架構(gòu)配置300的各方面如何為對(duì)接的移動(dòng)計(jì)算設(shè)備提供增強(qiáng)的用戶體驗(yàn)。在OS架構(gòu)300a中,移動(dòng)計(jì)算設(shè)備110被對(duì)接到包括外部監(jiān)視器844、鍵盤846、和一個(gè)或多個(gè)指點(diǎn)設(shè)備848的第二終端環(huán)境。例如,從用戶的角度來(lái)看,OS架構(gòu)300a可以與計(jì)算環(huán)境800對(duì)應(yīng),如圖8中所示。在OS架構(gòu)300a中,移動(dòng)OS130通過(guò)幀緩沖器916與移動(dòng)計(jì)算設(shè)備110上的觸摸屏顯示器116相關(guān)聯(lián)。桌面OS160通過(guò)幀緩沖器918與外部顯示監(jiān)視器944相關(guān)聯(lián)。對(duì)于用戶,鍵盤946、一個(gè)或多個(gè)指點(diǎn)設(shè)備948、和顯示監(jiān)視器944作為運(yùn)行其自己的桌面OS160的獨(dú)立桌面計(jì)算機(jī)而操作,而移動(dòng)計(jì)算設(shè)備110運(yùn)行移動(dòng)OS130,用戶通過(guò)觸摸屏116上的移動(dòng)OSGUI與所述移動(dòng)OS130連接。然而,如圖9中所示,移動(dòng)OS130和桌面OS160在例如圖2中所示的移動(dòng)處理器202的移動(dòng)計(jì)算設(shè)備110中的處理器上的共享內(nèi)核320上運(yùn)行。在共享內(nèi)核320上運(yùn)行移動(dòng)OS130和桌面OS160通過(guò)移動(dòng)OS130的GUI提供移動(dòng)計(jì)算設(shè)備的用戶體驗(yàn),而通過(guò)與第二終端環(huán)境相關(guān)聯(lián)的桌面OS160的GUI而提供完整的桌面體驗(yàn)。圖9圖示在沒(méi)有虛擬化的開(kāi)銷的情況下移動(dòng)OS130和桌面OS160如何在共享內(nèi)核320上運(yùn)行的各方面。例如,由共享內(nèi)核320分配幀緩沖器916和幀緩沖器918,并且所述幀緩沖器916和幀緩沖器918與共享內(nèi)核320中的幀緩沖器設(shè)備相關(guān)聯(lián)。移動(dòng)OS130通過(guò)寫入與幀緩沖器516相關(guān)聯(lián)的共享內(nèi)核320中的幀緩沖器設(shè)備而呈現(xiàn)移動(dòng)OS130的移動(dòng)OSGUI(包括應(yīng)用352和354)。然后,共享內(nèi)核320的觸摸屏顯示器驅(qū)動(dòng)器922寫入移動(dòng)OS幀緩沖器916,所述移動(dòng)OS幀緩沖器916被輸出到觸摸屏116。桌面OS160通過(guò)寫入與幀緩沖器918相關(guān)聯(lián)的共享內(nèi)核320中的幀緩沖器設(shè)備而呈現(xiàn)桌面OS160的桌面OSGUI(包括應(yīng)用382和384)。然后,共享內(nèi)核320的外部顯示器驅(qū)動(dòng)器926寫入桌面OS幀緩沖器918,所述桌面OS幀緩沖器918通過(guò)端口120被輸出到顯示監(jiān)視器944。在這方面,在沒(méi)有由任一OS進(jìn)行尋址的虛擬化的情況下,共享內(nèi)核320提供由移動(dòng)OS130和桌面OS160兩者通過(guò)幀緩沖器設(shè)備對(duì)幀緩沖器存儲(chǔ)器的直接訪問(wèn)。例如,可以由桌面OS160通過(guò)共享內(nèi)核320中與幀緩沖器918相關(guān)聯(lián)的幀緩沖器設(shè)備而呈現(xiàn)在桌面OS160上運(yùn)行的應(yīng)用382和384。在OS架構(gòu)300a中,在外部監(jiān)視器944上顯示幀緩沖器918。如圖8中所示,應(yīng)用382和384可以與在外部監(jiān)視器844上顯示的應(yīng)用窗口882、884和/或886對(duì)應(yīng)。再次參考圖9,移動(dòng)OS130和桌面OS160在沒(méi)有虛擬化的情況下通過(guò)共享內(nèi)核320還可直接訪問(wèn)附接到移動(dòng)計(jì)算設(shè)備110的輸入設(shè)備。例如,桌面OS160可以直接接受來(lái)自鍵盤946和一個(gè)或多個(gè)指點(diǎn)設(shè)備948的輸入,而不需要虛擬設(shè)備或虛擬設(shè)備文件。具體地,在共享內(nèi)核320的輸入設(shè)備或設(shè)備文件沒(méi)有被轉(zhuǎn)換、映射或虛擬化的情況下,移動(dòng)OS130和桌面OS160可以直接訪問(wèn)這些輸入設(shè)備和/或設(shè)備文件。為了改進(jìn)在各種實(shí)施例中的用戶體驗(yàn),一些實(shí)施例可以包括各種特征以便利于在共享內(nèi)核上運(yùn)行的多個(gè)操作系統(tǒng)的跨環(huán)境合作。本發(fā)明的實(shí)施例可以包括用于OS管理、跨環(huán)境通信、跨環(huán)境應(yīng)用呈現(xiàn)、環(huán)境之間的應(yīng)用數(shù)據(jù)的轉(zhuǎn)換、跨環(huán)境應(yīng)用鏡像映射(mirror)的各種特征。根據(jù)各種實(shí)施例,可以在包括各種計(jì)算環(huán)境的計(jì)算系統(tǒng)中使用在共享內(nèi)核上運(yùn)行移動(dòng)OS和桌面OS的移動(dòng)計(jì)算設(shè)備。在這些實(shí)施例中,可以將移動(dòng)計(jì)算設(shè)備對(duì)接到擴(kuò)展移動(dòng)計(jì)算設(shè)備的功能的各種設(shè)備。例如,可以將移動(dòng)計(jì)算設(shè)備對(duì)接到平板計(jì)算機(jī)。在這個(gè)示例中,移動(dòng)OSGUI可以被擴(kuò)展到平板計(jì)算機(jī)的屏幕。例如,可以通過(guò)平板計(jì)算機(jī)的觸摸屏連接移動(dòng)OS。此外,可以將平板計(jì)算機(jī)對(duì)接到類似桌面的終端環(huán)境。當(dāng)對(duì)接到類似桌面的終端環(huán)境時(shí),可以恢復(fù)桌面OS并且為終端環(huán)境配置桌面OS。在一些實(shí)施例中,創(chuàng)新的跨環(huán)境通信框架(“CECF”)允許獨(dú)立和并發(fā)地(例如,在相同的內(nèi)核上)運(yùn)行的兩個(gè)操作系統(tǒng)中的應(yīng)用之間的快速通信。實(shí)施例包括允許應(yīng)用(app)對(duì)應(yīng)用通信的擴(kuò)展IPC機(jī)制。例如,應(yīng)用可以向遠(yuǎn)程通信服務(wù)器登記以便能夠以同步和/或異步的方式通信(例如,同步數(shù)據(jù)、設(shè)置等)。在其他實(shí)施例中,提供在共享內(nèi)核上并發(fā)并且獨(dú)立地運(yùn)行的單獨(dú)的操作系統(tǒng)中運(yùn)行的兩個(gè)類似的應(yīng)用之間的應(yīng)用數(shù)據(jù)的無(wú)縫轉(zhuǎn)換。在實(shí)施例中,這可以使用像CECF的框架來(lái)實(shí)施。例如,移動(dòng)電子表格應(yīng)用和桌面電子表格應(yīng)用都被安裝在移動(dòng)計(jì)算設(shè)備上。當(dāng)設(shè)備被解除對(duì)接時(shí),在對(duì)于基于移動(dòng)的電子表格在需要時(shí)格式化所有電子表格數(shù)據(jù)的情況下使用移動(dòng)應(yīng)用。當(dāng)將設(shè)備對(duì)接在筆記本或桌面終端環(huán)境(例如,智能本)中時(shí),桌面電子表格程序自動(dòng)打開(kāi),并且最新的電子表格數(shù)據(jù)在桌面電子表格應(yīng)用中無(wú)縫地可用。在其他實(shí)施例中,在一個(gè)操作系統(tǒng)中運(yùn)行的應(yīng)用可以在由第二操作系統(tǒng)提供的環(huán)境內(nèi)顯示,其中這兩個(gè)操作系統(tǒng)在共享內(nèi)核上獨(dú)立和并發(fā)地運(yùn)行。例如,在桌面OS的桌面環(huán)境內(nèi),用戶可以啟動(dòng)將從移動(dòng)OS(例如,通過(guò)X11-型終端,不通過(guò)移植應(yīng)用或運(yùn)行虛擬化的移動(dòng)OS)運(yùn)行的移動(dòng)應(yīng)用。值得注意的是,不管移動(dòng)應(yīng)用是否當(dāng)前正在移動(dòng)OSGUI中被顯示,所述應(yīng)用可以是在移動(dòng)設(shè)備上存儲(chǔ)的任何移動(dòng)應(yīng)用。在其他實(shí)施例中,在第一OS中運(yùn)行的應(yīng)用可以在由第二OS提供的環(huán)境內(nèi)顯示,其中這兩個(gè)操作系統(tǒng)在共享內(nèi)核上獨(dú)立和并發(fā)地運(yùn)行。用于第一OS的圖形數(shù)據(jù)由第二OS直接訪問(wèn)。具體地,在共享存儲(chǔ)器空間中保留第一OS中的應(yīng)用的所有表面(surface)。第一OS的圖形服務(wù)器通過(guò)向?yàn)樗霰砻娣峙涞拇鎯?chǔ)器傳遞文件描述符而與第二OS中的客戶端應(yīng)用通信。在一個(gè)實(shí)施方式中,改變根目錄的Linux操作系統(tǒng)(即,Hydroid)和Android操作系統(tǒng)并發(fā)地運(yùn)行在移動(dòng)設(shè)備上的單個(gè)Android內(nèi)核上。Hydroid中的X11客戶端連接到Android中的圖形服務(wù)器(“SurfaceFlinger”)以便請(qǐng)求某個(gè)表面的信息,并且Android內(nèi)的服務(wù)(“HydroidBond”)登記X11客戶端以便接收用于所述表面的繪圖通知。在其他實(shí)施例中,移動(dòng)計(jì)算設(shè)備檢測(cè)對(duì)接的環(huán)境,并且配置第二OS以便利用所述對(duì)接的環(huán)境,其中所述第二OS在共享內(nèi)核上與第一OS獨(dú)立和并發(fā)地運(yùn)行。在一個(gè)實(shí)施方式中,改變根目錄的Linux操作系統(tǒng)(即,Hydroid)和Android操作系統(tǒng)在移動(dòng)設(shè)備上的單個(gè)Linux內(nèi)核上并發(fā)地運(yùn)行。當(dāng)移動(dòng)設(shè)備沒(méi)有被對(duì)接時(shí),針對(duì)移動(dòng)設(shè)備的上下文(例如,輸入/輸出能力、電源管理、通信等)調(diào)整Android操作系統(tǒng)。當(dāng)移動(dòng)設(shè)備被與筆記本計(jì)算機(jī)對(duì)接時(shí),移動(dòng)設(shè)備自動(dòng)檢測(cè)筆記本計(jì)算機(jī)環(huán)境并且配置Linux環(huán)境以便充分利用該筆記本計(jì)算機(jī)環(huán)境。在其他實(shí)施例中,移動(dòng)計(jì)算設(shè)備自動(dòng)檢測(cè)對(duì)接的環(huán)境,并且喚醒暫停的、全特征的第二操作系統(tǒng)以在對(duì)接的環(huán)境中使用。在一個(gè)實(shí)施方式中,改變根目錄的Linux操作系統(tǒng)(即,Hydroid)和Android操作系統(tǒng)總是在移動(dòng)設(shè)備上的單個(gè)Linux內(nèi)核上并發(fā)地運(yùn)行。當(dāng)移動(dòng)設(shè)備沒(méi)有對(duì)接時(shí),Android操作系統(tǒng)驅(qū)動(dòng)移動(dòng)設(shè)備顯示器等,并且Linux操作系統(tǒng)處于暫停模式(例如,其仍可以使用CECF)。當(dāng)移動(dòng)設(shè)備與筆記本計(jì)算機(jī)對(duì)接時(shí),移動(dòng)設(shè)備自動(dòng)檢測(cè)筆記本計(jì)算機(jī)環(huán)境,并且喚醒Linux操作系統(tǒng)以便支持筆記本計(jì)算機(jī)環(huán)境。在其他實(shí)施例中,在第一OS中運(yùn)行的應(yīng)用被鏡像映射到第二OS的顯示窗口(例如,在單獨(dú)的顯示器上),其中這兩個(gè)操作系統(tǒng)在共享內(nèi)核上獨(dú)立和并發(fā)地運(yùn)行。例如,與第二OS相關(guān)聯(lián)的顯示器(即,第二OSGUI)顯示在其中鏡像映射了第一OSGUI的窗口。實(shí)施例通過(guò)將幀緩沖器從移動(dòng)環(huán)境復(fù)制到桌面環(huán)境而有效地實(shí)施這個(gè)功能。值得注意的是,所述窗口可以充分地模仿移動(dòng)設(shè)備的使用(而非通常能夠運(yùn)行移動(dòng)應(yīng)用)。在其他實(shí)施例中,提供對(duì)所對(duì)接的環(huán)境的完整交互支持以便重定向和/或鏡像映射應(yīng)用。例如,可以在有限的觸摸屏能力以及沒(méi)有鍵盤、鼠標(biāo)、或其他輸入設(shè)備的情況下配置移動(dòng)計(jì)算設(shè)備。所述移動(dòng)設(shè)備被對(duì)接在具有先進(jìn)的觸摸屏和觸筆支持以及連接的外部鍵盤的平板計(jì)算機(jī)中。當(dāng)在平板計(jì)算機(jī)顯示器上的桌面環(huán)境中顯示移動(dòng)應(yīng)用時(shí),即使在移動(dòng)設(shè)備上正在顯示的相同應(yīng)用具有更有限的交互性,用戶也可以使用平板計(jì)算機(jī)環(huán)境的完整輸入/輸出能力與移動(dòng)應(yīng)用交互。如上面描述的,在一個(gè)實(shí)施例中Android移動(dòng)OS和Linux桌面OS(即,Hydroid)在單個(gè)移動(dòng)計(jì)算設(shè)備的相同的共享內(nèi)核上并發(fā)地運(yùn)行。Android移動(dòng)OS通過(guò)移動(dòng)計(jì)算硬件提供移動(dòng)計(jì)算體驗(yàn),并且Linux桌面OS通過(guò)具有與LinuxOS相關(guān)聯(lián)的用戶體驗(yàn)概況的第二終端環(huán)境而提供桌面計(jì)算機(jī)體驗(yàn)。然而,其他OS組合被設(shè)想為在本發(fā)明的各種實(shí)施例內(nèi)。例如,本發(fā)明的各方面可以被用于在共享內(nèi)核上運(yùn)行WindowsMobile和Windows7或者被用于運(yùn)行共享共同內(nèi)核-模式進(jìn)程的WindowsMobile和Windows7。作為另一示例,在共享內(nèi)核上運(yùn)行的iOS和MacOSX也在各種實(shí)施例的范圍內(nèi)。此外,由在共享內(nèi)核上運(yùn)行的嵌入式OS和桌面或移動(dòng)OS的組合可以有利地使用本發(fā)明的各方面。為了圖示和描述的目的提出上述描述。此外,所述描述不意欲將本發(fā)明的實(shí)施例限制為在這里公開(kāi)的形式。雖然上面討論了許多示例方面和實(shí)施例,本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到其某些變化、修改、置換、增加、和子組合??梢杂赡軌驁?zhí)行對(duì)應(yīng)功能的任何合適的手段來(lái)執(zhí)行上面描述的方法的各種操作。所述手段可以包括一個(gè)或多個(gè)各種硬件和/或軟件組件和/或模塊,包括但不限于電路、專用集成電路(ASIC)、或處理器。可以利用被設(shè)計(jì)為執(zhí)行在這里描述的功能的通用處理器、數(shù)字信號(hào)處理器(DSP)、ASIC、現(xiàn)場(chǎng)可編程門陣列信號(hào)(FPGA)、或其他可編程邏輯設(shè)備(PLD)、分立門(discretegate)、或晶體管邏輯、分立硬件組件、或其任何組合來(lái)實(shí)施或執(zhí)行所描述的各種說(shuō)明性邏輯塊、模塊、和電路。通用處理器可以是微處理器、但在替換方案中,處理器可以是任何市售處理器、控制器、微控制器、或狀態(tài)機(jī)。處理器還可以被實(shí)施為計(jì)算設(shè)備的組合,例如DSP和微處理器的組合、多個(gè)微處理器、與DSP核結(jié)合的一個(gè)或多個(gè)微處理器、或任何其他這樣的配置??梢灾苯佑糜布⒂糜商幚砥鲌?zhí)行的軟件模塊、或用所述兩者的組合實(shí)施結(jié)合本公開(kāi)描述的方法或算法的步驟。軟件模塊可以在任何形式的有形存儲(chǔ)介質(zhì)中存在。可以使用的存儲(chǔ)介質(zhì)的一些示例包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、閃存、EPROM存儲(chǔ)器、EEPROM存儲(chǔ)器、寄存器、硬盤、可移除盤和CD-ROM等。存儲(chǔ)介質(zhì)可以被耦接到處理器,使得處理器可以從存儲(chǔ)介質(zhì)中讀取信息和向存儲(chǔ)介質(zhì)寫信息。在替換方案中,存儲(chǔ)介質(zhì)可以被集成到處理器中。軟件模塊可以是單個(gè)指令或許多指令,并且可以在幾個(gè)不同的代碼段上、在不同程序中、以及跨多個(gè)存儲(chǔ)介質(zhì)分布。在這里公開(kāi)的方法包括用于實(shí)現(xiàn)所描述的方法的一個(gè)或多個(gè)動(dòng)作。所述方法和/或動(dòng)作可以彼此互換,而不背離權(quán)利要求的范圍。換句話說(shuō),除非指定動(dòng)作的具體順序,否則可以修改具體動(dòng)作的順序和/或用途,而不背離權(quán)利要求的范圍??梢杂糜布?、軟件、固件或其任何組合實(shí)施所描述的功能。如果用軟件實(shí)施,則所述功能可以被存儲(chǔ)為有形的計(jì)算機(jī)可讀介質(zhì)上的一個(gè)或多個(gè)指令。存儲(chǔ)介質(zhì)可以是可以由計(jì)算機(jī)訪問(wèn)的任何可用有形介質(zhì)。作為示例而不是限制,這樣的計(jì)算機(jī)可讀介質(zhì)可以包括RAM、ROM、EEPROM、CD-ROM、或其他光盤貯存器、磁盤貯存器、或其他磁貯存設(shè)備、或可用于以指令或數(shù)據(jù)結(jié)構(gòu)的形式攜帶或存儲(chǔ)所需程序代碼并且可以由計(jì)算機(jī)訪問(wèn)的任何其他有形介質(zhì)。如在這里使用的,盤(disk)和碟(disc)包括致密碟(CD)、激光碟、光學(xué)碟(opticaldisc)、數(shù)字通用碟(DVD)、軟盤和藍(lán)光碟,其中盤通常磁性地再現(xiàn)數(shù)據(jù),而碟利用激光光學(xué)地再現(xiàn)數(shù)據(jù)。因此,計(jì)算機(jī)程序產(chǎn)品可以執(zhí)行在這里提出的操作。例如,這樣的計(jì)算機(jī)程序產(chǎn)品可以是具有在其上有形地存儲(chǔ)(和/或編碼)了指令的計(jì)算機(jī)可讀有形介質(zhì),可由一個(gè)或多個(gè)處理器執(zhí)行所述指令以便執(zhí)行在這里描述的操作。計(jì)算機(jī)程序產(chǎn)品可以包括封裝材料(packagingmaterial)。還可以經(jīng)由傳輸介質(zhì)傳輸軟件或指令。例如,可以使用例如同軸電纜、光纜、雙絞線、數(shù)字用戶線(DSL)的傳輸介質(zhì)、或例如紅外線、無(wú)線電或微波的無(wú)線技術(shù)從網(wǎng)站、服務(wù)器、或其他遠(yuǎn)程源傳輸軟件。此外,可以由用戶終端和/或基站適當(dāng)?shù)叵螺d和/或以其他方式獲得用于執(zhí)行在這里描述的方法和技術(shù)的模塊和/或其他合適的裝置。例如,這樣的設(shè)備可以被耦接到服務(wù)器以便利于傳遞執(zhí)行在這里描述的方法的裝置??商鎿Q地,可以經(jīng)由貯存裝置(例如,RAM、ROM、諸如CD或軟盤的物理存儲(chǔ)介質(zhì)等)提供在這里描述的各種方法,使得用戶終端和/或基站可以在將貯存裝置耦接到或提供到所述設(shè)備時(shí)獲得各種方法。此外,可以使用用于向設(shè)備提供這里描述的方法和技術(shù)的任何其他適當(dāng)?shù)募夹g(shù)。其他示例和實(shí)施方式在本公開(kāi)和所附權(quán)利要求的范圍和精神內(nèi)。例如,由于軟件的本質(zhì),可以使用由處理器、硬件、固件、硬連線、或這些項(xiàng)目中的任何項(xiàng)目的組合執(zhí)行的軟件來(lái)實(shí)施上面描述的功能。實(shí)施功能的特征還可以在物理上位于各種位置,包括被分布使得在不同的物理位置處實(shí)施功能的多個(gè)部分。此外,如在這里使用的,包括在權(quán)利要求中,如在由“至少一個(gè)”結(jié)尾的項(xiàng)目列表中使用的“或”表示選言列表(disjunctivelist),使得例如“A、B或C中的至少一個(gè)”的列表意味著A或B或C或AB或AC或BC或ABC(即,A和B和C)。此外,術(shù)語(yǔ)“示例的”不意味著所描述的示例是優(yōu)選的或比其他示例更好??梢宰龀鰧?duì)在這里描述的技術(shù)的各種改變、替代和變更,而不背離如由所附權(quán)利要求定義的教導(dǎo)的技術(shù)。此外,本公開(kāi)和權(quán)利要求的范圍不限于上面描述的過(guò)程、機(jī)器、制造品、物質(zhì)的組合、裝置、方法、和動(dòng)作的特定方面。可以使用現(xiàn)有的或后來(lái)開(kāi)發(fā)的、執(zhí)行與在這里描述的對(duì)應(yīng)方面基本相同的功能或?qū)崿F(xiàn)基本相同的結(jié)果的過(guò)程、機(jī)器、制造品、物質(zhì)的組合、裝置、方法或動(dòng)作。因此,所附權(quán)利要求在它們的范圍內(nèi)包括這樣的過(guò)程、機(jī)器、制造品、物質(zhì)的組合、裝置、方法、或動(dòng)作。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3