TW201610848A - 作業系統的融合方法及裝置 - Google Patents
作業系統的融合方法及裝置 Download PDFInfo
- Publication number
- TW201610848A TW201610848A TW104102875A TW104102875A TW201610848A TW 201610848 A TW201610848 A TW 201610848A TW 104102875 A TW104102875 A TW 104102875A TW 104102875 A TW104102875 A TW 104102875A TW 201610848 A TW201610848 A TW 201610848A
- Authority
- TW
- Taiwan
- Prior art keywords
- operating system
- agent
- module
- input buffer
- terminal
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
- Cosmetics (AREA)
Abstract
本發明公開了一種作業系統的融合方法及裝置,用以解決現有技術中各作業系統之間的切換效率較低的問題。該方法先啟動第一作業系統及其代理程序,再啟動第二作業系統,第二作業系統可調用該代理程序以向第一作業系統請求該第二作業系統所需的資源。透過上述方法,第二作業系統可直接向第一作業系統請求所需的資源,從而實現了第一作業系統和第二作業系統的共存,無需作業系統之間相互切換。
Description
本發明涉及電腦技術領域,尤其涉及一種作業系統的融合方法及裝置。
隨著電腦技術的發展,適合各種設備、各種應用程式(Application,APP)的作業系統也層出不窮。
在實際應用場景中,由於不同作業系統下的APP往往具有不同的特點,因此,對於使用同一個設備的使用者來說,其往往也會需要使用不同作業系統下的APP,從而,如何在同一個設備上融合不同的作業系統成為一個極待解決的問題。
在現有技術中,通常採用以下兩種方式來將不同的作業系統融合在一個設備上:
方式一、直接在一個設備上安裝多個作業系統。透過這種方式,使用者可在該設備啟動時,選擇其所需的作業系統並運行,當其選擇的作業系統運行後,使用者即可使用該作業系統下的APP。
顯然,採用方式一融合多個作業系統時,使用者需要
在設備啟動時選擇所需的作業系統,當使用者想切換到另一個作業系統時,只能手動重啟設備,才能切換到另一個作業系統,非常不便於操作,系統間的切換效率很低。
方式二、將多個作業系統安裝在虛擬機器上。透過這種方式,可實現一個作業系統在運行時切換到另一個作業系統,而無需使用者重啟設備。
但是採用方式二融合多個作業系統時,使用者仍需要手動的切換作業系統,系統間的切換效率仍然較低,而且,對於普通的個人電腦(Personal Computer,PC)來說,支援虛擬機器的PC所要求的門檻也相當高,另外,多個作業系統中的APP也均需要硬體的支援,虛擬化效率也較低,因此,方式二的適用性也較低。
可見,在現有技術中,對於融合了多個作業系統的設備來說,這些作業系統之間的切換效率較低。
本發明實施例提供一種作業系統的融合方法及裝置,用以解決現有技術中各作業系統之間的切換效率較低的問題。
本發明實施例提供的一種作業系統的融合方法,包括:終端啟動第一作業系統,並啟動所述第一作業系統的代理程序;所述終端啟動第二作業系統;並
透過所述第二作業系統調用所述代理程序;以及透過所述代理程序向所述第一作業系統請求所述第二作業系統所需的資源;所述終端將請求到的資源提供給所述第二作業系統使用。
本發明實施例提供的一種作業系統的融合方法,第一作業系統和第二作業系統安裝於同一個終端上,所述方法包括:所述第二作業系統調用所述第一作業系統的代理程序,其中,所述代理程序是由所述第一作業系統啟動的;所述第二作業系統透過所述代理程序向所述第一作業系統請求資源;並採用請求到的資源進行後續處理。
本發明實施例提供的一種作業系統的融合裝置,包括:第一啟動模組,用於啟動第一作業系統,並啟動所述第一作業系統的代理程序;第二啟動模組,用於啟動第二作業系統;調用模組,使用者透過所述第二作業系統調用所述代理程序;資源請求模組,用於透過所述代理程序向所述第一作業系統請求所述第二作業系統所需的資源;提供模組,用於將請求到的資源提供給所述第二作業系統使用。
本發明實施例提供的一種作業系統的融合裝置,包括:第一啟動模組,用於啟動第一作業系統,並啟動所述第一作業系統的代理程序;第二啟動模組,用於啟動第二作業系統;調用模組,使用者透過所述第二作業系統調用所述代理程序;資源請求模組,用於透過所述代理程序向所述第一作業系統請求所述第二作業系統所需的資源;提供模組,用於將請求到的資源提供給所述第二作業系統使用。
本發明實施例提供一種作業系統的融合方法及裝置,該方法終端先啟動第一作業系統及其代理程序,再啟動第二作業系統,第二作業系統可調用該代理程序以向第一作業系統請求該第二作業系統所需的資源。透過上述方法,第二作業系統可直接向第一作業系統請求所需的資源,從而實現了第一作業系統和第二作業系統的共存,無需作業系統之間相互切換。
401‧‧‧第一啟動模組
402‧‧‧第二啟動模組
403‧‧‧調用模組
404‧‧‧資源請求模組
405‧‧‧提供模組
501‧‧‧調用模組
502‧‧‧請求模組
503‧‧‧處理模組
此處所說明的圖式用來提供對本發明的進一步理解,構成本發明的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在圖式中:
圖1為本發明實施例提供的作業系統的融合過程;圖2為本發明實施例提供的安卓系統和X系統融合時的系統結構示意圖;圖3為本發明實施例提供的X系統與該X系統下的APP進行交互的示意圖;圖4為本發明實施例提供的作業系統的融合裝置結構示意圖;圖5為本發明實施例提供的另一種作業系統的融合裝置結構示意圖。
為使本發明的目的、技術方案和優點更加清楚,下面將結合本發明具體實施例及相應的圖式對本發明技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域中具有通常知識者在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
圖1為本發明實施例提供的作業系統的融合過程,具體包括以下步驟:
S101:終端啟動第一作業系統,並啟動該第一作業系統的代理程序。
在本發明實施例中,所述的代理程序是該第一作業系統自身的一個程序,該代理程序用於被其他程式調用,以
透過該代理程序向該第一作業系統請求資源。
例如,假設該第一作業系統為安卓(Android)系統,則終端可先啟動該安卓系統,並啟動安卓系統的代理程序。
S102:終端啟動第二作業系統。
在本發明實施例中,第一作業系統和第二作業系統安裝於同一個終端上,第二作業系統即可在第一作業系統啟動之後再啟動,也可與第一作業系統同時啟動。
繼續沿用上例,假設第二作業系統為X系統,則終端可在啟動了安卓系統和安卓系統的代理程序後,啟動該X系統。
S103:透過第二作業系統調用該代理程序。
S104:透過該代理程序向第一作業系統請求該第二作業系統所需的資源。
終端啟動了第二作業系統後,第二作業系統即可調用該第一作業系統的代理程序,用以透過該代理程序向第一作業系統請求該第二作業系統自身所需的資源。其中,本發明實施例中所述的資源包括但不限於:圖形輸入緩衝、使用者操作事件、輸入法介面等。
繼續沿用上例,X系統啟動後,可調用安卓系統的代理程序,透過該代理程序,X系統可向安卓系統請求該X系統自身或該X系統下的APP所需的資源,其中,APP包括但不限於本地安裝的APP以及Web APP。
S105:終端將請求到的資源提供給該第二作業系統使
用。
第二作業系統透過該代理程序向第一作業系統請求到其所需的資源後,即可採用請求到的資源進行後續處理,即,第二作業系統可使用該資源運行自身的服務程序或自身的APP。
可見,透過上述方法,對於第一作業系統來說,由於代理程序是該第一作業系統自己的程序,或者說第一作業系統將代理程序視為一個可信的程序,因此,第二作業系統透過該代理程序向第一作業系統請求資源時,第一作業系統實際上並不知曉到底是誰在請求資源,也就是說,第一作業系統實際上並不知道第二作業系統的存在,只將第二作業系統當成是一個普通的、透過代理程序請求資源的APP而已,第二作業系統對於第一作業系統是不可見的。而對於第二作業系統來說,它只要透過代理程序請求到其所需的資源,就可以運行其自身的服務程序或其APP以為使用者提供服務,因此,上述方法可實現第一作業系統與第二作業系統的共存,使用者無需在第一作業系統和第二作業系統之間進行切換,有效的提高了用戶操作的便利性。從而,對於功能類似但只能在第一作業系統和第二作業系統其中之一上運行的APP來說,使用者並不需要在兩個作業系統上都安裝各自的APP,只需要在一個作業系統上安裝APP即可,如,通訊錄APP。
在本發明實施例中,當上述的第一作業系統為安卓系統時,代理程序可以是根據安卓系統的標準框架預設的一
個Activity,可稱為Proxy Activity,該Proxy Activity與安卓系統中的普通Activity類似,均可被任意程式(如APP或第二作業系統等)調用,調用方法與安卓系統下的APP調用普通Activity的方法是相同的。
該Proxy Activity與安卓系統中的普通Activity相比,區別僅在於:終端啟動安卓系統中的普通Activity時,會透過該普通Activity回檔相應的APP,並將該APP的介面(包括該APP中的控制項等)顯示在該普通Activity對應的視窗中,該普通Activity還會根據該APP中預設的規則,對安卓系統監控到的使用者操作事件做出回應,而終端啟動Proxy Activity時,不會透過該Proxy Activity回檔任何APP或其他程式,而是將該Proxy Activity對應的視窗隱藏起來(安卓系統的標準框架中已經規定了可以隱藏一個Activity對應的視窗以及隱藏一個Activity對應的視窗的方法,因此本發明中對此不再贅述),該Proxy Activity僅用於在安卓系統和第二作業系統之間傳遞該第二作業系統所需的資源。
進一步的,要實現作業系統之間的相互融合,就要解決如何用同一個硬體設備(即,終端中的各硬體設備)為多個作業系統服務,而其中最為重要的就是如何顯示不同作業系統的圖形介面(或者說視窗)。因此,在本發明實施例中,終端可透過第一作業系統的代理程序向該第一作業系統請求該第二作業系統所需的圖形輸入緩衝,並為請求到的該圖形輸入緩衝設置Z序。則第二作業系統使用請
求到的資源時,終端可將請求到的圖形輸入緩衝提供給第二作業系統,使第二作業系統或第二作業系統下的APP將顯示資料透過該圖形輸入緩衝寫入該終端自身的顯示裝置中,以供該終端自身的顯示裝置根據寫入的顯示資料和該圖形輸入緩衝的Z序繪製要顯示的圖像。
其中,圖形輸入緩衝是終端中顯示裝置(如顯卡等)的一部分緩衝區。Z序是終端顯示各圖形輸入緩衝中的顯示資料對應的圖像的先後順序,一個圖形輸入緩衝的Z序越靠前,終端顯示該圖形輸入緩衝中的顯示資料對應的圖像的位置越靠頂層,反之,圖形輸入緩衝的Z序越靠後,終端顯示相應圖像的位置越靠底層。
下面以終端的顯示裝置為顯卡為例進行說明。
一般的,要想透過終端中的顯卡顯示一個圖像,就需要將該圖像的顯示資料寫入該終端的顯卡的緩衝區中,而顯卡緩衝區的分配就是由第一作業系統來決定。假如第一作業系統下的某個APP需要顯示一個圖像,則該APP就可向該第一作業系統請求圖形輸入緩衝,該第一作業系統則將顯卡快取記憶體中的一部分作為圖形輸入緩衝分配給該APP,該APP則透過該圖形輸入緩衝將要顯示的圖像的顯示資料寫入顯卡緩衝區中,顯卡則讀取其緩衝區中的顯示資料,繪製並顯示相應的圖像。在第一作業系統為該APP分配圖形輸入緩衝時,會為該圖形輸入緩衝設置Z序,Z序則決定了後續顯示圖像的位置(也即,相互覆蓋的關係),一般的,桌布的Z序是比較靠底層的,也就是
說,其他APP的圖像會覆蓋桌布。
而對於第一作業系統和第二作業系統融合的場景來說,透過本發明實施例提供的方法,第二作業系統就可透過第一作業系統的代理程序,向第一作業系統請求圖形輸入緩衝,第一作業系統則為第二作業系統分配圖形輸入緩衝,並為分配的該圖形輸入緩衝設置Z序。第二作業系統在請求到圖形輸入緩衝後,即可透過該圖形輸入緩衝,將顯示資料寫入顯卡緩衝區中,使顯卡繪製圖像並根據Z序顯示相應的圖像。可以看出,對於第一作業系統來說,第二作業系統就相當於是一個使用代理程序請求圖形輸入緩衝和Z序的普通程式而已。
另外,在本發明實施例中,對於第二作業系統或者該第二作業系統下的APP來說,如何運行或提供什麼樣的服務基本完全取決於使用者的操作,因此,第二作業系統也需要獲知使用者執行了何種操作。從而,終端可透過該第一作業系統的代理程序向第一作業系統請求監控到的使用者操作事件,再將請求到的用戶操作事件提供給第二作業系統,使第二作業系統或第二作業系統下的APP根據該使用者操作事件執行相應的操作。
例如,簡單來講,對於用戶的點擊操作,第二作業系統需要獲知使用者點擊的位置在哪,而這些使用者操作事件都是由終端本身的硬體監控併發送給第一作業系統的,因此,第二作業系統仍可透過第一作業系統的代理程序,向第一作業系統請求這些使用者操作事件,再根據請求到
的這些使用者操作事件執行相應的操作。
考慮到在實際應用場景中,第二作業系統或第二作業系統下的APP也可能需要調用輸入法介面,使使用者透過該輸入法介面輸入漢字、字母、數位等字元,因此,終端可透過該代理程序向第一作業系統請求調用輸入法介面,並顯示該輸入法介面。也即,第二作業系統仍可透過該代理程序向第一作業系統調用輸入法介面,需要說明的是,調用的該輸入法介面是該第一作業系統的輸入法介面,而不是第二作業系統的輸入法介面。
進一步的,由於該輸入法介面是用於使使用者輸入字元的,因此,輸入法介面應該被顯示在第二作業系統或第二作業系統下的APP所顯示的圖像之上,從而,當終端透過該代理程序向第一作業系統請求第二作業系統所需的圖形輸入緩衝時,為該圖形輸入緩衝設置的Z序排在輸入法介面的Z序之後。也就是說,第二作業系統調用的輸入法介面永遠展示在第二作業系統或其下的APP所顯示的圖像之上。具體的,可預設該第一作業系統的輸入法介面的Z序排在最前邊。
下面以第一作業系統為安卓系統、第二作業系統為X系統為例,說明二者融合時的系統結構。
圖2為本發明實施例提供的安卓系統和X系統融合時的系統結構示意圖,在圖2所示的系統結構中,包括安卓系統、代理程序、X系統、X系統下的APP以及顯示的圖像。
安卓系統中包括系統服務單元、輸入法單元、程式使用者介面(User Interface,UI)單元、程式管理單元、視窗管理單元和圖形緩衝控制器;其中:系統服務單元用於向使用者提供安卓系統的系統服務;輸入法單元用於管理安卓系統的輸入法介面及其相關功能;系統UI單元用於管理安卓系統的UI;程式管理單元用於管理安卓系統以及安卓系統下的各APP的程式程序;視窗管理單元用於管理終端顯卡的緩衝區以及負責Z序的設置;圖形緩衝控制器用於管理各程式透過圖形輸入緩衝寫入的顯示資料。
代理程序中包括圖形緩衝用戶端、輸入法代理單元、事件代理單元以及其他單元;其中:圖形緩衝用戶端用於向安卓系統請求圖形輸入緩衝;輸入法代理單元用於向安卓系統請求輸入法介面;事件代理單元用於向安卓系統請求監控到的使用者操作事件;其他單元用於執行其他功能。
X系統包括程式單元管理器、視窗管理器、圖形緩衝管理器;其中:程式單元管理器用於管理該X系統下的各APP中的
程式單元;視窗管理器用於透過代理程序向安卓系統請求圖形輸入緩衝;圖形緩衝管理器用於管理該X系統下的各APP透過圖形輸入緩衝寫入的顯示資料。
X系統下的APP包括若干程式單元、程式引擎、圖形庫以及圖形用戶端;其中:程式單元用於提供相應的功能;程式引擎用於調用執行語句以運行各程式單元;圖形庫用於保存要顯示的圖像的顯示資料;圖形用戶端用於將顯示資料透過圖形輸入緩衝寫入終端的顯卡。
顯示的圖像包括安卓系統狀態介面、輸入法介面、X系統下的APP的視窗介面、X系統下的APP的靜態/動態圖像、桌布圖像。
在圖2所示的系統結構中,安卓系統與代理程序透過普通交互通道進行交互,代理程序與X系統透過專門的代理通道進行交互,X系統與X系統下的APP透過普通交互通道進行交互。具體的,由於本發明中所述的代理程序是安卓系統標準框架下的一個Activity,因此,安卓系統與代理程序之間的普通交互通道是指安卓系統中的普通Activity與安卓系統的內核(即為Linux內核)交互時所使用的通道。由於對於安卓系統而言,X系統是不可見的,就相當於是一個普通的APP,因此,X系統與代理程
序之間的代理通道就相當於是安卓系統下的APP與一個普通Activity之間交互的通道。X系統與X系統下的APP之間的普通交互通道是指X系統的內核與X系統下的APP進行交互的通道。
圖3為本發明實施例提供的X系統與該X系統下的APP進行交互的示意圖,在圖3中,X系統中的程式單元管理器包括程式單元棧結構模組、程式單元屬性記錄模組、任務記錄模組、程式單元管理服務模組。其中:程式單元棧結構模組用於暫時儲存要執行的該X系統下的APP中的程式單元;程式單元屬性記錄模組用於記錄要執行的程式單元的屬性;任務記錄模組用於記錄執行的任務;程式單元管理服務模組用於管理執行的程式單元。
在圖3中,X系統下的各APP中的程式單元不僅可以調用本APP中的程式單元,還可以調用其他APP中的程式單元(即,跨APP調用)。
APP中的程式引擎可透過調用基本庫中的基本執行語句以及該X系統,執行該APP中的程式單元。
以上為本發明實施例提供的作業系統的融合方法,基於同樣的思路,本發明實施例還提供了作業系統的融合裝置,如圖4和圖5所示。
圖4為本發明實施例提供的作業系統的融合裝置結構示意圖,具體包括:
第一啟動模組401,用於啟動第一作業系統,並啟動所述第一作業系統的代理程序;第二啟動模組402,用於啟動第二作業系統;調用模組403,使用者透過所述第二作業系統調用所述代理程序;資源請求模組404,用於透過所述代理程序向所述第一作業系統請求所述第二作業系統所需的資源;提供模組405,用於將請求到的資源提供給所述第二作業系統使用。
所述資源請求模組404具體用於,透過所述代理程序向所述第一作業系統請求所述第二作業系統所需的圖形輸入緩衝,並為所述圖形輸入緩衝設置Z序;所述提供模組405具體用於,將請求到的所述圖形輸入緩衝提供給所述第二作業系統,使所述第二作業系統或所述第二作業系統下的應用程式APP將顯示資料透過所述圖形輸入緩衝寫入所述裝置自身的顯示裝置中,以供所述裝置自身的顯示裝置根據寫入的所述顯示資料和所述Z序繪製要顯示的圖像。
所述資源請求模組404具體用於,透過所述代理程序向所述第一作業系統請求監控到的使用者操作事件;所述提供模組405具體用於,將請求到的所述用戶操作事件提供給所述第二作業系統,使所述第二作業系統或所述第二作業系統下的應用程式APP根據所述使用者操作事件執行相應的操作。
所述資源請求模組404具體用於,透過所述代理程序向所述第一作業系統請求調用輸入法介面;所述提供模組405具體用於,顯示所述輸入法介面。
所述資源請求模組404還用於,當透過所述代理程序向所述第一作業系統請求所述第二作業系統所需的圖形輸入緩衝時,為所述圖形輸入緩衝設置的Z序排在所述輸入法介面的Z序之後。
具體的如圖4所示的裝置可以位於終端中。
圖5為本發明實施例提供的另一種作業系統的融合裝置結構示意圖,具體包括:調用模組501,用於調用第一作業系統的代理程序,其中,所述代理程序是由所述第一作業系統啟動的;請求模組502,用於透過所述代理程序向所述第一作業系統請求資源;處理模組503,用於採用請求到的資源進行後續處理。
所述請求模組502具體用於,透過所述代理程序向所述第一作業系統請求圖形輸入緩衝;所述處理模組503具體用於,將顯示資料透過所述圖形輸入緩衝寫入顯示裝置中,以供所述顯示裝置根據寫入的所述顯示資料以及所述第一作業系統為所述圖形輸入緩衝設置的Z序繪製要顯示的圖像。
所述請求模組502具體用於,透過所述代理程序向所述第一作業系統請求使用者操作事件,其中,所述用戶操
作事件是所述第一作業系統監控到的。
所述請求模組502具體用於,透過所述代理程序向所述第一作業系統請求調用輸入法介面。
本發明實施例提供一種作業系統的融合方法及裝置,該方法終端先啟動第一作業系統及其代理程序,再啟動第二作業系統,第二作業系統可調用該代理程序以向第一作業系統請求該第二作業系統所需的資源。透過上述方法,第二作業系統可直接向第一作業系統請求所需的資源,從而實現了第一作業系統和第二作業系統的共存,無需作業系統之間相互切換。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀介質中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀介質的示例。
電腦可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存介質的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯
讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存器、磁盒式磁帶,磁帶磁片儲存器或其他磁性存放裝置或任何其他非傳輸介質,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀介質不包括暫存電腦可讀媒體(transitory media),如調製的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域中具有通常知識者應明白,本發明的實施例可提供為方法、系統或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存介質(包括但不限於磁碟記憶體、CD-ROM、光學儲存器等)上實施的電腦程式產品的形式。
以上所述僅為本發明的實施例而已,並不用於限制本發明。對於本領域中具有通常知識者來說,本發明可以有各種更改和變化。凡在本發明的精神和原理之內所作的任
何修改、等同替換、改進等,均應包含在本發明的申請專利範圍之內。
Claims (18)
- 一種作業系統的融合方法,其特徵在於,包括:終端啟動第一作業系統,並啟動該第一作業系統的代理程序;該終端啟動第二作業系統;並透過該第二作業系統調用該代理程序;以及透過該代理程序向該第一作業系統請求該第二作業系統所需的資源;該終端將請求到的資源提供給該第二作業系統使用。
- 如請求項1所述的方法,其中,透過該代理程序向該第一作業系統請求該第二作業系統所需的資源,具體包括:透過該代理程序向該第一作業系統請求該第二作業系統所需的圖形輸入緩衝,並為該圖形輸入緩衝設置Z序;該終端將請求到的資源提供給該第二作業系統使用,具體包括:該終端將請求到的該圖形輸入緩衝提供給該第二作業系統,使該第二作業系統或該第二作業系統下的應用程式APP將顯示資料透過該圖形輸入緩衝寫入該終端自身的顯示裝置中,以供該終端自身的顯示裝置根據寫入的該顯示資料和該Z序繪製要顯示的圖像。
- 如請求項1所述的方法,其中,透過該代理程序向該第一作業系統請求該第二作業系統所需的資源,具體包括: 透過該代理程序向該第一作業系統請求監控到的使用者操作事件;該終端將請求到的資源提供給該第二作業系統使用,具體包括:該終端將請求到的該用戶操作事件提供給該第二作業系統,使該第二作業系統或該第二作業系統下的應用程式APP根據該使用者操作事件執行相應的操作。
- 如請求項1所述的方法,其中,透過該代理程序向該第一作業系統請求該第二作業系統所需的資源,具體包括:透過該代理程序向該第一作業系統請求調用輸入法介面;該終端將請求到的資源提供給該第二作業系統使用,具體包括:該終端顯示該輸入法介面。
- 如請求項4所述的方法,其中,該方法還包括:當該終端透過該代理程序向該第一作業系統請求該第二作業系統所需的圖形輸入緩衝時,為該圖形輸入緩衝設置的Z序排在該輸入法介面的Z序之後。
- 一種作業系統的融合方法,其特徵在於,第一作業系統和第二作業系統安裝於同一個終端上,該方法包括:該第二作業系統調用該第一作業系統的代理程序,其中,該代理程序是由該第一作業系統啟動的;該第二作業系統透過該代理程序向該第一作業系統請 求資源;並採用請求到的資源進行後續處理。
- 如請求項6所述的方法,其中,該第二作業系統透過該代理程序向該第一作業系統請求資源,具體包括:該第二作業系統透過該代理程序向該第一作業系統請求圖形輸入緩衝;採用請求到的資源進行後續處理,具體包括:該第二作業系統將顯示資料透過該圖形輸入緩衝寫入該終端自身的顯示裝置中,以供該顯示裝置根據寫入的該顯示資料以及該第一作業系統為該圖形輸入緩衝設置的Z序繪製要顯示的圖像。
- 如請求項6所述的方法,其中,該第二作業系統透過該代理程序向該第一作業系統請求資源,具體包括:該第二作業系統透過該代理程序向該第一作業系統請求使用者操作事件,其中,該用戶操作事件是該第一作業系統監控到的。
- 如請求項6所述的方法,其中,該第二作業系統透過該代理程序向該第一作業系統請求資源,具體包括:該第二作業系統透過該代理程序向該第一作業系統請求調用輸入法介面。
- 一種作業系統的融合裝置,其特徵在於,包括:第一啟動模組,用於啟動第一作業系統,並啟動該第一作業系統的代理程序;第二啟動模組,用於啟動第二作業系統; 調用模組,使用者透過該第二作業系統調用該代理程序;資源請求模組,用於透過該代理程序向該第一作業系統請求該第二作業系統所需的資源;提供模組,用於將請求到的資源提供給該第二作業系統使用。
- 如請求項10所述的裝置,其中,該資源請求模組具體用於,透過該代理程序向該第一作業系統請求該第二作業系統所需的圖形輸入緩衝,並為該圖形輸入緩衝設置Z序;該提供模組具體用於,將請求到的該圖形輸入緩衝提供給該第二作業系統,使該第二作業系統或該第二作業系統下的應用程式APP將顯示資料透過該圖形輸入緩衝寫入該裝置自身的顯示裝置中,以供該裝置自身的顯示裝置根據寫入的該顯示資料和該Z序繪製要顯示的圖像。
- 如請求項10所述的裝置,其中,該資源請求模組具體用於,透過該代理程序向該第一作業系統請求監控到的使用者操作事件;該提供模組具體用於,將請求到的該用戶操作事件提供給該第二作業系統,使該第二作業系統或該第二作業系統下的應用程式APP根據該使用者操作事件執行相應的操作。
- 如請求項10所述的裝置,其中,該資源請求模組具體用於,透過該代理程序向該第一作業系統請求調用輸 入法介面;該提供模組具體用於,顯示該輸入法介面。
- 如請求項13所述的裝置,其中,該資源請求模組還用於,當透過該代理程序向該第一作業系統請求該第二作業系統所需的圖形輸入緩衝時,為該圖形輸入緩衝設置的Z序排在該輸入法介面的Z序之後。
- 一種作業系統的融合裝置,其特徵在於,包括:調用模組,用於調用第一作業系統的代理程序,其中,該代理程序是由該第一作業系統啟動的;請求模組,用於透過該代理程序向該第一作業系統請求資源;處理模組,用於採用請求到的資源進行後續處理。
- 如請求項15所述的裝置,其中,該請求模組具體用於,透過該代理程序向該第一作業系統請求圖形輸入緩衝;該處理模組具體用於,將顯示資料透過該圖形輸入緩衝寫入顯示裝置中,以供該顯示裝置根據寫入的該顯示資料以及該第一作業系統為該圖形輸入緩衝設置的Z序繪製要顯示的圖像。
- 如請求項15所述的裝置,其中,該請求模組具體用於,透過該代理程序向該第一作業系統請求使用者操作事件,其中,該用戶操作事件是該第一作業系統監控到的。
- 如請求項15所述的裝置,其中,該請求模組具體 用於,透過該代理程序向該第一作業系統請求調用輸入法介面。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410466753.1A CN105404547A (zh) | 2014-09-12 | 2014-09-12 | 一种操作系统的融合方法及装置 |
??201410466753.1 | 2014-09-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201610848A true TW201610848A (zh) | 2016-03-16 |
TWI649695B TWI649695B (zh) | 2019-02-01 |
Family
ID=55454852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104102875A TWI649695B (zh) | 2014-09-12 | 2015-01-28 | Method and device for integrating operating system |
Country Status (5)
Country | Link |
---|---|
US (1) | US9684548B2 (zh) |
CN (1) | CN105404547A (zh) |
HK (1) | HK1221785A1 (zh) |
TW (1) | TWI649695B (zh) |
WO (1) | WO2016040797A2 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107241651B (zh) * | 2016-03-28 | 2021-02-26 | 斑马智行网络(香港)有限公司 | 一种媒体数据播放方法和装置、智能终端 |
CN107077375B (zh) * | 2016-12-27 | 2020-08-04 | 深圳前海达闼云端智能科技有限公司 | 用于多操作系统的显示方法、装置和电子设备 |
CN106951249B (zh) * | 2017-03-16 | 2021-02-02 | 北京元心科技有限公司 | 多系统终端设备中窗口的管理方法及多系统终端设备 |
CN109669764B (zh) * | 2017-10-13 | 2023-08-01 | 斑马智行网络(香港)有限公司 | 处理方法、装置、设备和机器可读介质 |
CN108279963B (zh) * | 2018-01-05 | 2020-11-20 | 郑州信大捷安信息技术股份有限公司 | 一种单Linux内核多Android系统的智能终端显示虚拟化方法 |
CN109460305A (zh) * | 2018-09-29 | 2019-03-12 | 网宿科技股份有限公司 | 用例调用系统及方法、第一平台及第二平台 |
CN111327761B (zh) * | 2020-01-19 | 2022-04-26 | 深圳市智多互动科技有限公司 | 一种在安卓手机上操作虚拟安卓系统的方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6823458B1 (en) | 1999-11-18 | 2004-11-23 | International Business Machines Corporation | Apparatus and method for securing resources shared by multiple operating systems |
US6864900B2 (en) * | 2001-05-18 | 2005-03-08 | Sun Microsystems, Inc. | Panning while displaying a portion of the frame buffer image |
US9152582B2 (en) | 2010-10-01 | 2015-10-06 | Z124 | Auto-configuration of a docked system in a multi-OS environment |
US6928619B2 (en) | 2002-05-10 | 2005-08-09 | Microsoft Corporation | Method and apparatus for managing input focus and z-order |
US7424601B2 (en) | 2004-07-07 | 2008-09-09 | Yongyong Xu | Methods and systems for running multiple operating systems in a single mobile device |
US20060070069A1 (en) | 2004-09-30 | 2006-03-30 | International Business Machines Corporation | System and method for sharing resources between real-time and virtualizing operating systems |
US9372711B2 (en) * | 2009-07-20 | 2016-06-21 | Google Technology Holdings LLC | System and method for initiating a multi-environment operating system |
CN102053871B (zh) * | 2009-10-28 | 2013-03-13 | 中国移动通信集团公司 | 一种应用程序图像的显示方法和装置 |
US8341643B2 (en) | 2010-03-29 | 2012-12-25 | International Business Machines Corporation | Protecting shared resources using shared memory and sockets |
TWI520069B (zh) | 2010-08-11 | 2016-02-01 | 緯創資通股份有限公司 | 整合運用基於同一系統核心之異質作業系統之方法 |
CN102446116B (zh) * | 2010-09-30 | 2013-10-16 | 中国移动通信有限公司 | 一种输入工具调用的系统、方法及一种代理设备 |
CN102073542B (zh) * | 2010-12-22 | 2013-04-03 | 浙大网新科技股份有限公司 | Linux应用在Android手机上运行时整合中文输入法的方法 |
CN102364434B (zh) * | 2011-06-24 | 2014-04-02 | 浙大网新科技股份有限公司 | 一种整合Wine与Android鼠标输入的方法 |
TWI482021B (zh) * | 2012-02-23 | 2015-04-21 | Wistron Corp | 雙作業系統共用周邊裝置之方法以及使用該方法之電子裝置 |
-
2014
- 2014-09-12 CN CN201410466753.1A patent/CN105404547A/zh active Pending
-
2015
- 2015-01-28 TW TW104102875A patent/TWI649695B/zh not_active IP Right Cessation
- 2015-09-11 US US14/851,688 patent/US9684548B2/en active Active
- 2015-09-11 WO PCT/US2015/049680 patent/WO2016040797A2/en active Application Filing
-
2016
- 2016-08-16 HK HK16109765.6A patent/HK1221785A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2016040797A3 (en) | 2016-09-29 |
US9684548B2 (en) | 2017-06-20 |
US20160077898A1 (en) | 2016-03-17 |
CN105404547A (zh) | 2016-03-16 |
TWI649695B (zh) | 2019-02-01 |
WO2016040797A2 (en) | 2016-03-17 |
HK1221785A1 (zh) | 2017-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI649695B (zh) | Method and device for integrating operating system | |
US11164280B2 (en) | Graphics layer processing in a multiple operating systems framework | |
CN104536802B (zh) | 一种实现应用调用的方法及虚拟机 | |
US20220075696A1 (en) | Application Exception Recovery | |
US10775971B2 (en) | Pinch gestures in a tile-based user interface | |
US8176294B2 (en) | Reducing storage expansion of a virtual machine operating system | |
CN106843715B (zh) | 用于远程化的应用的触摸支持 | |
WO2018119951A1 (zh) | Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品 | |
JP5481308B2 (ja) | データ制御装置及びプログラム | |
US9766913B2 (en) | Method and system for managing peripheral devices for virtual desktops | |
CN104598294B (zh) | 用于移动设备的高效安全的虚拟化方法及其设备 | |
US8938571B1 (en) | Managing I/O operations in a virtualized environment | |
US8838726B2 (en) | Selective use of shared memory for remote desktop application | |
WO2016095728A1 (zh) | 一种多窗口显示方法及装置 | |
US20140281897A1 (en) | Switching to and from native web applications | |
US20180165133A1 (en) | Shared Memory Using Memory Mapped Files Between Host And Guest On A Computing Device | |
KR20120087967A (ko) | 응용 프로그램 화상의 표시 방법 및 장치 | |
CN109857573B (zh) | 一种数据共享方法、装置、设备及系统 | |
WO2018129269A1 (en) | Execution of multiple applications on a device | |
US11249771B2 (en) | Terminal input invocation | |
TWI521431B (zh) | 於多重應用程式環境中之全螢幕處理技術 | |
CN115756690A (zh) | 一种桌面窗口显示方法、装置、终端及存储介质 | |
US20130067502A1 (en) | Atlasing and Virtual Surfaces | |
TW201543364A (zh) | 作業系統切換方法以及使用此方法的雙作業系統電子裝置 | |
US11205019B2 (en) | Multiple computing environments on a computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |