專利名稱:在媒體設(shè)備中支持多個操作系統(tǒng)的制作方法
在媒體設(shè)備中支持多個操作系統(tǒng)
祖旦 冃豕
用于消費電子設(shè)備的媒體格式變得日益復(fù)雜,同時也將它們的許多高級功能 從硬件移到軟件。結(jié)果,消費電子設(shè)備的軟件環(huán)境已變得日益復(fù)雜。
此外,諸如DVD等較老且較簡單的格式盡管將它們的許多處理卸載到較便宜 且較簡單的硬件,但它們?nèi)匀粚⑺鼈兊哪承┨幚砹艚o軟件。例如,雖然音頻和視頻 流可能由專用硬件來解碼,但是菜單處理(或"導(dǎo)航")功能可以用軟件來實現(xiàn)。 雖然基本導(dǎo)航軟件可以是相對簡單的,但是DVD市場已隨著時間而進化。DVD 播放器已經(jīng)用正確地處理具有更多特征的DVD的復(fù)雜菜單處理邏輯來響應(yīng)。結(jié)果, 相對簡單的DVD格式已經(jīng)進化以致于其回放軟件現(xiàn)在是相當(dāng)復(fù)雜的。許多播放器 制造商對該軟件進行大量投資,而該軟件隨著時間進化而依賴于他們的操作環(huán)境。
由于有不同的媒體格式可用,因此存在對支持多種格式的消費電子設(shè)備的需 求。例如,很明顯,當(dāng)考慮到用戶一般期望他們的DVD播放器也播放CD唱片(CD 唱片是非常不同的媒體格式)時,支持多種格式是合乎需要的。于是要解決的問題 是如何以合算的方式運行可能需要其自己的操作系統(tǒng)的多個軟件應(yīng)用程序。
概述
提供本概述以用簡化的形式介紹在以下詳細描述中進一步描述的一些概念。 本概述并不旨在標(biāo)識所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用來限制 所要求保護的主題的范圍。
概括而言,詳細描述針對用于在消費電子設(shè)備中支持多個操作系統(tǒng)的各種技 術(shù)和工具。例如,描述了允許在支持不同的媒體類型的視頻盤播放器中的操作系統(tǒng) 之間快速切換,同時減少等待時間并減輕對用戶體驗可能的負面影響的技術(shù)和工 具。
在參考附圖進行的以下各實施例的詳細描述中,其它特征和優(yōu)點將變得顯而 易見。
附圖簡述
圖1是示出其中可實現(xiàn)若千所描述的實施例的合適的計算環(huán)境的通用示例的 框圖。
圖2是示出根據(jù)一個或多個所描述的實現(xiàn)的處理不同的操作系統(tǒng)之間的特征改變的"適度切換(gracefulhandoff)"模型的示例技術(shù)的流程圖。
圖3是示出根據(jù)一個或多個所描述的實現(xiàn)的處理不同的操作系統(tǒng)之間特征改 變的"熱引導(dǎo)"模型的示例技術(shù)的流程圖。
圖4是示出根據(jù)一個或多個所描述的實現(xiàn)的用于盤格式改變的適度切換處理 的示例技術(shù)的流程圖。
圖5是示出根據(jù)一個或多個所描述的實現(xiàn)的具有用于處理盤格式改變的引導(dǎo) 加載程序和BIOS服務(wù)的固件的系統(tǒng)圖。
圖6是示出根據(jù)一個或多個所描述的實現(xiàn)的用于盤格式改變的熱引導(dǎo)處理的 示例技術(shù)的流程圖。
圖7是示出根據(jù)一個或多個所描述的實現(xiàn)的用于并行地執(zhí)行熱引導(dǎo)媒體格式 切換操作的示例技術(shù)的流程圖。
詳細描述
此處描述了用于例如在諸如媒體播放器等嵌入式設(shè)備中支持多個操作系統(tǒng)的 技術(shù)和工具。
此處所描述實現(xiàn)的各種替換是可能的。例如,參考流程圖所描述的某些技術(shù) 可以通過改變流程圖中所示的各階段的排序、通過重復(fù)或省略某些階段等來更改, 而仍然達到相同的結(jié)果。不同的實施例實現(xiàn)所描述的技術(shù)和工具中的一個或多個。 此處所描述的某些技術(shù)和工具針對背景中所提到的一個或多個問題。然而,通常, 給定的技術(shù)/工具不能解決所有這種問題。
I .計算環(huán)境
圖1示出其中可實現(xiàn)若干所描述的實施例的合適的計算環(huán)境(100)的通用示 例。計算環(huán)境(100)并不旨在對使用范圍或功能提出任何限制,因為這些技術(shù)和 工具可以在不同的通用或?qū)S糜嬎悱h(huán)境中實現(xiàn)。例如,可以為計算環(huán)境(100)配 備諸如便攜式音頻播放器、便攜式視頻播放器、便攜式音頻和視頻播放器、控制臺 音頻播放器、控制臺視頻播放器或控制臺音頻和視頻播放器等媒體設(shè)備。這種媒體 設(shè)備可以是獨立式單元或可以包括在另一設(shè)備(例如通信設(shè)備或顯示單元)中。
參考圖1,計算環(huán)境(100)包括至少兩個處理單元(110, 115)以及相關(guān)聯(lián)的 存儲器(120, 125)。處理單元(110, 125)可以包括CPU、用于視頻加速的GPU 或其它協(xié)同處理單元。在圖1中,該最基本的配置(130)被包括在虛線內(nèi)。可選 地,計算環(huán)境包括單個處理單元。處理單元(110, 115)執(zhí)行計算機可執(zhí)行指令并 且可以是真實的或虛擬的處理器。在多處理系統(tǒng)中,多處理單元執(zhí)行計算機可執(zhí)行指令以提高處理能力。在編碼或解碼場景中,主編碼器或解碼器進程使用可用處理 單元(110, 115)來執(zhí)行編碼或解碼操作。某些操作可以由諸如GPU等專用處理
單元來執(zhí)行。存儲器(120, 125)可以是易失性存儲器(例如寄存器、高速緩存、 RAM)、非易失性存儲器(例如ROM、 EEPROM、閃存等)或者兩者的某一組合。 存儲器(120, 125)可以專用于一個處理器或者由兩個或多個處理器共享。存儲器 (120, 125)為設(shè)備存儲實現(xiàn)用于支持多個操作系統(tǒng)的策略的軟件(180)。
計算環(huán)境可以具有附加特征。例如,計算環(huán)境(100)包括存儲(140)、 一 個或多個輸入設(shè)備(150)、 一個或多個輸出設(shè)備(16)、以及一個或多個通信連 接(170)。諸如總線、控制器或網(wǎng)絡(luò)等互連機制(未示出)將計算環(huán)境(100)的 組件互連。通常,操作系統(tǒng)軟件(未示出)為在計算環(huán)境(100)中執(zhí)行的其它軟 件提供操作環(huán)境,并且協(xié)調(diào)計算環(huán)境(100)的各組件的活動。
存儲(140)可以是可移動的或不可移動的,并且包括磁盤、磁帶或磁帶盒、 CD-ROM、 DVD或可用于存儲信息并可以在計算環(huán)境(100)內(nèi)訪問的任何其它介 質(zhì)。存儲(140)為軟件(180)存儲指令。
輸入設(shè)備(150)可以是諸如鍵盤、鼠標(biāo)、筆、觸摸屏或跟蹤球等觸摸式輸入 設(shè)備、語音輸入設(shè)備、掃描設(shè)備、或向計算環(huán)境(100)提供輸入的另一設(shè)備。對 于音頻和視頻,輸入設(shè)備(150)可以是聲卡、視頻卡、TV調(diào)諧卡、或接受模擬 或數(shù)字形式的音頻或視頻輸入的類似設(shè)備、或?qū)⒕幋a音頻或視頻讀入到計算環(huán)境 (100)的DVD、 CD-ROM或CD-RW。輸出設(shè)備(160)可以是顯示器、打印機、 揚聲器、CD或DVD刻錄機、或從計算環(huán)境(100)提供輸出的另一設(shè)備。
通信連接(170)允許通過通信介質(zhì)到另一計算實體的通信。通信介質(zhì)在已調(diào) 制數(shù)據(jù)信號中傳達諸如計算機可執(zhí)行指令、音頻或視頻輸入或輸出、或其它數(shù)據(jù)等 信息。己調(diào)制數(shù)據(jù)信號是其一個或多個特征以在信號中編碼信息的方式被設(shè)置或改 變的信號。已調(diào)制數(shù)據(jù)信號指以對信號中的信息進行編碼的方式設(shè)置或改變其一個 或多個特征的信號。作為示例而非局限,通信介質(zhì)包括用電、光、射頻(RF)、 紅外("IR")、聲學(xué)或其它載波實現(xiàn)的有線或無線技術(shù)。
各技術(shù)和工具可以在計算機可讀介質(zhì)的一般上下文中描述。計算機可讀介質(zhì) 是可以在計算環(huán)境內(nèi)訪問的任何可用介質(zhì)。作為示例而非限制,對于計算環(huán)境 (100),計算機可讀介質(zhì)包括存儲器(120)、存儲(140)、通信介質(zhì)以及上述 任何的組合。
各技術(shù)和工具可以在諸如程序模塊中所包括的在計算環(huán)境中的目標(biāo)真實或虛擬處理器上執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述。 一般而言,程序模塊包 括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、庫、對象、類、組件、數(shù) 據(jù)結(jié)構(gòu)等。程序模塊的功能可以視需要在各實施例中在程序模塊之間組合或劃分。 程序模塊的計算機可執(zhí)行指令可以在本地或分布式計算環(huán)境中執(zhí)行。
為演示起見,詳細描述使用如"檢查"和"喚醒"等術(shù)語來描述計算環(huán)境中 的計算機操作。這些術(shù)語是計算機執(zhí)行的操作的高級抽象,且不應(yīng)與人類所執(zhí)行的 動作混淆。對應(yīng)于這些術(shù)語的實際計算機操作取決于實現(xiàn)而不同。
II.用于在消費電子設(shè)備中支持多個操作系統(tǒng)的策略
消費電子設(shè)備正在變得日益復(fù)雜,并且正在將對其許多功能的支持從硬件移 到軟件。諸如DVD等較老且較簡單的格式盡管將它們的許多處理卸載到較便宜且 較簡單的硬件,但它們通常將它們的某些處理留給軟件。例如,音頻和視頻流可由 專用硬件來解碼,而菜單處理(或"導(dǎo)航")功能可以用軟件來實現(xiàn)。結(jié)果,支持 諸如DVD等相對簡單格式的某些消費電子設(shè)備仍然發(fā)展成具有復(fù)雜的軟件。
此外,用于不同媒體格式的回放工具可以具有不同的操作系統(tǒng)需求,并且可
以進一歩使得處理它們的設(shè)備的軟件環(huán)境變得復(fù)雜。例如,根據(jù)HDDVD視頻盤 標(biāo)準(zhǔn)(本文中有時稱為HD DVD格式)編碼的高清晰度視頻內(nèi)容可以使用由第-操作系統(tǒng)(諸如來自微軟公司的Windows CE操作系統(tǒng)或其它操作系統(tǒng))支持的 回放應(yīng)用程序來解碼,而根據(jù)藍光視頻盤標(biāo)準(zhǔn)(本文中有時稱為藍光格式)編碼的 高清晰度視頻內(nèi)容可以使用由第二操作系統(tǒng)(諸如基于Linux的操作系統(tǒng)、其它 Unix類或Unix變體操作系統(tǒng)、或其它操作系統(tǒng))支持的回放應(yīng)用程序來解碼。雙 格式盤(例如具有藍光格式的內(nèi)容和HD DVD格式的內(nèi)容的盤)還可以具有其它 操作系統(tǒng)需求。為特定操作環(huán)境設(shè)計的某些軟件已隨著吋間進化而依賴于這些操作 環(huán)境。作為這些和其它因素的結(jié)果,消費電子設(shè)備具有日益復(fù)雜的軟件環(huán)境。
消費電子設(shè)備要解決的問題是如何以合算的方式運行多個軟件應(yīng)用程序(其 中每一個可能需要其自己的操作系統(tǒng))。 一種解決方案是,為所支持的每種類型的 媒體格式包括一處理器,其用操作系統(tǒng)和軟件應(yīng)用程序來完成。更合算的解決方案 是存儲多個操作系統(tǒng)和軟件應(yīng)用程序(多至每種媒體格式一個操作系統(tǒng)和軟件應(yīng)用 程序)并且在處理不同類型的媒體時使得播放器重新引導(dǎo)。例如,播放器可以具有 用于HD DVD的一個操作系統(tǒng)、用于DVD的另一操作系統(tǒng)、以及用于CD音頻的 又一操作系統(tǒng)。操作系統(tǒng)和所支持的應(yīng)用程序之間的映射無需是.一對一的。例如, DVD和CD音頻回放可以在一個操作系統(tǒng)上運行,而HD DVD在不同的操作系統(tǒng)上運行。
然而,存在與運行多個操作系統(tǒng)相關(guān)聯(lián)的各個潛在問題。考慮支持兩種數(shù)字 視頻盤媒體格式在第一操作系統(tǒng)上運行的HD DVD格式以及在與第一操作系統(tǒng) 非常不同的第二操作系統(tǒng)上運行的藍光格式(有時稱為藍光盤格式)的設(shè)備。要考 慮的一個問題是當(dāng)從一種格式轉(zhuǎn)換到另一種格式(例如從使用第二操作系統(tǒng)支持的
藍光回放到使用第一操作系統(tǒng)支持的HD DVD視頻回放)時的盤加載時間。要考 慮的另一問題是保持操作系統(tǒng)之間的切換對用戶不可見的同時如何允許用戶在(需 要其自己的操作系統(tǒng)的)多個軟件應(yīng)用程序之間切換,以減少對用戶體驗的潛在負 面影響。
所描述的"多引導(dǎo)"技術(shù)和工具允許設(shè)備以低成本在操作系統(tǒng)之間切換,并 且沒有對用戶體驗的不適當(dāng)?shù)母蓴_。雖然本文中所描述的思想可以被擴展到能夠運 行超過兩個操作系統(tǒng)的設(shè)備,但在本文的描述中,術(shù)語"雙引導(dǎo)"有時用于描述在 兩個操作系統(tǒng)之間切換的設(shè)備。具有兩個可用操作系統(tǒng)的雙引導(dǎo)設(shè)備是可以具有兩 個或多個可用操作系統(tǒng)的多引導(dǎo)設(shè)備的子集。如下文中詳細解釋的,術(shù)語多引導(dǎo)和 雙引導(dǎo)并不指示設(shè)備必須重新引導(dǎo)以便在操作系統(tǒng)之間切換的需求。
用于多引導(dǎo)設(shè)計的選項包括以下各項
1. 操作系統(tǒng)轉(zhuǎn)換是用其中兩個或更多的操作系統(tǒng)同時操作的協(xié)作切換
(或適度切換)機制來處理的。例如,在所描述的實現(xiàn)中,第一操作 系統(tǒng)和第二操作系統(tǒng)之間的切換是在第一和第二操作系統(tǒng)兩者都保 持運行的同時執(zhí)行的。在切換之后, 一個操作系統(tǒng)被置于空閑狀態(tài)。
2. 操作系統(tǒng)轉(zhuǎn)換是用涉及對操作系統(tǒng)之一的熱引導(dǎo)的切換機制來處理 的。術(shù)語"熱引導(dǎo)"在此處被用于指在設(shè)備已經(jīng)通電并加載了操作系 統(tǒng)后在該設(shè)備上發(fā)生的操作系統(tǒng)的引導(dǎo)。
在多引導(dǎo)設(shè)計選項之間的選擇可以依賴于多個因素,諸如芯片選擇(例如,
單核或雙核)、實現(xiàn)成本以及外部依賴。許多芯片設(shè)計具有單個處理器核并一次支 持一個操作系統(tǒng)(除非低級硬件多線程或另一技術(shù)提供對同時運行多個操作系統(tǒng)的
支持)。其它芯片設(shè)計具有兩個處理器核,而單個對稱多處理知曉(symmetric multiprocessing-aware)操作系統(tǒng)通常不使用它們兩者。無論如何,片上系統(tǒng)設(shè)計 選擇通常不僅僅取決于處理器核,還考慮芯片上的諸如用于音頻/視頻解碼、2D圖 形加速、解密等的單元等其它功能單元。 A.示例以下示例示出了用于處理操作系統(tǒng)之間的轉(zhuǎn)換的技術(shù)并說明了諸如轉(zhuǎn)換時間 以及對用戶體驗的潛在影響等因素。該部分中的示例描述了兩個操作系統(tǒng)之間的切 換,但是在超過兩個操作系統(tǒng)之間切換是可能的。在替換實現(xiàn)中,以下示例中所示 的步驟可以被重新排序、省略或用其它步驟代替。例如,描述從操作系統(tǒng)A切換 到操作系統(tǒng)B的示例可以被擴展成在不再使用操作系統(tǒng)B的所請求的特征之后或
響應(yīng)于使用操作系統(tǒng)A中的特征的后續(xù)用戶動作,默認地切換回操作系統(tǒng)A。只 要有必要或需要,操作系統(tǒng)之間的轉(zhuǎn)換可以繼續(xù)。其中操作系統(tǒng)A是初始主操作 系統(tǒng)的示例可以被修改,使得操作系統(tǒng)B是初始主操作系統(tǒng),或反之亦然。
各示例是使用可以是獨立設(shè)備或作為作為另一設(shè)備的一部分來包括的數(shù)字媒 體播放器來實現(xiàn)的??蛇x地,各示例使用另一消費電子設(shè)備或其它計算設(shè)備來實現(xiàn)。
1.適度切換示例
示例1:在該適度切換示例場景中,消費電子設(shè)備被配置成允許操作系統(tǒng)A 和操作系統(tǒng)B同時運行。在該示例中,操作系統(tǒng)A是主操作系統(tǒng),并同時控制設(shè) 備的大多數(shù)方面。它檢測到用戶試圖使用由操作系統(tǒng)B提供的特征(例如通過將 特定格式的視頻盤放入到設(shè)備中)。示例1的過程包括以下步驟
1. 存儲所標(biāo)識的特征需求(例如在非易失性存儲中)。
2. 釋放對將由操作系統(tǒng)B使用的硬件資源的控制(如果必要)。
3. 將控制轉(zhuǎn)移給操作系統(tǒng)B。
4. 通過讀取以上步驟1中存儲的數(shù)據(jù),來(用操作系統(tǒng)B)確定所需的特 征。
5. 如果必要,(用操作系統(tǒng)B)激活并使用該必要的硬件資源以滿足該特 征的需求??梢詾槟承┯布Y源(例如顯示器)適度地執(zhí)行從一個操作 系統(tǒng)到另一個的轉(zhuǎn)換,使得跨從操作系統(tǒng)A到操作系統(tǒng)B的切換來完 全或部分地持久保持它們的狀態(tài)(例如當(dāng)前顯示菜單),以便減少轉(zhuǎn)換 時間和/或減輕對用戶體驗的負面影響。
6. (用操作系統(tǒng)B)提供所需特征。
在示例1的步驟3中,通過向操作系統(tǒng)B發(fā)送一個或多個消息來將控制轉(zhuǎn)移 給操作系統(tǒng)B。這些消息可以用若干種方式來實現(xiàn)。例如,在某些實現(xiàn)中,每個操 作系統(tǒng)/處理器核(其中操作系統(tǒng)A在處理器核A上運行,而操作系統(tǒng)B在處理器 核B上運行)中具有實現(xiàn)硬件郵箱隊列的驅(qū)動程序。郵箱隊列可以是用于在操作 系統(tǒng)A和操作系統(tǒng)B之間傳遞消息的簡單的先進先出隊列。操作系統(tǒng)的控制組件(例如在驅(qū)動程序中)等待消息到達其隊列中,以指示它將其操作系統(tǒng)和內(nèi)核置于 休眠。該消息可以是其值出于操作系統(tǒng)之間的適度切換的目的而保留的存儲器字 (例如,值1指示控制組件應(yīng)該將其操作系統(tǒng)/內(nèi)核置于休眠,而值2指示控制組 件應(yīng)該將其操作系統(tǒng)/內(nèi)核從修眠狀態(tài)喚醒,并且可以保留其它值用于其它目的)。 可選地,使用另一協(xié)議和/或另一類型的數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)消息傳遞。
在示例郵箱隊列實現(xiàn)中,當(dāng)操作系統(tǒng)A檢測到它不播放的格式的盤時,它向 其消息傳送驅(qū)動程序發(fā)送消息(例如值為2),該消息傳送驅(qū)動程序?qū)⒃撓鬟f 到操作系統(tǒng)B的驅(qū)動程序的郵箱隊列。操作系統(tǒng)B的驅(qū)動程序等待其郵箱隊列中 的消息,接收來自操作系統(tǒng)A消息,解釋消息(其值指示"喚醒")并且采取步 驟來喚醒操作系統(tǒng)B和核B (例如在適當(dāng)時重新啟用驅(qū)動程序)。在操作系統(tǒng)A 將喚醒消息發(fā)送給操作系統(tǒng)B之后,它將其自身置于休眠,假定操作系統(tǒng)B會成 功地喚醒??蛇x地,操作系統(tǒng)A等待來自操作系統(tǒng)B的指示操作系統(tǒng)A將其自身 置于休眠模式的消息(例如值為1)。使操作系統(tǒng)B在操作系統(tǒng)B成功地喚醒之 后發(fā)送這一消息可以允許更好的出錯處理——如果操作系統(tǒng)A在某段時間之后沒 有得到這樣的休眠消息,則操作系統(tǒng)A可以通過通知用戶來啟動出錯處理、重新 引導(dǎo)整個系統(tǒng)和/或采取另一步驟。
如果操作系統(tǒng)B遇到它不播放的格式的盤時,則消息傳送過程可以反轉(zhuǎn)。操 作系統(tǒng)B向其消息傳送驅(qū)動程序發(fā)送消息(例如值為2),該消息傳送驅(qū)動程序?qū)?該消息傳遞到操作系統(tǒng)A的驅(qū)動程序的郵箱隊列。操作系統(tǒng)A的驅(qū)動程序等待其 郵箱隊列中的消息,接收來自操作系統(tǒng)B的消息,解釋消息(其值指示"喚醒") 并且采取步驟來喚醒操作系統(tǒng)A和核A。在操作系統(tǒng)B將喚醒消息發(fā)送到操作系 統(tǒng)A之后,它將其自身置于休眠,或可選地等待來自操作系統(tǒng)A的休眠消息。
示例2:圖2是示出根據(jù)用于使用同時運行的各操作系統(tǒng)中的特征的適度切換 模型的示例技術(shù)(200)的流程圖。圖2中所示的技術(shù)(200)與上述示例1中的步 驟在某些方面不同,而仍然實現(xiàn)在兩個操作系統(tǒng)之間的平穩(wěn)轉(zhuǎn)換。
在該技術(shù)(200)中,激活引導(dǎo)加載程序(205)并引導(dǎo)操作系統(tǒng)A和B (210, 255)。在圖2中,各操作系統(tǒng)開始處于空閑狀態(tài)(210, 255)。來自任一操作系 統(tǒng)的喚醒消息(220, 265)能夠?qū)⒘硪徊僮飨到y(tǒng)從空閑狀態(tài)(215, 260)喚醒。這 可以在例如用戶請求操作,執(zhí)行導(dǎo)航動作,檢查或改變配置設(shè)置,或改變媒體內(nèi)容 (例如通過更換盤)時發(fā)生。
在喚醒之后,所激活的操作系統(tǒng)使用該操作系統(tǒng)執(zhí)行(225或270)所啟用的特征功能。在檢測到特征改變(230或275)后,所激活的操作系統(tǒng)檢査(235或 280)它是否能執(zhí)行新特征。如果否,則操作系統(tǒng)在必要時準(zhǔn)備(240或285)用于 轉(zhuǎn)換到另一操作系統(tǒng)的硬件資源,并發(fā)送喚醒消息(245或290)到另一操作系統(tǒng)。 發(fā)送喚醒消息的操作系統(tǒng)接著可以返回到空閑狀態(tài)以等待可能的喚醒消息。
在圖2所示的示例中,操作系統(tǒng)A和B在被引導(dǎo)(210, 255)后最初進入空 閑狀態(tài)(215, 260)。可選地,操作系統(tǒng)中的一個或多個最初處于活動狀態(tài)。例如, 在播放藍光和HDDVD盤的視頻盤播放器中,當(dāng)其被打開時,當(dāng)HDDVD盤在播 放器中時,第一操作系統(tǒng)進入最初活動狀態(tài)。代替進入最初空閑狀態(tài)并檢查喚醒消 息,第一操作系統(tǒng)使用在該第一操作系統(tǒng)上運行的軟件來執(zhí)行所啟用的特征功能 (例如,引導(dǎo)HDDVD菜單或開始HDDVD回放),直到要求另一操作系統(tǒng)變?yōu)?活動的事件(例如用戶插入藍光盤)發(fā)生為止?;蛘撸O(shè)備可以被配置成在啟動時 一個操作系統(tǒng)默認是活動的。 2.熱引導(dǎo)示例
示例3:在該熱引導(dǎo)的場景中,操作系統(tǒng)A和操作系統(tǒng)B被配置成個別地而 非同時地運行。在該示例中,操作系統(tǒng)A是主操作系統(tǒng)并同時控制設(shè)備的大多數(shù) 方面。它檢測到用戶正嘗試使用由操作系統(tǒng)B提供的特征。示例3的過程包括以 下步驟
1. 將所標(biāo)識的特征需求存儲在非易失性存儲中。
2. 將操作系統(tǒng)需求存儲在非易失性存儲中。
3. 關(guān)閉操作系統(tǒng)A。
4. 重新引導(dǎo)。
5. 通過讀取上述步驟2中存儲的數(shù)據(jù)來(用引導(dǎo)加載程序)確定所需的操 作系統(tǒng)。在該示例中,這是操作系統(tǒng)B。
6. 引導(dǎo)操作系統(tǒng)B。
7. 通過讀取上述步驟1中存儲的數(shù)據(jù)來(用操作系統(tǒng)B)確定所需的特征。
8. 如果必要,則激活并(用操作系統(tǒng)B)使用必要的硬件資源以滿足該特 征的需求。可以為某些硬件資源(例如顯示器)適度地執(zhí)行從一個操作 系統(tǒng)到另一個的轉(zhuǎn)換,使得在從操作系統(tǒng)A到操作系統(tǒng)B的切換過程 中完全或部分地保持它們的狀態(tài)(例如當(dāng)前顯示菜單),以便減少轉(zhuǎn)換 時間和/或減輕對用戶體驗的負面影響。
9. (用操作系統(tǒng)B)提供所需特征。示例4:圖3是示出根據(jù)用于使用設(shè)備上不同操作系統(tǒng)中的特征的熱引導(dǎo)模型 的示例技術(shù)(300)的流程圖,其中各操作系統(tǒng)不同時運行。圖3中所示的技術(shù)(300) 與上述示例3中的步驟在某些方面不同,而仍然實現(xiàn)在兩個操作系統(tǒng)之間的平穩(wěn)轉(zhuǎn)換。
在該技術(shù)(300)中,激活(305)引導(dǎo)加載程序并且檢查(310)指示是否要引 導(dǎo)操作系統(tǒng)B的標(biāo)志。如果設(shè)置了該標(biāo)志,則設(shè)備引導(dǎo)(315)操作系統(tǒng)B并使用 操作系統(tǒng)B來執(zhí)行(320)所啟用的特征功能??蛇x地,使用除標(biāo)志之外的指示符 來指示將執(zhí)行的功能和/或?qū)⑹褂媚囊徊僮飨到y(tǒng)。
如果檢測到(325)特征改變,則操作系統(tǒng)確定(330)它是否支持新特征。 如果它不支持新特征,則將關(guān)于該特征的信息存儲(335)在非易失性存儲中。復(fù) 位引導(dǎo)標(biāo)志以指示應(yīng)該使用另一操作系統(tǒng),并且發(fā)生重新引導(dǎo)(340)。
在重新引導(dǎo)(340)日寸,激活(305)引導(dǎo)加載程序并且引導(dǎo)標(biāo)志指示(310) 要引導(dǎo)操作系統(tǒng)A。設(shè)備引導(dǎo)(350)操作系統(tǒng)A并使用操作系統(tǒng)A來執(zhí)行(355) 所啟用的特征功能。如果檢測到(360)特征改變,則操作系統(tǒng)確定(365)它是否 支持新特征。如果它不支持新特征,則將關(guān)于該特征的信息存儲(370)在非易失 性存儲中,并且設(shè)備可以重新引導(dǎo)(375)到操作系統(tǒng)B。
重新引 導(dǎo)(340, 375)是熱引導(dǎo),因為它們是在設(shè)備被打開之后發(fā)生的。操 作系統(tǒng)的熱引導(dǎo)的一個典型特征是并非操作系統(tǒng)中的所有的東西都被重新初始化。 熱引導(dǎo)功能的示例包括膝上型計算機中的"待機"或"休眠"特征——當(dāng)膝上型計 算機進入待機或休眠模式時,某些狀態(tài)被保存,使得膝上型計算機被喚醒回來時, 它可以從其停止的地方更快地恢復(fù)正常操作。
B.討論
上述示例1、 2、 3和4與其中主操作系統(tǒng)主存一個或多個操作系統(tǒng)環(huán)境并且 所有環(huán)境共享對必需的硬件資源的訪問的技術(shù)(有時被稱為虛擬化技術(shù))不同。例 如,上述示例1、 2、 3和4中的操作系統(tǒng)轉(zhuǎn)換不一定是由于用戶切換操作系統(tǒng)的有 意識的動作,它們也不--定涉及主存另一操作系統(tǒng)或模擬其上運行另一操作系統(tǒng)的 平臺的一個操作系統(tǒng)。用戶一點都不需要知道在設(shè)備上有多個操作系統(tǒng)可用。
所描述的實現(xiàn)的某些優(yōu)點和改進包括減少執(zhí)行特定功能所需的操作系統(tǒng)之間 的轉(zhuǎn)換的時間量以及使得操作系統(tǒng)轉(zhuǎn)換不引起用戶的注意。
考慮其中使用兩個操作系統(tǒng)以便覆蓋一定范圍的特征的示例設(shè)備。在該示例 設(shè)備中,操作系統(tǒng)A支持光盤媒體回放,而操作系統(tǒng)B支持因特網(wǎng)瀏覽。當(dāng)用戶瀏覽因特網(wǎng)時,操作系統(tǒng)B控制該設(shè)備。如果用戶接著插入光盤并按下設(shè)備上的 "播放"按鈕時,用戶通常期望在無需用戶從操作系統(tǒng)A切換到操作系統(tǒng)B的特 定動作的情況下發(fā)生光盤媒體回放。所描述的實現(xiàn)允許向用戶隱藏操作系統(tǒng)轉(zhuǎn)換和 選擇。
通常,當(dāng)操作系統(tǒng)引導(dǎo)并加載設(shè)備驅(qū)動程序時,設(shè)備驅(qū)動程序會將硬件初始 化到已知的狀態(tài)。在用戶可見屏幕或外部顯示器的情況下,該初始化會導(dǎo)致用戶可 察覺的閃爍,或者它可以使得外部顯示器暫時性地失去與設(shè)備信號的同步。通過為 每個操作系統(tǒng)實例改變設(shè)備驅(qū)動程序?qū)崿F(xiàn),可以使初始化階段考慮當(dāng)前顯示狀態(tài)并 且不執(zhí)行會導(dǎo)致閃爍、破壞或信號丟失的不必要的初始化步驟。這是如何可以將重 新引導(dǎo)序列設(shè)計成使得操作系統(tǒng)之間的轉(zhuǎn)換較不引起用戶注意的一個示例。
III.音頻和視頻回放設(shè)備的示例實現(xiàn)
本節(jié)包括用于為處理不同媒體格式(例如視頻盤格式)以供音頻和視頻回放 的媒體設(shè)備處理操作系統(tǒng)轉(zhuǎn)換的技術(shù)和工具的具體示例。在替換實現(xiàn)中,以下示例 中所示的步驟可以被重新排序、省略或用不同的步驟代替。
例如,描述從第二操作系統(tǒng)切換到第一操作系統(tǒng)的示例可以被擴展為在不再 使用第--操作系統(tǒng)支持的所請求的特征之后,或者響應(yīng)于使用第二操作系統(tǒng)支持的 特征的后續(xù)用戶動作,默認地切換回第二操作系統(tǒng)。只要必要或需要,操作系統(tǒng)之 間的轉(zhuǎn)換可以繼續(xù)。指定第二操作系統(tǒng)為最初主操作系統(tǒng)的示例可以被修改成指定 第一操作系統(tǒng)為最初主操作系統(tǒng),反之亦然。作為另一替換,設(shè)備可以使用除前兩 個操作系統(tǒng)之外的操作系統(tǒng)來支持不同的媒體格式。本節(jié)中的示例描述了執(zhí)行回放
操作(例如HDDVD、藍光或DVD視頻回放或CD音頻回放),但是操作系統(tǒng)可 以執(zhí)行特定操作系統(tǒng)專用的或兩個或更多操作系統(tǒng)通用的其它操作。本節(jié)中的示例 將盤改變描述為可以觸發(fā)操作系統(tǒng)之間的轉(zhuǎn)換的事件,但是其它事件也可以觸發(fā)操 作系統(tǒng)之間的轉(zhuǎn)換,諸如用戶選擇特定操作系統(tǒng)所支持的特征。本節(jié)中的示例描述 了兩個操作系統(tǒng)之間的切換,但是在超過兩個操作系統(tǒng)之間切換是可能的。 A.用于媒體格式改變的適度切換
在某些實現(xiàn)中,用于媒體格式改變的適度切換模型包括多核選擇過程,其中 兩個或多個處理核每個運行支持不同的媒體格式的不同的操作系統(tǒng)。適度切換模型 可以導(dǎo)致不同格式的內(nèi)容的更短的加載時間。
圖4是示出用于在設(shè)備中適度切換處理轉(zhuǎn)換的示例技術(shù)(400)的流程圖,該 設(shè)備使用第一操作系統(tǒng)來播放HD DVD盤并使用第二操作系統(tǒng)來播放其它盤格式的盤。在圖4所示的示例中,激活引導(dǎo)加載程序(405)并引導(dǎo)(410, 455)操作 系統(tǒng)A和B。操作系統(tǒng)B最初檢查(460)在設(shè)備中是否存在盤。如果存在盤,則 操作系統(tǒng)B確定(465)該盤是否是HDDVD盤。如果該盤不是HD DVD盤,則 操作系統(tǒng)B可以使用該操作系統(tǒng)來執(zhí)行所支持的特征功能(例如藍光、DVD或CD 音頻回放(470))。當(dāng)檢測到盤改變(475)時,操作系統(tǒng)確定(465)新的盤是 否是HDDVD盤。
當(dāng)操作系統(tǒng)B在啟動時或在盤改變后檢査盤時,如果盤是HDDVD盤,則操 作系統(tǒng)在必要時準(zhǔn)備(480)用于轉(zhuǎn)換到操作系統(tǒng)A的硬件資源并且向操作系統(tǒng)A 發(fā)送喚醒消息(485)。操作系統(tǒng)B進入空閑狀態(tài)(490)并檢査(495)來自操作 系統(tǒng)A的喚醒消息。在喚醒之后,操作系統(tǒng)B可以再次使用該操作系統(tǒng)來執(zhí)行所 支持的特征功能(例如藍光、DVD或CD音頻回放(470))。
在圖4所示的示例中,當(dāng)引導(dǎo)操作系統(tǒng)A時,它最初進入空閑狀態(tài)(415)。 操作系統(tǒng)A檢查(420)來自操作系統(tǒng)B的喚醒消息。在喚醒之后,操作系統(tǒng)A 可以使用該操作系統(tǒng)來執(zhí)行所支持的特征功能(例如HDDVD視頻回放(425))。
當(dāng)檢測到盤改變(430)時,操作系統(tǒng)檢查(435)新盤是否是HDDVD盤。 如果否,則操作系統(tǒng)在必要時準(zhǔn)備(440)用于轉(zhuǎn)換到操作系統(tǒng)B的硬件資源并且 向操作系統(tǒng)B發(fā)送喚醒消息(445)。操作系統(tǒng)A接著可返回到空閑狀態(tài)(415) 以等待可能的喚醒消息。
在某些實現(xiàn)中,每個操作系統(tǒng)的空閑狀態(tài)的目標(biāo)是當(dāng)相應(yīng)的操作系統(tǒng)空閑時, 避免訪問該設(shè)備中的硬件。例如,當(dāng)一個操作系統(tǒng)訪問光盤驅(qū)動器單元時,可以防 止處于空閑狀態(tài)的其它操作系統(tǒng)訪問該驅(qū)動器??梢杂貌煌姆绞絹硖幚砜臻e狀 態(tài)。例如,可以將操作系統(tǒng)中的設(shè)備驅(qū)動程序編碼來支持空閑模式?;蛘?,如果操 作系統(tǒng)支持動態(tài)地加載和卸載設(shè)備驅(qū)動程序,則可以卸載驅(qū)動程序以防止操作系統(tǒng) 訪問底層硬件。或者,可以將操作系統(tǒng)置于休眠某些操作系統(tǒng)允許將其狀態(tài)保存 到存儲器中并隨后停止,以供稍后快速重啟。這種休眠特征包括來自微軟公司的 Windows⑧操作系統(tǒng)中的休眠特征。
無需使用相同的機制來在設(shè)備上的每個操作系統(tǒng)中實現(xiàn)空閑狀態(tài)。例如,一 個操作系統(tǒng)可支持休眠,而另一操作系統(tǒng)僅支持加載和卸載驅(qū)動程序。支持休眠的 操作系統(tǒng)可以通過進入休眠狀態(tài)來實現(xiàn)空閑模式,而另一操作系統(tǒng)可以通過卸載設(shè) 備驅(qū)動程序來實現(xiàn)空閑模式。例如,在僅可卸載操作系統(tǒng)上的設(shè)備驅(qū)動程序的子集 的情況下,可以使用設(shè)備驅(qū)動程序卸載和直接支持空閑狀態(tài)的驅(qū)動程序的組合。該模型的替換是抽象設(shè)備中的硬件組件以通過固件層。操作系統(tǒng)中的驅(qū)動程 序可以與所抽象的組件通信,而非直接與硬件通信。這類似于BIOS概念,類似于 操作系統(tǒng)虛擬化環(huán)境,或類似于系統(tǒng)中使用的其中通過允許通過另一機制上來對物
理總線打隧道的層來抽象設(shè)備訪問(例如這樣使得連網(wǎng)驅(qū)動程序可以與USB總線
的遠側(cè)的網(wǎng)卡通信)的模型。接著可以在抽象對設(shè)備的訪問的中間層中實現(xiàn)空閑模 式功能。
圖5示出了具有雙核設(shè)計的雙引導(dǎo)設(shè)備(500)的示例,該雙核設(shè)計具有固件 (530)和共享硬件資源(540)。參考圖5,第二操作系統(tǒng)(510)(諸如基于Linux 的操作系統(tǒng)、其它Unix類或Unix變體操作系統(tǒng)、或其它操作系統(tǒng))支持藍光播放 器棧(514)以及第二操作系統(tǒng)(510)專用的驅(qū)動程序(512)。第一操作系統(tǒng)(520) (諸如Windows CE操作系統(tǒng)或其它操作系統(tǒng))支持HDDVD播放器棧(524) 以及第一操作系統(tǒng)(520)專用的驅(qū)動程序(522)。固件(530)包括引導(dǎo)加載程序 守護程序(532)并展示輸入/輸出服務(wù)(534)。固件(530)不從屬于任何特定操 作系統(tǒng),并且被用于仲裁引導(dǎo)加載和盤ID檢測狀態(tài)機。輸入/輸出服務(wù)(534)允 許兩個操作系統(tǒng)(510, 520)對設(shè)備硬件(550)的共享硬件資源(540)的單個進 入點。輸入/輸出服務(wù)(534)類似于現(xiàn)有BIOS服務(wù)。輸入/輸出服務(wù)(534)是簡單的但 足夠強大以允許移植不同的操作系統(tǒng)專用驅(qū)動程序(512, 522)而不犧牲太多的性 能或招致對現(xiàn)有驅(qū)動程序的太多基本改變。使用簡單的讀/寫/打開/關(guān)閉語義,如與 Unix系統(tǒng)中發(fā)現(xiàn)的"ioctl"系統(tǒng)調(diào)用相關(guān)聯(lián)的那些語義,這允許應(yīng)用程序控制設(shè)備 驅(qū)動程序或與其通信。
適度切換模型可使用額外的存儲器、對操作系統(tǒng)的處理硬件資源共享的修改、 和/或操作系統(tǒng)之間的協(xié)調(diào)切換的通信開銷,但是可以減少轉(zhuǎn)換時間并改進用戶體 驗。為了減少工程成本,在操作系統(tǒng)中做盡可能少的工作是合乎需要的。使用標(biāo)準(zhǔn) 設(shè)備驅(qū)動程序通常是優(yōu)選的。
B.用于媒體格式改變的熱引導(dǎo)模型
圖6是示出用于根據(jù)熱引導(dǎo)模型來在具有第一和第二操作系統(tǒng)可用的設(shè)備中 處理盤格式改變的示例技術(shù)(600)的流程圖,其中各操作系統(tǒng)不同時運行。在該 技術(shù)(600)中,激活(605)引導(dǎo)加載程序并檢查(610)指示是否執(zhí)行HDDVD 回放的標(biāo)志。如果設(shè)置了標(biāo)志,則設(shè)備引導(dǎo)(615)第一操作系統(tǒng)并執(zhí)行第一操作 系統(tǒng)所支持的功能(例如HDDVD回放(620))??蛇x地,使用除標(biāo)志之外的指 示符來指示將要執(zhí)行的功能和/或?qū)⒁褂媚囊徊僮飨到y(tǒng)。如果檢測到盤改變(625),則操作系統(tǒng)確定(630)它是否支持新盤。如果它不支持新盤,則清除(635) HD DVD標(biāo)志,并且在重新引導(dǎo)(640)時,激活(605)引導(dǎo)加載程序,并且所 清除的HDDVD標(biāo)志指示(610)要引導(dǎo)第二操作系統(tǒng)。
在重新引導(dǎo)(640)之后或者如果最初沒有設(shè)置HDDVD標(biāo)志,設(shè)備引導(dǎo)(655) 第二操作系統(tǒng)。第二操作系統(tǒng)最初檢査(660)在設(shè)備中是否存在盤。如果存在盤, 則第二操作系統(tǒng)確定(665)該盤是否是HDDVD盤。如果該盤不是HD DVD盤, 則第二操作系統(tǒng)可以執(zhí)行該操作系統(tǒng)專用的特征功能(例如藍光、DVD或CD音 頻回放(670))。在檢測到盤改變(675)時,操作系統(tǒng)確定(665)新盤是否是 HDDVD盤。
當(dāng)?shù)诙僮飨到y(tǒng)在引導(dǎo)時或在盤改變后檢查盤時,如果盤是HDDVD盤,則 操作系統(tǒng)設(shè)置(680) HDDVD標(biāo)志,并且在重新引導(dǎo)(685)時,激活(605)引 導(dǎo)加載程序并且HDDVD標(biāo)志指示(610)要引導(dǎo)第一操作系統(tǒng)。
重新引導(dǎo)(640, 685)是熱引導(dǎo),因為它們是在設(shè)備被打開后發(fā)生的??蛇x 地,可以直接使用加載和啟動操作系統(tǒng)的邏輯,而非通過引導(dǎo)加載程序循環(huán)回來。
在不同的操作系統(tǒng)的重新引導(dǎo)或其它加載和啟動時,可以跨該不同的操作系 統(tǒng)的控制來完全地或部分地持久保持某些硬件資源的狀態(tài),以減輕對用戶體驗的負 面影響。例如,高清晰度多媒體接口 ( "HDMI")控制器的狀態(tài)可不被復(fù)位,或 者前面板顯示器的狀態(tài)可不被復(fù)位。
對上述熱引導(dǎo)模型的若干替換和擴展是可能的。例如,盤類型標(biāo)識可被寫入 一次并且存在于設(shè)備的引導(dǎo)加載程序中。引導(dǎo)加載程序可以基于該盤類型標(biāo)識來選 擇正確的操作系統(tǒng)??梢允褂藐P(guān)閉和重新引導(dǎo)來處理盤改變,以便獲取引導(dǎo)加載程 序邏輯,這可以簡化構(gòu)建設(shè)備的設(shè)計工作。
作為另一示例,可以使耗時操作并行化。例如,從存儲器加載操作系統(tǒng)和回 放應(yīng)用程序和標(biāo)識媒體類型的過程可花費相當(dāng)多的時間。
圖7是示出用于并行地執(zhí)行熱引導(dǎo)媒體格式切換操作的示例技術(shù)(700)的流 程圖。在圖7所示的示例中,最初運行由當(dāng)前操作系統(tǒng)支持的回放應(yīng)用程序。打開 (710)光盤托盤,設(shè)備停止(720)當(dāng)前回放處理器,從而停止回放應(yīng)用程序。(該 步驟是可選的,但是為下一步驟釋放一些存儲器是合乎需要的。)設(shè)備開始將另一 操作系統(tǒng)加載(730)到存儲器中(如果由足夠的空閑存儲器)。當(dāng)插入(740)新 媒體時,系統(tǒng)標(biāo)識媒體類型(750)。操作系統(tǒng)加載(740)可以是冗長的操作,所 以設(shè)備不阻塞在操作系統(tǒng)加載(730)上,從而允許它與一個或多個其它步驟(例如媒體類型的標(biāo)識(750))并行地進行。媒體類型標(biāo)識(750)也可以是冗長的操 作,因此它也與一個或多個其它步驟(例如操作系統(tǒng)加載(730))同時進行。
設(shè)備檢查(760)當(dāng)前操作系統(tǒng)是否支持新媒體。如果新媒體類型將使用已經(jīng) 在運行的當(dāng)前操作系統(tǒng),則中止(770)加載新操作系統(tǒng)(730)并為新媒體啟動合 適的播放器應(yīng)用程序。如果新媒體類型將使用正在加載的操作系統(tǒng),貝U(如果必須) 設(shè)備等待操作系統(tǒng)完成加載(780)并且重新引導(dǎo),從而重啟存儲器中的新操作系 統(tǒng)。
一些熱引導(dǎo)實現(xiàn)并不依賴于特定的硬件平臺,需要較少的硬件資源,并且與 某些適度切換實現(xiàn)相比具有較低的總體復(fù)雜性。一些熱引導(dǎo)實現(xiàn)可以包括不同的內(nèi) 容格式的增加的內(nèi)容加載時間的成本。
IV.擴展和替換
設(shè)備設(shè)置應(yīng)用程序是潛在復(fù)雜的軟件應(yīng)用程序,它通常不綁定到任一記錄的 媒體。對于視頻盤播放器,通常經(jīng)由遙控器上的按鈕而非通過插入設(shè)置盤來訪問設(shè) 備設(shè)置功能。當(dāng)一次在設(shè)備中運行單個操作系統(tǒng)時,可以在每個操作系統(tǒng)上實現(xiàn)設(shè) 置,這使得開發(fā)設(shè)備的設(shè)計工作復(fù)雜化,但是可以得到更好的用戶體驗?;蛘?,可 以在單個操作系統(tǒng)上實現(xiàn)設(shè)置,從而在進入設(shè)置要求設(shè)備重新引導(dǎo)到支持該設(shè)置的 操作系統(tǒng)的情況下,,以可能的用戶體驗降低為代價來簡化設(shè)計工作??墒褂没旌?方法來獲取減少的設(shè)計工作和增加的可用性的混合。頻繁訪問的操作可以在超過一 個操作系統(tǒng)上實現(xiàn)(例如在回放期間啟用/禁用字幕),而較不頻繁的操作(例如 設(shè)置網(wǎng)絡(luò)連接)可以在單個操作系統(tǒng)上實現(xiàn)。當(dāng)在設(shè)備上同時運行多個操作系統(tǒng)時, 可以在單個操作系統(tǒng)上實現(xiàn)設(shè)置并仍然運作,而不管當(dāng)前在設(shè)備中的媒體的類型。 例如,可以在一個CPU核上運行的第二操作系統(tǒng)上實現(xiàn)設(shè)置,生成切換到控制HD DVD回放的第一操作系統(tǒng)的用戶界面。該用戶界面可以作為視頻回放的替換或補 充(例如,混合在一起或在分開的屏幕上窗口)來顯示。
設(shè)備可以實現(xiàn)熱引導(dǎo)和適度切換操作系統(tǒng)轉(zhuǎn)換技術(shù)的組合。例如,設(shè)備可以
基于諸如資源使用、轉(zhuǎn)換時間和對用戶體驗的潛在影響來確定是使用適度切換轉(zhuǎn)換
還是熱引導(dǎo)轉(zhuǎn)換。這樣,設(shè)備可以在處理操作系統(tǒng)之間的轉(zhuǎn)換時具有靈活性。
某些媒體格式需要除對回放和菜單導(dǎo)航的支持之外的高級功能支持,諸如可
擴展標(biāo)記語言("XML")支持、對ECMA腳本(標(biāo)準(zhǔn)化的腳本語言)的支持、 或Java支持。要求對這些種類的高級功能的支持的一些特征也可以驅(qū)動操作系統(tǒng) 轉(zhuǎn)換。使用雙格式盤可以導(dǎo)致類似于與盤改變相關(guān)聯(lián)的事件的觸發(fā)操作系統(tǒng)轉(zhuǎn)換的 事件。此處所描述的技術(shù)和工具可以結(jié)合雙格式盤使用。
參考各實施例描述和示出了本發(fā)明的原理之后,可以認識到,可以在排列和 細節(jié)上修改所述各實施例,而不脫離這些原理。應(yīng)當(dāng)理解,除非另外指明,否則此 處所描述的程序、過程或方法不相關(guān)于或不限于任何特定類型的計算環(huán)境??梢勒?此處所描述的教導(dǎo)來使用各種類型的通用或?qū)S糜嬎悱h(huán)境或執(zhí)行操作。各實施例中 以軟件示出的元素可以用硬件來實現(xiàn),反之亦然。
鑒于可應(yīng)用所公開的發(fā)明的原理的許多可能的實施例,應(yīng)該認識到,所示的 實施例僅是本發(fā)明的優(yōu)選示例,并且不應(yīng)該被認為是對本發(fā)明的范圍的限制。相反, 本發(fā)明的范圍由所附權(quán)利要求書來定義。因此,要求保護落入這些權(quán)利要求的范圍 和精神之內(nèi)的所有內(nèi)容作為本發(fā)明。
權(quán)利要求
1.一種播放用不同媒體格式編碼的不同數(shù)字媒體信息的方法,所述方法的特征在于在數(shù)字媒體播放器處接收第一數(shù)字媒體信息,所述數(shù)字媒體播放器在存儲器中具有處于第一空閑狀態(tài)(260)的第一操作系統(tǒng)并且在存儲器中具有處于活動狀態(tài)的第二操作系統(tǒng),所述第一數(shù)字媒體信息根據(jù)第一媒體格式來編碼;將所述第一操作系統(tǒng)從所述第一空閑狀態(tài)(260)喚醒(245,265),其中所述第一操作系統(tǒng)支持對所述第一媒體格式的媒體回放,并且其中所述第二操作系統(tǒng)支持對不同于所述第一媒體格式的第二媒體格式的媒體回放;以及使用在由所述第一操作系統(tǒng)提供的操作環(huán)境中運行的第一應(yīng)用程序來播放(270)所述第一數(shù)字媒體信息。
2. 如權(quán)利要求l所述的方法,其特征在于,還包括將所述第二操作系統(tǒng)置于第二空閑狀態(tài)(215),以便釋放資源以供所述第一 操作系統(tǒng)使用。
3. 如權(quán)利要求2所述的方法,其特征在于,還包括在所述數(shù)字媒體播放器處接收第二數(shù)字媒體信息,所述第二數(shù)字媒體信息根 據(jù)所述第二媒體格式來編碼;將所述第一操作系統(tǒng)置于第三空閑狀態(tài)(260),以便釋放資源以供所述第二 操作系統(tǒng)使用;將所述第二操作系統(tǒng)從所述第二空閑狀態(tài)(215)喚醒(290, 220); 使用在由所述第二操作系統(tǒng)提供的操作環(huán)境中運行的第二應(yīng)用程序來播放 (225)所述第二數(shù)字媒體信息。
4. 如權(quán)利要求2所述的方法,其特征在于,還包括 接收對導(dǎo)航或配置特征的請求;將所述第-操作系統(tǒng)置于第三空閑狀態(tài)(260),以便釋放資源以供所述第二 操作系統(tǒng)使用;將所述第二操作系統(tǒng)從所述第二空閑狀態(tài)(215)喚醒(290, 220); 在由所述第二操作系統(tǒng)提供的操作環(huán)境中呈現(xiàn)(225)用于所述導(dǎo)航或配置特 征的菜單。
5. 如權(quán)利要求l所述的方法,其特征在于,所述數(shù)字媒體播放器是獨立的設(shè)備、通信設(shè)備的一部分、或顯示設(shè)備的一部分。
6. 如權(quán)利要求1所述的方法,其特征在于,將所述第一操作系統(tǒng)從所述第一空閑狀態(tài)(260)喚醒(245, 265)包括從處于所述活動狀態(tài)的所述第二操作系統(tǒng) 向處于所述第一空閑狀態(tài)(260)的所述第一操作系統(tǒng)發(fā)送(245)喚醒消息。
7. 如權(quán)利要求1所述的方法,其特征在于,所述第一數(shù)字媒體信息包括高清 晰度視頻內(nèi)容,以及其中所述第一媒體格式是高清晰度視頻格式。
8. 如權(quán)利要求1所述的方法,其特征在于,將所述第一操作系統(tǒng)從所述第一 空閑狀態(tài)(260)喚醒(245, 265)是響應(yīng)于對用于編碼所述第一數(shù)字媒體信息的 所述第一媒體格式的標(biāo)識的。
9. 如權(quán)利要求l所述的方法,其特征在于,將所述第一操作系統(tǒng)從所述第一 空閑狀態(tài)(260)喚醒(245, 265)是響應(yīng)于用戶對所述第一操作系統(tǒng)所支持的導(dǎo) 航或配置特征的選擇的。
10. —種播放用不同媒體格式編碼的不同數(shù)字媒體信息的方法,所述方法的 特征在于在數(shù)字媒體播放器處接收第一數(shù)字媒體信息,所述數(shù)字媒體播放器具有在非 易失性存儲中存儲的第一操作系統(tǒng)和在非易失性存儲中存儲的第二操作系統(tǒng),所述 第二操作系統(tǒng)在存儲器中以活動狀態(tài)運行;標(biāo)識編碼所述第---數(shù)字媒體信息所依照的第一媒體格式,其中對所述第- -媒 體格式的回放由所述第一操作系統(tǒng)支持,并且其中對不同于所述第--媒體格式的第 二媒體格式的回放由所述第二操作系統(tǒng)支持;以及響應(yīng)于所述標(biāo)識,將所述第一操作系統(tǒng)從所述非易失性存儲加載(305, 310, 350)到存儲器中,其中當(dāng)所述第一操作系統(tǒng)在存儲器中以活動狀態(tài)運行時,所述 第一操作系統(tǒng)提供用于播放所述第一數(shù)字媒體信息的操作環(huán)境。
11. 如權(quán)利要求IO所述的方法,其特征在于,還包括使用在由所述第一操作系統(tǒng)提供的操作環(huán)境中運行的第一應(yīng)用程序來播放 (355)所述第一數(shù)字媒體信息,其中所述第一應(yīng)用程序可用于解碼根據(jù)所述第一 媒體格式編碼的所述第一數(shù)字媒體信息。
12. 如權(quán)利要求IO所述的方法,其特征在于,所述數(shù)字媒體播放器是獨立設(shè) 備、通信設(shè)備的一部分、或顯示設(shè)備的一部分。
13. 如權(quán)利要求IO所述的方法,其特征在于,還包括 接收對導(dǎo)航或配置特征的請求;關(guān)閉所述第一操作系統(tǒng);將所述第二操作系統(tǒng)從所述非易失性存儲加載(305, 310, 315)到存儲器中, 其中所述第二操作系統(tǒng)提供用于呈現(xiàn)用于所述導(dǎo)航或配置特征的菜單的操作環(huán)境; 以及在由所述第二操作系統(tǒng)提供的操作環(huán)境中呈現(xiàn)(320)所述菜單。
14. 如權(quán)利要求10所述的方法,其特征在于,所述第一數(shù)字媒體信息包括高 清晰度視頻內(nèi)容,并且其中所述第一媒體格式是高清晰度視頻格式。
15. 如權(quán)利要求IO所述的方法,其特征在于,還包括在所述第一操作系統(tǒng)在 存儲器中以活動狀態(tài)運行之前關(guān)閉所述第二操作系統(tǒng)。
16. 如權(quán)利要求15所述的方法,其特征在于,還包括在所述數(shù)字媒體播放器處接收第二數(shù)字媒體信息,所述第二數(shù)字媒體信息根 據(jù)所述第二媒體格式來編碼;標(biāo)識(365)所述第二媒體格式;以及響應(yīng)于標(biāo)識所述第二媒體格式,關(guān)閉所述第一操作系統(tǒng),并將所述第二操作系統(tǒng)從非易失性存儲加載(305、 310, 315)到存儲器中,其中所述第二操作系統(tǒng) 提供用于播放所述第二數(shù)字媒體信息的操作環(huán)境。
17. —種播放用不同媒體格式編碼的不同數(shù)字媒體信息的方法,所述方法的特征在于在數(shù)字媒體播放器處接收第一數(shù)字媒體信息,所述數(shù)字媒體播放器在存儲器中具有處于第一空閑狀態(tài)(260)的第一操作系統(tǒng)并在存儲器中具有處于活動狀態(tài) 的第二操作系統(tǒng),所述第一數(shù)字媒體信息根據(jù)第一媒體格式來編碼;將所述第一操作系統(tǒng)從所述第一空閑狀態(tài)(260)喚醒(245, 265),其中所 述第一操作系統(tǒng)支持對所述第一媒體格式的媒體回放,并且其中所述第二操作系統(tǒng) 支持對不同于所述第一媒體格式的第二媒體格式的媒體回放;持久保持多個硬件組件中的至少一個的狀態(tài);將對所述多個硬件組件的控制從所述第二操作系統(tǒng)轉(zhuǎn)移到所述第一操作系統(tǒng);使用在由所述第一操作系統(tǒng)提供的操作環(huán)境中運行的第一應(yīng)用程序來播放 (270)所述第一數(shù)字媒體信息。
18. 如權(quán)利要求17所述的方法,其特征在于,所述至少一個硬件組件是連接 到所述數(shù)字媒體播放器的顯示器,并且其中所述持久保持的狀態(tài)包括所顯示的信息。
19. 如權(quán)利要求18所述的方法,其特征在于,所顯示的信息包括菜單。
20. 如權(quán)利要求17所述的方法,其特征在于,固件層(530)提供輸入/輸出 服務(wù)(534)來抽象對所述多個硬件組件的訪問,并且其中所述固件層實現(xiàn)所述第 一空閑狀態(tài)(260)的空閑模式功能。
全文摘要
用于在消費電子設(shè)備中支持多個操作系統(tǒng)的技術(shù)和工具。例如,描述了允許在支持不同的媒體類型的視頻盤播放器中的操作系統(tǒng)之間快速切換,同時減少等待時間并減輕對用戶體驗可能的負面影響的技術(shù)和工具。
文檔編號G06F9/46GK101606128SQ200880003845
公開日2009年12月16日 申請日期2008年1月15日 優(yōu)先權(quán)日2007年2月6日
發(fā)明者B·D·金, J·A·戴維斯, J·C·芬格, P·P·查弗達 申請人:微軟公司