[發明專利]基于OS虛擬化的多模式OS的系統和其創建、切換方法在審
| 申請號: | 201410852021.6 | 申請日: | 2014-12-31 |
| 公開(公告)號: | CN104598309A | 公開(公告)日: | 2015-05-06 |
| 發明(設計)人: | 朱勇;耿增強 | 申請(專利權)人: | 中科創達軟件股份有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/455 |
| 代理公司: | 北京華夏正合知識產權代理事務所(普通合伙) 11017 | 代理人: | 韓登營;張煥亮 |
| 地址: | 100191 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 os 虛擬 模式 系統 創建 切換 方法 | ||
技術領域
本發明涉及安卓系統的移動設備的安全技術領域,特別是指一種基于OS虛擬化的多模式系統和其創建、切換方法。
背景技術
在安卓設備上,例如手機、平板等移動設備,基于安全的需要,目前采用兩種工作模式的操作系統(OS):普通模式OS和安全模式OS。
當安卓設備運行的是普通模式OS時,可執行安全性要求低的應用,例如用戶通常的開放式的網絡瀏覽、信息發送等日常應用。當安卓設備運行的是安全模式OS時,則可以執行安全性要求高的特殊應用,比如個人設備辦公(Bring?Your?Own?Device)或者個人隱私保護,并限制用戶的某些低安全性的應用。其中,上述兩種模式的運行環境從操作系統層進行隔離,使得一種模式不影響另一種模式。
為了在安卓設備上可實現運行兩種不同模式OS,目前有三種技術方案:基于虛擬機的方案,這種方案占用內存多,效率低,不太適合用于移動設備;基于應用容器的方案,這種方案并未完全從操作系統層進行隔離,安全性低但占用內存較小;基于OS虛擬化的方案,這種方案處于上兩者的中間狀態,安全性低于虛擬機但高于應用容器,內存少于虛擬機但高于應用容器,約是應用容器占用內存的兩倍。從安全性和內存占用量來看,基于OS虛擬化的方案更適用于移動設備。
如圖1示出了基于OS虛擬化的雙模式OS的系統構架,包括內核(Kernel)、基于內核啟動的兩個用戶態環境。兩個用戶態環境,一個用于運行普通模式的OS,另一個用于運行安全模式的OS。每個用戶態環境都分別包含一套安卓的本地服務(NativeService)、孵化器(Zygote)、Java服務(SystemServer)和應用(App)。其中:
應用是指在安卓系統中運行的各種應用,如:聯系人,日歷,各種社交應用,游戲等。
Java服務是安卓系統中為應用提供管理和服務的進程,它包含:安卓包管理,窗口管理,應用棧管理等。
孵化器是安卓系統的Java虛擬機進程,負責創建所有的應用進程和Java服務進程。
本地服務是安卓系統非Java的服務進程,主要是用來為各個應用對內核的描述的各硬件資源(如對應的驅動端口,或設備文件)的訪問或調用進行管理。例如對內核提供的顯示服務(SurfaceFlinger)、聲音服務、視頻服務、視頻播放引擎(NuPlayer)服務、藍牙(BT)服務、Wifi等服務的訪問或調用進行管理,管理的內容包括根據應用的訪問或調用為該應用分配內核的上述某服務,或連接或斷開到內核的上述某服務等。例如根據某應用的調用請求,控制將內核提供的聲音服務(如對應的驅動接口,或聲音設備描述文件的接口)分配給該應用。
名稱空間和分組控制器(Namespace+Control?Groups)是內核提供的一套資源隔離的機制和限制資源使用的機制,各用戶態環境基于該特性啟動,從而實現不同模式的OS的運行環境從操作系統層進行隔離,不同模式的OS之間不相互影響。
當安卓設備啟動后,依次啟動所述兩個用戶態環境并進入一用戶態環境,即進入一種模式的OS,當需要切換時,則通知內核,由內核控制切換進入另一用戶態環境,即切換至另一模式的OS。
這種方式下,啟動的兩個用戶態環境都分別包含一套安卓的本地服務、孵化器、Java服務和應用,因此其所占內存需要較大,約是啟動一份用戶態環境所需內存的兩倍。如何能夠降低其內存占用量,是有待于解決的技術問題。
發明內容
有鑒于此,本發明的主要目的在于提供一種基于OS虛擬化的多模式OS的系統和其創建、切換方法,以實現降低其內存占用量。
本發明提供的一種基于OS虛擬化的多模式OS的系統,用于安卓設備,包括:內核Kernel、基于內核啟動的至少三個用戶態環境、域管理DomainManager;
其中所述至少三個用戶態環境包括用于基礎服務的一個用戶態環境、用于各個不同模式OS的其他各個用戶態環境;
用于基礎服務的用戶態環境包括:安卓的本地服務NativeService和域引擎DomainEngine;
所述安卓的NativeService用于對內核為應用提供的各服務的訪問或調用進行管理;
所述DomainEngine用于控制安卓設備上的NativeService提供的各服務允許某一被選模式OS的訪問和調用;
用于各個不同模式OS的各個用戶態環境分別包括:孵化器Zygote、Java服務SystemServer和應用App;
所述DomainManager用于控制各個不同模式OS的創建和生命周期管理;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中科創達軟件股份有限公司,未經中科創達軟件股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410852021.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:校正失效腳本的方法和設備
- 下一篇:系統確定方法、系統確定裝置與終端





