專利名稱:用于發(fā)起多環(huán)境操作系統(tǒng)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明整體涉及操作系統(tǒng)和用于發(fā)起操作系統(tǒng)引導序列的方法。跟具體地,本發(fā)明涉及多環(huán)境操作系統(tǒng)和引導多環(huán)境操作系統(tǒng)的方法。
背景技術(shù):
通常基于特定應用和用戶期望性能設計并優(yōu)化操作系統(tǒng)。由于用戶優(yōu)選的程序可以是依賴操作系統(tǒng)的,通常期望具有一種類型的操作系統(tǒng)可應用于另一操作系統(tǒng)的特征。諸如Linux 和Windows 的通用計算機操作系統(tǒng)具有廣泛的一組特征,諸如,文件系統(tǒng)、設備驅(qū)動器、應用、庫等。這樣的操作系統(tǒng)允許多個程序同時執(zhí)行,以及與同時執(zhí)行程序的服務相關(guān)的最優(yōu)化響應時間(還稱為等待時間)以及CPU利用率或負載的嘗試。然而,不幸的是,這樣的操作系統(tǒng)通常不適用于嵌入式實時應用,諸如,用于移動計算設備。在特定環(huán)境下,期望移動計算設備具有與移動專用嵌入式操作系統(tǒng)相關(guān)的性能和通用操作系統(tǒng)的特征。例如,Linux是眾所周知的通用桌面操作系統(tǒng),具有用于現(xiàn)代設備的許多期望特征,包括現(xiàn)代操作系統(tǒng)特征、大量開發(fā)工具、網(wǎng)絡連接等。然而,Linux不是被設計為嵌入式或?qū)崟r操作系統(tǒng)。很多現(xiàn)代設備,諸如而不限于,機頂盒、移動電話以及汽車導航系統(tǒng)不僅要求諸如Linux的通用操作系統(tǒng)的特征,而且還要求嵌入式或?qū)崟r操作系統(tǒng)的特征,包括實時性能。歷史上,在單個設備上運行多個操作環(huán)境已經(jīng)通過虛擬化技術(shù)實現(xiàn),諸如,例如, VMwareTM、VirtUalB0XTM、QEMUTM等。然而,當使用虛擬化時,仿真整個計算機并且一個或多個軟件堆棧在所仿真的計算設備中操作。仿真造成高開銷成本。鑒于以上,需要一種實現(xiàn)單內(nèi)核環(huán)境的系統(tǒng),其有效地和便利地提供共存的獨立操作系統(tǒng)的性能和特征。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的至少一個實施例,提供了一種用于引導具有至少兩個共存的獨立操作環(huán)境的設備的方法。該方法包括發(fā)起開機引導序列,初始化核心內(nèi)核,識別設備模式狀態(tài),啟動對于第一操作系統(tǒng)和第二操作系統(tǒng)公共的服務,至少部分基于模式狀態(tài)選擇主操作系統(tǒng),和啟動主操作系統(tǒng)的初始化腳本;以及啟動輔助操作系統(tǒng)的初始化腳本。在可選的實施例中,提供了一種用于操作具有多個共存操作環(huán)境的設備的方法。 該方法包括發(fā)起引導序列,該引導序列配置為同時啟動兩個操作系統(tǒng)環(huán)境;識別設備的模式狀態(tài);以及至少部分基于模式狀態(tài)選擇主操作環(huán)境。在本發(fā)明的又一個實施例中,提供了一種移動設備操作系統(tǒng),該移動設備操作系統(tǒng)具有被配置成互連設備硬件組件和中間件組件的核心內(nèi)核。該系統(tǒng)包括耦合至核心內(nèi)核的至少兩個共存的獨立中間件操作環(huán)境,中間件操作環(huán)境中的每個都具有對應的應用組件。
根據(jù)本發(fā)明的另一實施例,提供了一種移動計算設備,該移動計算設備具有耦合至計算機處理器的存儲器存儲單元。存儲器存儲單元包括計算機可執(zhí)行指令,計算機可執(zhí)行指令能夠操作在公共內(nèi)核上的至少兩個操作系統(tǒng)環(huán)境。 根據(jù)又一可選實施例,提供了一種移動電話,該移動電話具有被配置成接收和發(fā)送多媒體信息的圖形用戶界面。該電話包括具有耦合至存儲器存儲單元的處理器的計算系統(tǒng),以及具有公共內(nèi)核的多環(huán)境操作系統(tǒng)。存儲器存儲單元包括計算機可執(zhí)行指令,計算機可執(zhí)行指令能夠管理在至少兩個共存的獨立操作系統(tǒng)環(huán)境之間共享的資源。根據(jù)可選實施例,本發(fā)明包括一種移動計算設備,該移動計算設備具有耦合至計算機存儲器的計算機處理器,計算機存儲器具有計算機可執(zhí)行指令,計算機可執(zhí)行指令被配置成發(fā)起操作系統(tǒng)。該設備還包括一種操作系統(tǒng),該操作系統(tǒng)被配置成在單內(nèi)核上同時運行標準Linux分布式操作系統(tǒng)環(huán)境和Android 操作系統(tǒng)環(huán)境。根據(jù)又一可選實施例,本發(fā)明包括一種移動設備操作系統(tǒng),該移動設備操作系統(tǒng)具有被配置成互連設備硬件組件和中間件組件的核心內(nèi)核。該設備還包括第一獨立中間件操作環(huán)境,被配置成運行JAVA-解釋的應用并且耦合至核心內(nèi)核;以及第二獨立中間件操作環(huán)境,被配置成運行本地應用并且耦合至核心內(nèi)核。
圖1是移動設備的示例性透視圖;圖2是表示示例性操作系統(tǒng)的框圖;圖3是示例性操作系統(tǒng)的框圖;圖4是示例性操作系統(tǒng)的運行時共存方案的框圖;圖5是示例性操作系統(tǒng)的內(nèi)部環(huán)境通信方案的框圖;圖6是標識用于示例性操作系統(tǒng)的引導序列的步驟的流程圖;圖7是標識用于在由第二操作環(huán)境控制示例性操作系統(tǒng)時,在第一操作環(huán)境中啟動應用的示例性步驟的流程圖;圖8是標識用于在第一操作環(huán)境進行主控制時,啟動第二操作環(huán)境應用的示例性步驟的消息序列圖;圖9是標識與從第一操作環(huán)境切換至第二操作環(huán)境相關(guān)的示例性步驟的流程圖;圖10是標識用于從第一操作環(huán)境切換至第二操作環(huán)境的示例性步驟的消息序列圖;圖11是標識用于從第二操作環(huán)境切換至第一操作環(huán)境的示例性步驟的消息序列圖;圖12是標識在第二操作環(huán)境進行計算設備的主控制時,由第一操作環(huán)境控制的應用的示例性使用的流程圖。
具體實施例方式可以預想到,使嵌入式操作系統(tǒng)和基于Linux的操作環(huán)境與在計算設備的硬件上直接運行的單Linux內(nèi)核直接通信是有利的。參考圖1,提供移動電話10。該電話10包括⑶I 12和多個數(shù)據(jù)輸入按鈕14。移動設備10選自下組,該組包括但不限于移動個人計算機(PC)、上網(wǎng)本、移動電話、膝上型計算機、手持計算機和智能手機。雖然設備10是移動的,但是其具有顯著的計算能力,處理器速度超過500mHz,但是不排除較慢的處理器??紤]到計算能力,用戶可以將設備10連接至多個外圍設備(未示出)。外圍設備選自下組,該組包括但不限于計算機監(jiān)視器、膝上型計算機、臺式計算機、平板PC以及屏幕投影儀?,F(xiàn)在參考圖2,提供了與內(nèi)核18通信的示例性操作系統(tǒng)(OS) 16的框圖。OS 16可以是Linux分布式系統(tǒng)、基于Linux的操作系統(tǒng)或非基于Linux的操作系統(tǒng)。設備硬件20 也與Linux內(nèi)核18通信。操作系統(tǒng)16包括與單Linux內(nèi)核18通信的第一操作系統(tǒng)環(huán)境 22和第二操作系統(tǒng)環(huán)境M。例如,第二中間件操作系統(tǒng)環(huán)境M是標準Linux分布,并且第一中間件操作系統(tǒng)環(huán)境22是意圖用于移動設備的嵌入式操作系統(tǒng)環(huán)境,諸如Android (開放手機聯(lián)盟,www. openhandsetalliance. com)操作系統(tǒng)。Linux 分布 16 與 Linux 內(nèi)核 18 通信,Linux內(nèi)核18與設備硬件20通信。設備硬件20可以是耦合至處理器(未示出)的存儲器存儲設備(未示出),其存儲被配置成執(zhí)行多種功能和操作的計算機可執(zhí)行指令,如在此描述的。示例性操作系統(tǒng)16包括用于基于Linux的操作系統(tǒng)環(huán)境M的Ubuntu (Canonical Ltd. ,www. ubuntu. com)。特別地,意圖是多個中間件操作系統(tǒng)環(huán)境獨立于其他共存??梢园ㄔ诓僮飨到y(tǒng)16中的示例性環(huán)境包括AndroidTM、Ubuntu (Canonical Ltd., www. ubuntu. com)、標準的基于 Linux 的環(huán)境、Symbian (Symbian Foundation Ltd. , www. symbian.com)以及基于Windows的環(huán)境。在可選實施例中,可以想到多于兩個操作系統(tǒng)環(huán)境被配置成在同一核心內(nèi)核18上獨立地共存。參考圖3,提供了示例性操作系統(tǒng)的框圖。在本示例性實施例中,第一 OS環(huán)境22 是基于Android 的操作環(huán)境,并且第二 OS環(huán)境M是基于Linux的。第一操作系統(tǒng)環(huán)境22 包括門戶服務模塊26、門戶活動模塊^、0S服務模塊30以及OS應用模塊32。第二操作系統(tǒng)環(huán)境對包括資源管理器34、窗口中Android(AIW)模塊、第二 OS應用模塊38以及第二 OS服務模塊40。AIW模塊36被配置成在第二 OS M是主操作環(huán)境時,在⑶I 12上顯示第一 OS 22
應用窗口。門戶服務模塊沈包含被配置成允許用于第一 OS 22的服務并且指引與資源管理器34的所有通信的指令集。當設備10正在操作時,門戶服務模塊沈優(yōu)選地一直運行。另夕卜,門戶服務模塊26連接至與門戶活動模塊觀相關(guān)的活動,以及第一 OS 22廣播事件。門戶活動模塊觀是應用或者計算機可執(zhí)行指令集,其表示位于第一 OS 22堆棧上的第二 OS 24應用。例如,如果第二 OS 24是Ubuntu ,則門戶活動模塊28可以表示特定W3Imtu應用, 并且當門戶活動模塊觀具有焦點時,通過⑶I 12觀察Wxmtu。大量應用可以在任意給定操作環(huán)境內(nèi)同時運行,也被稱為運行應用的堆棧。按照邏輯上說,最上面的應用被認為具有
“隹占”。內(nèi)核18包括驅(qū)動器42集和AEV模塊44。包括在驅(qū)動器42中的是用于硬件組件 20的輸入設備驅(qū)動器。AEV 44是從AIW 36獲取絕對坐標和鍵盤事件并且將其傳送至事件集線器的內(nèi)核模塊。操作系統(tǒng)16內(nèi)的共存環(huán)境相互通信。作為第二 OS 24的一部分的資源管理器34與作為第一 OS 22的一部分的門戶服務模塊沈直接通信。而且,作為第一 OS 22的一部分的門戶服務模塊26與資源管理器34直接通信。資源管理器34是被配置成管理由第一 OS 22和第二 OS M共享的資源的指令集。共享的資源包括顯示設備、輸入設備、功率管理服務和系統(tǒng)狀態(tài)信息。而且,資源管理器34被配置成控制OS 22J4對硬件20的訪問。另外, 資源管理器34識別和控制哪個OS 22、對用戶界面通過⑶I 12來顯示。根據(jù)本實施例,門戶服務沈是從第一 OS 22到資源管理器34的所有通信的源。另夕卜,門戶服務26是從資源管理器34到第一 OS 22的所有回調(diào)的信宿。資源管理器向門戶服務26提供可發(fā)現(xiàn)狀況的應用編程接口(API)。該API被配置成在任何時間由資源管理器 34調(diào)用。資源管理器34被配置成獲得和處理運行時狀況,這允許資源管理器維護狀態(tài)機。 對于第一 OS 22,門戶服務沈?qū)⑦\行時狀況提供至需要它們的處理。類似地,門戶服務沈要求并且接收來自提供狀況信息的處理的狀況更新。用于第二 OS M的類似通信由資源管理器34控制,資源管理器34將運行時狀況提供至需要它們的處理。資源管理器34要求和接收來自提供狀況信息的多種處理的狀況更新。在邏輯上與內(nèi)核18相關(guān)的設備驅(qū)動器42 與資源管理器34以及提供運行時狀況信息的處理直接通信。例如,API仲裁訪問用戶界面設備,諸如,顯示器、觸摸屏或⑶I 12。又一示例,API仲裁訪問功率輸入設備,諸如,電池和 /或AC/DC墻上插頭。第一 OS 22和第二 OS M相互獨立,并且相互共存。每個OS 22J4都是全功能操作系統(tǒng)環(huán)境,并且不需要另一個操作系統(tǒng)環(huán)境起作用。兩個操作系統(tǒng)環(huán)境存在于同一設備 10上,并且相互之間100%獨立。如上所述,第一和第二 OS 22、對不以虛擬化或仿真方案共存,而實際上,在單內(nèi)核18上操作。作為代替,存在運行時共存,其中,OS 22、M都在各自本地環(huán)境中運行并且OS 22、對都不重新編譯,因為不需要利用公共C運行時環(huán)境。應用可以由用戶訪問,應用可以完全地被編碼用于OS 22J4的一個或另一個,而不中斷用戶的計算體驗。參考圖4,框圖提供對于Android OS 22和Ubuntu OS M的示例性共存方案。 每個OS 22、對都在分開的運行時環(huán)境上操作,分開的運行時環(huán)境在設備10操作時提供用于程序和/或處理的軟件服務。Android處理46和Android庫48訪問Bionic C庫50, Bionic C庫50特別對于Android環(huán)境進行了優(yōu)化和修改。Ubuntu處理52和Ubuntu庫M 訪問Glibc C庫56,Glibc C庫56是在許多標準臺式基于Linux系統(tǒng)中使用的GNU C庫。 每個OS環(huán)境都在其各自的C庫上運行,而不與另一操作環(huán)境沖突。參考圖5,提供了在圖4中描述的第一 OS 22和第二 OS M之間的更詳細通信路徑。內(nèi)部處理通信(IPC)系統(tǒng)被配置成管理在第一 OS 22和第二 OSM之間的內(nèi)部環(huán)境通信流。門戶服務26與“DBUS綁定” 58通信,"DBUS綁定” 58是包含被配置成與DBUS庫60通信的編程語言和可執(zhí)行指令的軟件包。資源管理器34與“Glib DBUS綁定”62通信,“Glib DBUS綁定”62也是包含被配置成與DBUS庫64通信的編程語言和可執(zhí)行指令的軟件包,DBUS 庫64被配置用于第二 0SM。第一 OS 22DBUS庫60和第二 OS M庫64都通過DBUS守護進程66通信,DBUS守護進程66在邏輯上是第二 OS 24的一部分,并且用作兩個操作環(huán)境之間的通信鏈路。參考圖6,提供表示引導序列的流程圖。引導序列包括公共步驟和操作系統(tǒng)環(huán)境專用步驟。實際引導序列取決于與指示引導序列的預定的設備狀態(tài)相關(guān)的規(guī)則。例如,如果設
6備連接至外圍設備,諸如,監(jiān)視器,則設備狀態(tài)被認為處于停駐模式,并且第二 OS M為默認主環(huán)境。可替換地,如果設備10不連接至外圍設備,則其處于移動模式,并且第一 OS 22 是默認主操作環(huán)境。然而,輔助操作環(huán)境與主環(huán)境同時被啟動并且在背景中操作,并且在設備10狀態(tài)改變的情況下輔助環(huán)境被切換為變?yōu)橹鳝h(huán)境。例如,當設備10處于停駐模式并且拔掉外圍設備時,存在到移動模式的自動切換,這導致輔助環(huán)境變?yōu)橹鳝h(huán)境,并且反之亦然。在步驟68發(fā)起引導序列,之后在步驟70啟動核心Linux內(nèi)核18。引導裝載程序在啟動內(nèi)核之前初始化。在Linux內(nèi)核18被初始化之后,在步驟72內(nèi)核啟動用戶空間腳本。在步驟74啟動資源管理器34,之后在步驟76識別模式狀態(tài)。一旦識別出模式狀態(tài), 就在步驟78訪問參考庫,以確定與被識別的模式狀態(tài)相關(guān)和/或由其指示的準則。在步驟 80,啟動第一 OS 22和第二 OS M共有的服務。在步驟82參考在步驟76確定的模式狀態(tài)。 如果識別出移動狀態(tài),則第一 OS 22是主操作環(huán)境,則在步驟84啟動第一 OS初始化腳本, 之后在步驟86啟動第二 OS初始化腳本。如果在步驟82參考停駐狀態(tài),則第二 OS M是主操作環(huán)境,并且然后在步驟88啟動第二 OS M初始化腳本,之后在步驟90啟動第一 OS 22 初始化腳本。不管哪種環(huán)境是主環(huán)境,兩種環(huán)境都在步驟92設備10操作之前被啟動并且運行。由于公共服務首先在步驟80被啟動,為了所有意圖和目的,主環(huán)境和輔助環(huán)境被并行啟動。然而,基于設備狀態(tài),主環(huán)境專用服務緊接在輔助環(huán)境專用服務之前被啟動。通過分離公共服務啟動與環(huán)境專用啟動,設備10可以以多個共存和獨立操作環(huán)境快速地操作。參考圖7,流程圖標識用于在設備10處于移動模式94并且第一 OS 22進行主控制時啟動第二 OS M應用的步驟。在步驟96選擇第二 OS M應用、移動PC。在設備10在移動模式下操作并且第一 OS 22進行主控制時,移動PC是第一 OS 22中的應用,移動PC提供全PC視圖,可替換地稱為上網(wǎng)本視圖。在可選實施例中,來自第二 OS M的各個應用可以列在第一 OS 22菜單中并且被分別啟動,其可以類似于上網(wǎng)本視圖。在步驟98門戶服務沈?qū)顩r更新通信發(fā)送至資源管理器34,指示門戶活動觀獲得焦點。此后,在步驟100資源管理器34禁用第一 OS 22輸入并且切換虛擬終端。在步驟 102移動PC應用被顯示在⑶112上。在操作移動PC應用時,未經(jīng)請求的事件可以在步驟 104發(fā)生,或者用戶請求事件可以在步驟106發(fā)生。未經(jīng)請求的事件包括時間緊要和非時間緊要事件。例如,時間緊要未經(jīng)請求的事件包括電話呼叫或安排的或非安排的警報。而且,例如,非時間緊要未經(jīng)請求的事件包括SMS消息、電子郵件消息或設備更新通知。在事件104、106發(fā)生之后,門戶服務沈?qū)⑼ㄐ虐l(fā)送至資源管理器34,指示在步驟108門戶活動觀失去焦點。在步驟110,資源管理器34請求第一 OS 22以啟用輸入事件流并且切換虛擬終端。例如,本實施例包括用于在第一 0S22和第二 OS M之間切換顯示控制的分開的虛擬終端。一般來說,虛擬終端是Linux應用,其允許系統(tǒng)用戶在基于Windows的視圖和系統(tǒng)控制臺之間切換顯示控制。當在步驟112,未經(jīng)請求的事件發(fā)生或者用戶選擇“主頁(Home) ”鍵時,在步驟114 門戶活動觀被切換至背景,同時未經(jīng)請求的事件繼續(xù)或者用戶操作來自GUI 12的“主頁” 菜單的另一應用??商鎿Q地,如果在步驟112用戶選擇“返回(Back)”鍵,則門戶活動觀退出應用并且在步驟94設備10恢復空閑主菜單。用戶發(fā)起事件,諸如選擇主頁鍵、返回鍵或發(fā)起新應用是示例性請求的事件。當事件發(fā)生時,在步驟118做出決定,并且如果事件是未經(jīng)請求的事件,則在步驟120中斷第一 OS 22??商鎿Q地,如果事件是請求的事件,諸如用戶選擇“主頁”鍵,則在步驟94設備恢復空閑主菜單。在步驟1200S中斷之后,中斷應用退出并且門戶活動觀在步驟122重新獲得焦點,并且設備10恢復到步驟98。在可選實施例中,不利用虛擬終端設施??梢酝ㄟ^類似VNC的應用完成當在移動模式時呈現(xiàn)第二 OS 24應用。諸如Wxmtu的第二 OS 24應用可以被遠程呈現(xiàn)在VNC客戶端中。另外,該實施例不從第一 OS 22去除物理顯示控制。在又一可選實施例中,由第一 OS 22生成的非時間緊要通知被識別并且列在第二 OS M視圖內(nèi)的面板中。通過在面板中列出通知,當?shù)诙?OS M為主OS時,第一 OS 22狀況信息與第二 OS M視圖結(jié)合。在用戶空閑時,訪問面板以展現(xiàn)非時間緊要狀況通知。當面板忙碌時,第一 OS 22變?yōu)橹鱋S并且允許觀看通知。例如,面板可以是以滑動手勢從狀況區(qū)域下來的下拉列表。參考圖8,提供了標識用于在第一 OS 22進行主控制時啟動第二 OS 24應用的步驟的消息序列圖。序列圖提供在門戶活動模塊觀和資源管理器34之間傳送的信號的從上到下的步驟導向流。門戶活動觀接收信號124,以啟動門戶并且禁用輸入。第一 OS 22在信號126使模式狀態(tài)改變?yōu)榈诙?OS 24獲得主控制之前進行主控制。信號1 被從門戶活動 28發(fā)送至資源管理器34,然后資源管理器34生成被發(fā)送至門戶活動觀的響應信號128,響應信號1 指示第二 OS M是主OS。信號130由門戶活動觀接收,并且啟用輸入。信號 132被從門戶活動觀發(fā)送至資源管理器34,其模式狀態(tài)從第二 OS M改變?yōu)榈谝?OS 22。 在接收信號132之后,資源管理器34切換虛擬終端。然后,資源管理器34將狀況更新信號 134發(fā)送至門戶活動觀,指示第一 OS 22是主OS。參考圖9,提供標識與從第一操作環(huán)境切換到第二操作環(huán)境相關(guān)的步驟的流程圖。 在步驟136,設備10在移動模式(0S1 22)下處于空閑。在步驟138,設備10連接至停駐站, 或者連接至外圍設備。例如,可以在設備10和監(jiān)視器或電視機之間建立HDMI連接。在步驟140資源管理器34被通知更新的連接狀況,并且響應于連接狀況改變,在步驟142禁用第一 OS 22。在步驟144第一 OS 22門戶切換共享的存儲器幀緩沖器,之后在步驟146資源管理器34切換虛擬終端。如果在步驟148移動PC應用在視圖中,則在步驟150門戶活動沈退出??商鎿Q地,如果移動PC應用不在視圖中,則在步驟152啟用停駐模式。在步驟 154設備狀態(tài)改變的情況下,則在步驟156資源管理器34接收狀況狀態(tài)更新。例如,當用戶移除HDMI電纜或類似的用于將設備10連接至外圍設備的連接器時,系統(tǒng)的狀態(tài)改變。事件狀態(tài)更新156之后,啟用第一 OS 22 158并且設備在移動模式下操作。在步驟160請求幀緩沖器切換,并且在步驟162請求虛擬終端切換,兩者均由門戶活動沈執(zhí)行。在步驟162 之后,在移動模式136下設備恢復到空閑狀態(tài)。參考圖10,提供標識當設備10從移動模式(OSl)過渡到停駐模式(0S2)時執(zhí)行的步驟的消息序列圖。設備10在移動模式下操作,并且第一 OS 22是主OS。電纜信號164 由資源管理器134接收,指示HDMI或可選硬線插件已經(jīng)附接至設備10。電纜信號164是示例性模式狀態(tài)初始化改變信號。在可選實施例中,插件可以是設備10和外圍設備之間的無線通信,并且禁用無線通信將導致生成模式狀態(tài)初始化改變信號。使設備從移動模式過渡到停駐模式的信號序列被發(fā)起。信號164從資源管理器34發(fā)送至門戶活動觀,指示模式狀況過渡并且禁用主數(shù)據(jù)輸入。門戶活動觀將信號168發(fā)送至資源管理器34,標識第二 OS24當前是主OS并且切換虛擬終端。信號170從資源管理器34發(fā)送至門戶活動,標識第二 OS 24為主OS并且取得幀緩沖器的所有權(quán)。模式狀態(tài)改變確認信號172從門戶活動觀發(fā)送至資源管理器34,標識設備當前處于停駐模式,并且第二 OS M是主OS。系統(tǒng)模式更新信號從資源管理器;34發(fā)送至AIW 36。參考圖11,提供標識當設備10從停駐模式(OS》過渡到移動模式(OSl)時執(zhí)行的步驟的消息序列圖。電纜信號176由資源管理器34接收,指示HDMI或可選硬件設備插件已經(jīng)從設備10移除。插件的移除指示外圍設備(未示出)不再與設備10通信。在可選實施例中,插件可以是設備10和外圍或可選設備(未示出)之間的無線通信。使設備從停駐模式過渡到移動模式的信號序列被發(fā)起。信號178從資源管理器34發(fā)送至門戶活動觀, 指示模式狀況過渡,并且啟用主數(shù)據(jù)輸入和主幀緩沖器。門戶活動觀將信號180發(fā)送至資源管理器34,標識第一 OS 22當前是主OS并且切換虛擬終端。信號182從資源管理器34 發(fā)送至門戶活動,標識第一 OS 22為主OS并且取得幀緩沖器的所有權(quán)。模式狀態(tài)改變確認信號184從門戶活動觀發(fā)送至資源管理器34,標識設備當前處于移動模式并且第一 OS 22 是主OS。系統(tǒng)模式更新信號從資源管理器34發(fā)送至AIW 36。參考圖12,在步驟188,設備10在停駐模式下處于空閑,并且第二 OS 24是主操作環(huán)境。如果在步驟190未經(jīng)請求的事件發(fā)生,或者在步驟192用戶選擇窗口應用中的OS 122,則在步驟194啟動窗口應用中的OS 122。例如,如果Android是移動操作環(huán)境22,則窗口中Android(AIW)應用被啟動。設備在停駐模式下操作,同時AIW應用使用戶能夠訪問 Android應用。在步驟194,資源管理器34也被通知狀況更新。在步驟196,啟用到第一 OS 22的輸入,之后在步驟198發(fā)送第一 OS顯示更新通知。在步驟200AIW應用操作并且具有焦點。如果在步驟202AIW應用退出,或者在步驟204用戶從焦點移除AIW,則在步驟206禁用第一 OS 22輸入。在步驟208停止第一 OS 22顯示。如果在步驟210AIW應用退出,則系統(tǒng)恢復到空閑停駐模式188??商鎿Q地,如果AIW應用被離焦,則在步驟212,應用在該狀態(tài)下操作。如果步驟214的未經(jīng)請求的事件或者在步驟216的與AIW應用交互的請求的事件發(fā)生,則在步驟218AIW重新獲得焦點。雖然AIW被離焦,但是用戶可以選擇AIW應用,并且繼續(xù)與AIW窗口交互,AIW窗口重新聚焦AIW并且通知資源管理器34狀況更新。在AIW重新獲得對第一 OS 22 (對于本實施例是Android)的聚焦之后,在步驟220啟用輸入。在步驟222第一 OS 22顯示更新通知被發(fā)送至資源管理器34,之后系統(tǒng)恢復到步驟200,在步驟 200啟用AIW并且對準焦點。當應用對準焦點時,該應用位于運行應用的堆棧的邏輯頂部。在可選實施例中,可以想到,設備10可以在基于除了停駐或非停駐設備10之外的事件的模式狀態(tài)之間過渡。例如,如果設備10在預置時間段內(nèi)是靜止的,則設備10可以被編程為在能量最有效模式狀態(tài)下操作,而不管設備狀況如何。在又一示例中,即使設備具有與外圍設備的連接,用戶也可以使模式狀態(tài)從停駐過渡到移動。另外,連接至設備10的外圍設備的類型可以指示是否發(fā)起自動模式狀態(tài)改變序列或者用戶提供模式狀態(tài)改變請求。 從而,用戶能夠選擇操作設備10的模式狀態(tài)。在又一可選實施例中,基于特定設備10用途和在設備存儲器20中可用的應用想到額外的模式狀態(tài)。特別地,意圖是本發(fā)明不限于在此包含的實施例和說明,而是包括那些實施例的修改形式,包括如落入以下權(quán)利要求的范圍內(nèi)的實施例的多個部分和不同實施例的元件的組合。
權(quán)利要求
1.一種用于引導具有至少兩個共存的獨立操作環(huán)境的設備的方法,包括以下步驟 發(fā)起開機引導序列;初始化核心內(nèi)核; 識別設備模式狀態(tài);啟動對于第一操作系統(tǒng)和第二操作系統(tǒng)公共的服務; 至少部分基于所述模式狀態(tài)來選擇主操作系統(tǒng); 啟動所述主操作系統(tǒng)的初始化腳本;以及啟動輔助操作系統(tǒng)的初始化腳本。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述設備引導開機引導序列中的兩個操作系統(tǒng), 當主狀態(tài)是個人計算時所述第二操作系統(tǒng)是所述主系統(tǒng)。
3.根據(jù)權(quán)利要求1所述的方法,其中,所述設備引導開機序列中的至少一個操作系統(tǒng), 當主操作狀態(tài)被識別為移動模式時所述第一操作系統(tǒng)首先引導。
4.一種用于初始化操作系統(tǒng)的方法,包括以下步驟 初始化引導序列;選擇至少兩個操作系統(tǒng)環(huán)境用于操作移動設備,所述至少兩個操作系統(tǒng)環(huán)境被配置為在所述設備操作的同時獨立并共存; 啟動公共的基于Linux的內(nèi)核;啟動對于第一操作系統(tǒng)環(huán)境和第二操作系統(tǒng)環(huán)境公共的應用服務; 至少部分基于所述設備的模式狀態(tài)來選擇主操作系統(tǒng)環(huán)境和輔助操作系統(tǒng)環(huán)境;以及同時啟動用于所述主操作系統(tǒng)環(huán)境和輔助操作系統(tǒng)環(huán)境的初始化腳本。
5.根據(jù)權(quán)利要求4所述的方法,其中,所述第一操作系統(tǒng)環(huán)境是所述主環(huán)境。
6.根據(jù)權(quán)利要求4所述的方法,其中,所述第二操作系統(tǒng)環(huán)境是所述主環(huán)境。
7.根據(jù)權(quán)利要求6所述的方法,其中,所述模式狀態(tài)是移動模式。
8.根據(jù)權(quán)利要求4所述的方法,進一步包括以下步驟發(fā)起輔助操作系統(tǒng)應用。
9.根據(jù)權(quán)利要求4所述的方法,其中,所述輔助環(huán)境是Android。
10.根據(jù)權(quán)利要求8所述的方法,其中,所述應用是AIW。
11.一種用于操作具有多個共存操作環(huán)境的設備的方法,包括以下步驟 發(fā)起引導序列,所述引導序列被配置為同時啟動兩個操作系統(tǒng)環(huán)境; 識別所述設備的模式狀態(tài);以及至少部分基于所述模式狀態(tài)來選擇主操作環(huán)境。
12.根據(jù)權(quán)利要求11所述的方法,進一步包括以下步驟至少部分基于所述設備的所述模式狀態(tài)的改變來改變所述主操作環(huán)境。
13.根據(jù)權(quán)利要求12所述的方法,其中,所述主環(huán)境從基于Linux的環(huán)境切換到被優(yōu)化用于移動計算的嵌入式環(huán)境。
14.根據(jù)權(quán)利要求12所述的方法,其中,所述主環(huán)境從Android切換到Wxmtu。
全文摘要
本發(fā)明的多種實施例提供一種移動計算設備,其在公共內(nèi)核上操作多個共存且獨立的操作系統(tǒng)環(huán)境。還提供了用于發(fā)起多操作系統(tǒng)環(huán)境的引導處理。另外,本發(fā)明的多種實施例包括用于管理在一個操作系統(tǒng)環(huán)境到第二操作系統(tǒng)環(huán)境之間的切換的處理。
文檔編號G06F9/445GK102473102SQ201080032324
公開日2012年5月23日 申請日期2010年7月20日 優(yōu)先權(quán)日2009年7月20日
發(fā)明者喬舒亞·D·加利西亞, 安德魯·N·察基斯, 杰弗里·C·卡萊爾 申請人:摩托羅拉移動公司