隔离系统切换时进程运行状态的调整方法以及智能终端的制作方法

文档序号:9274586阅读:381来源:国知局
隔离系统切换时进程运行状态的调整方法以及智能终端的制作方法
【技术领域】
[0001]本发明涉及虚拟化技术领域,具体而言,本发明涉及一种隔离系统切换时进程运行状态的调整方法以及智能终端。
【背景技术】
[0002]随着虚拟化技术的发展,利用虚拟化技术,在Linux平台上,可以通过container容器虚拟化技术,对用户进程进行隔离,实现多个隔离系统的同时运行。
[0003]Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚拟化的其他复杂性,因此,广泛应用于服务器端和用户的设备端,用以解决服务器端的多系统的同时运行,以及用户的设备端同时运行多个隔离系统。
[0004]然而,在服务器端,多个隔离系统同时运行时,隔离系统之间并没有前后台的区分;而在用户的设备端,多个隔离系统同时运行,通常将当前与用户交互的隔离系统定义为前台系统;反之定义为后台系统。而且,多个隔离系统同时运行,对设备上的系统资源的使用提出了更高的要求,亟需对系统资源进行合理分配。
[0005]比如,对于前台系统,其需要与用户进行交互,因此,运行在前台的隔离系统中的进程可以占用显示和输入外设等系统资源,而运行在后台的隔离系统中的进程则不能抢占前台的显示和输入,且可以释放部分显示、输入等系统资源,以此提高系统资源的利用率。
[0006]然而,目前的隔离系统并不能感知自己的前后台状态,隔离系统中的进程也无法查询到自己的前后台状态,也就无法适时地调整其对系统资源的占用情况。
[0007]信号(signal)是一种进程间通信机制,它给应用程序提供一种异步的软件中断,使应用程序有机会接受其他程序或终端发送的命令(即信号)。应用程序收到信号后,有三种处理方式:忽略,默认,或捕捉。进程收到一个信号后,会检查对该信号的处理机制。如果是SIG_IGN,就忽略该信号;如果是SIG_DFT,则会采用系统默认的处理动作,通常是终止进程或忽略该信号;如果给该信号指定了一个处理函数(捕捉),则会中断当前进程正在执行的任务,转而去执行该信号的处理函数,返回后再继续执行被中断的任务。
[0008]信号是由内核(kernel)管理的。信号的产生方式多种多样,它可以是内核自身产生的,比如出现硬件错误(比如出现分母为O的除法运算,或者出现segmentat1n fault),内核需要通知某一进程;也可以是其它进程产生的,发送给内核,再由内核传递给目标进程。
[0009]结合信号机制,本发明提出了一种进程运行状态调整方法,使得隔离系统中的进程能够根据隔离系统的前后台状态的变化,适时调整自己的运行状态。

【发明内容】

[0010]针对上述现有技术存在的缺陷,本发明提供了一种智能终端和隔离系统切换时进程运行状态调整方法,使得隔离系统中的进程能够感知隔离系统的前后台状态的变化,适时调整其对系统资源的占用情况,提高系统资源的利用率。
[0011]本发明方案提供了一种隔离系统切换时进程运行状态调整方法,其技术方案如下:
[0012]一种隔离系统切换时进程运行状态调整方法,包括有步骤:
[0013]隔离系统管理模块接收到切换命令后,根据其中携带的参数确定待切换的隔离系统;
[0014]该隔离系统管理模块向确定出的待切换的隔离系统内的进程发出前台切换信号或后台切换信号;
[0015]该进程调用针对所述前台切换信号或后台切换信号预告注册的函数调整运行状
??τ O
[0016]根据本发明的另一方面,本发明还提供了一种智能终端,其技术方案包括有:隔离系统管理模块以及至少两个的隔离系统,其中,所述隔离系统模块用于接收到切换命令后,根据其中携带的参数确定待切换的隔离系统;向确定出的待切换的隔离系统中的进程发送前台切换信号以及后台切换信号,使得该进程调用针对该前台切换信号以及后台切换信号的预告注册的函数调整运行状态。
[0017]本发明所能达到的有益效果是:
[0018]在一个设备上通过虚拟化技术运行有多个隔离系统时,通过检测进程所在的隔离系统前后台状态的变化,利用现有的内核信号机制来获得前后台状态变换事件并处理,使得该隔离系统内的所有进程适时调整其所处于的状态,以减少其资源占用,提高系统整体的资源利用率;
[0019]进一步地,运行的各隔离系统可以运行内核的本地指令,无须即时编译即可解读隔离系统管理模块发出的信号指令,更进一步地减少了运行资源的浪费。
[0020]本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
【附图说明】
[0021]图1为本发明智能设备的内部结构示意图;
[0022]图2为本发明的隔离系统管理模块的组成结构示意图;
[0023]图3为本发明的隔离系统切换时进程运行状态的调整方法流程图。
【具体实施方式】
[0024]以下将结合附图对本发明的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
[0025]本发明主要涉及一种隔离系统切换时进程运行状态的调整方法,其中基本思想为:在操作系统的内核(kernel)设置一隔离系统管理模块,在内核中记录进程的前后台状态;当所在的隔离系统前后台状态发生改变时,由内核中的该隔离系统管理模块向进程发送前后台切换信号;在进程中预先注册前后台切换信号的响应函数,以响应前后台隔离系统的变换,调整进程的行为,使该系统下运行的应用进程随着该系统前后台状态转换下进行不同的状态改变,使得进程进入后台时释放系统资源,提高了操作系统的资源利用率。
[0026]本发明还涉及一种智能设备,其主要包括的模块以及各单元之间相互交互而实现的各种功能,也将通过以下流程或方法描述,本技术领域人员应当理解,通过以下各图结合方法的描述,本发明的智能设备的各模块和各单元所能实现的功能,是容易理解的。
[0027]本发明提供的智能终端,内部结构框图如图1所示,包括:设置于内核中的隔离系统管理模块102,以及设置于Linux Container容器中的多个隔离系统103。
[0028]隔离系统管理模块102在Linux操作系统中(本实施例中优选为Linux操作系统)通过设备节点(如/proc/xxx,/sys/xxx,或/dev/xxx等)与用户空间的应用程序交互,用户空间的应用程序向设备节点发送系统前后台切换的命令,所述隔离系统管理模块102响应该切换命令,并根据当前的前后台状态,向不同的应用进程发送信号。
[0029]各隔离系统为运用虚拟技术(本实施例中为运用Linux Container,一种内核虚拟化技术)而在用户设置上设置的多个隔离系统,各隔离系统内的用户进程相互隔离而互不影响。
[0030]在用户设备上虽然能够在Linux Container容器内同时运行多个隔离系统,但是在某一时刻只有一个隔离系统能够与用户进行交互动作,在本实施例中将该系统定义为前台隔离系统,而不能够与用户进行交互的隔离系统则定义为后台隔离系统,然而,需要说明的是,本发明技术方案中并不排除用户设备本身的Linux操作系统本身为与用户交互的前台系统,而Linux Container容器内的各隔离系统均为后台隔离系统的情形。
[0031]当前与用户交互的前台隔离系统处于切换时,则由隔离
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1