双操作系统智能终端中启停后台操作系统的方法和设备与流程

文档序号:25542996发布日期:2021-06-18 20:39阅读:226来源:国知局
双操作系统智能终端中启停后台操作系统的方法和设备与流程

本申请涉及智能终端技术领域,特别涉及双操作系统智能终端中智能启停后台操作系统的方法和设备。



背景技术:

基于lxc技术的双操作系统实现了一个手机同时运行两个安卓(android)系统,做到了操作系统隔离、进程隔离、用户数据隔离,保证了用户的安全性。两个操作系统同时在线,两个操作系统自由切换,可以同时满足用户工作和生活场景的不同需求,解决了用户携带多个手机的烦恼。正是凭借这些优点,双操作系统智能终端设备备受行业客户的喜爱,市场占有率大幅度上升。

双操作系统智能终端在开机时使用lxc工具启动两个容器(container),然后分别在这两个container中运行各自的android操作系统。对于单个操作系统而言,内存占用分为两部分:android内存+kernel内存。以emui9.0为例,android内存约1.4g,kernel内存为0.7g,而如果是双操作系统,整个手机的内存占用会增加1.4g。对于一个内存容量为6g的手机来说,启动双操作系统之后,可用内存就只剩2g左右,很容易造成内存紧张,在运行一些大内存应用时出现内存不足的情况,偶尔还会出现卡顿现象。

除上述双操作系统之外,现有技术中也存在一些其他基于多用户技术的双系统。但是,这些其他的双系统实质上还是一个android系统,这种系统下,系统的框架层共用,仅应用层隔离,这种方案在内存的占用上会大幅度减少,但由于两个操作系统、进程、数据未隔离,虽然性能有提升,但是安全性大幅度下降。可见,类似的技术不应视为真正意义的双操作系统。

如前所述,由于双操作系统手机相比于单操作系统手机在相同的硬件配置上,多运行了一个操作系统,因此,会导致内存紧缺。如果长期使用,可能会出现因为内存短缺引起的卡顿,尤其是在配置较低的双操作系统手机上,偶尔会出现系统卡顿现象。

有鉴于此,在不影响双操作系统隔离性、安全性的基础上,如何提高系统可用内存,提升系统流畅性,是本申请要解决的技术问题。



技术实现要素:

本申请提供了一种双操作系统智能终端中智能启停后台操作系统的方法和设备,以提升双操作系统智能终端的性能。

本申请公开了一种双操作系统智能终端中智能启停后台操作系统的方法,包括:

当需要关闭后台操作系统时,结束所述后台操作系统的初始化init进程,使所述后台操作系统退出,使所述双操作系统智能终端进入单容器模式,所述后台操作系统释放出所占用的内存;

当需要启动所述后台操作系统时,启动所述后台操作系统的init进程。

较佳的,该方法还包括:

在root域中增加具有超级管理员root权限的进程;

其中,所述进程提供两个接口,一个接口用于关闭后台操作系统的init进程,另一个接口用于启动后台操作系统的init进程。

较佳的,结束所述后台操作系统的init进程具体包括:

检测到用户关闭后台操作系统的命令后,调用所述用于关闭后台操作系统的init进程的接口,执行kill-9pid命令;其中,pid为所述后台操作系统的init进程的进程标识。

较佳的,启动所述后台操作系统的init进程具体包括:

调用所述用于启动后台操作系统的init进程的接口,执行启动初始化进程startinit命令。

本申请还公开了一种双操作系统智能终端,包括:处理器,所述处理器具体用于:

当需要关闭后台操作系统时,结束所述后台操作系统的初始化init进程,使所述后台操作系统退出,使所述双操作系统智能终端进入单容器模式,所述后台操作系统释放出所占用的内存;

当需要启动所述后台操作系统时,启动所述后台操作系统的init进程。

较佳的,所述双操作系统智能终端的root域中设置有具有超级管理员root权限的进程;

其中,所述进程提供两个接口,一个接口用于关闭后台操作系统的init进程,另一个接口用于启动后台操作系统的init进程。

较佳的,所述处理器具体用于:

在检测到用户关闭后台操作系统的命令后,调用所述用于关闭后台操作系统的init进程的接口,执行kill-9pid命令,以结束所述后台操作系统的init进程;其中,pid为所述后台操作系统的init进程的进程标识。

较佳的,所述处理器具体用于:

调用所述用于启动后台操作系统的init进程的接口,执行启动初始化进程startinit命令,以启动所述后台操作系统的init进程。

由上述技术方案可见,本申请提供了一种双操作系统智能终端中智能启停后台操作系统的方法,该方法在需要关闭后台操作系统时,结束后台操作系统的init进程,使所述后台操作系统退出,从而使所述双操作系统智能终端进入单容器模式,释放出所占用的内存;而当需要启动后台操作系统时,启动所述后台操作系统的init进程,从而,通过动态关闭和启动后台操作系统,实现了在单操作系统和双操作系统之间的快速切换,提升了双操作系统智能终端的性能。

举例而言,在下班、休假时,可以关闭用于工作的操作系统(简称:工作系统),使用于生活的操作系统(简称:生活系统)的使用内存增加1.4g以上。反之,关闭生活系统,使工作系统的内存随之提升。这样既保证了原系统数据安全等级不下降,又提升了智能终端的性能。

附图说明

图1为本申请实施例中双操作系统智能终端停止后台操作系统的前后对照示意图。

具体实施方式

为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本申请作进一步详细说明。

为解决现有技术所存在的问题,本申请提出一种双操作系统智能终端中智能启停后台操作系统的技术方案,其主要思想在于:通过动态地关闭、打开后台的容器,将双容器临时变为单容器,以此来扩大智能终端的可用内存,进而提升系统的流畅性。

双操作系统共用一个内核,在内核之上同时创建两个linuxcontainer,并在各自的container中运行各自系统的初始化进程(init进程),由init进程创建本地进程(native进程)、孵化器(zygote)等,最终孵化出两个同时运行的android系统。init进程是每个android系统的父进程,一旦init进程结束,整个操作系统的所有进程会全部退出,这样,就可以将后台操作系统所占用的内存全部释放出来,用以增加前台操作系统的可用内存。

为此,本申请提出一种双操作系统智能终端中智能启停后台操作系统的方法,该方法包括:

当需要关闭后台操作系统时,结束后台操作系统的init进程,使后台操作系统退出,使双操作系统智能终端进入单容器模式,从而,后台操作系统释放出所占用的内存;

当需要启动后台操作系统时,启动后台操作系统的init进程。

为了实现对后台操作系统的启动和停止,本申请在root域中增加具有超级管理员(root)权限的进程,该进程提供两个接口,一个接口用于关闭后台操作系统的init进程,另一个接口用于启动后台操作系统的init进程。

基于上述新增的具有root权限的进程,本发明结束后台操作系统的init进程具体包括:

当检测到用户关闭后台操作系统的命令后,调用所述用于关闭后台操作系统的init进程的接口,执行kill-9pid命令;其中,pid为后台操作系统的init进程的进程标识,从而使后台操作系统退出,使双操作系统智能终端进入单容器模式,从而,后台操作系统释放出所占用的内存。

基于上述新增的具有root权限的进程,本发明启动后台操作系统的init进程具体包括:调用所述用于启动后台操作系统的init进程的接口,执行启动初始化进程startinit命令,从而启动后台操作系统。

对应于上述方法,本申请还提供了一种双操作系统智能终端,该双操作系统智能终端至少包括:处理器,所述处理器具体用于:

当需要关闭后台操作系统时,结束所述后台操作系统的初始化init进程,使所述后台操作系统退出,使所述双操作系统智能终端进入单容器模式,所述后台操作系统释放出所占用的内存;

当需要启动所述后台操作系统时,启动所述后台操作系统的init进程。

较佳的,所述双操作系统智能终端的root域中设置有具有超级管理员root权限的进程;其中,所述进程提供两个接口,一个接口用于关闭后台操作系统的init进程,另一个接口用于启动后台操作系统的init进程。

当需要关闭后台操作系统时,所述处理器具体用于:

在检测到用户关闭后台操作系统的命令后,调用所述用于关闭后台操作系统的init进程的接口,执行kill-9pid命令,以结束所述后台操作系统的init进程;其中,pid为所述后台操作系统的init进程的进程标识。

当需要启动所述后台操作系统时,所述处理器具体用于:

调用所述用于启动后台操作系统的init进程的接口,执行启动初始化进程startinit命令,以启动所述后台操作系统的init进程。

下面通过一个较佳实施例对本申请技术方案进行进一步详细说明。

本实施例在root域中增加一个具有root权限的进程,并提供两个接口,一个接口用于关闭后台操作系统的init进程,另一个接口用于启动后台操作系统的init进程。当需要关闭后台操作系统时,用户在设置中手动关闭后台操作系统,系统检测到用户的这一命令后,调用用于关闭后台操作系统的init进程的接口,执行“kill-9pid”命令,结束后台操作系统的init进程(即:杀掉后台操作系统的init进程),其中,pid为后台操作系统的init进程的进程标识,从而使整个后台操作系统退出,使本智能终端设备进入单容器模式,后台操作系统释放出所占用的内存,这时,前台操作系统的可用内存将增加约1.4g。

当需要启动后台操作系统时,在设置中调用用于启动后台操作系统的init进程的接口,执行启动初始化进程“startinit”的命令,启动后台操作系统,大约需要15s左右,整个后台操作系统即可启动完成。后台操作系统恢复后,即可进行两个操作系统的自由切换。

图1为本实施例中双操作系统智能终端停止后台操作系统的前后对照示意图。

图1左侧为智能终端运行双操作系统的示意图,从下往上依次为:硬件层(hardware)、linux内核(linuxkernel)、root域、以及两个操作系统的容器container1和container2。其中,在container1和container2中分别是两个android操作系统的native进程、框架(framework)层和应用(application)层。

图1右侧为智能终端的后台操作系统停止后的示意图。从图中可以看到,结束后台操作系统的init进程后,整个后台操作系统退出,container2关闭,智能终端设备进入单容器模式。

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1