操作系统修复方法、系统及相应设备、存储介质与流程

文档序号:22626851发布日期:2020-10-23 19:35阅读:159来源:国知局
操作系统修复方法、系统及相应设备、存储介质与流程

本申请涉及电数字数据处理领域,尤其涉及操作系统修复方法、系统及相应设备、存储介质。



背景技术:

目前,在计算机终端如移动终端例如手机的操作系统修复过程中,计算机终端的核心功能不可用。尤其在手机情形下,这可能导致手机用户错过至关重要的或危急情形的电话呼叫、短信通知等,从而可能导致重大损失或无法弥补的遗憾。此外,现有的操作系统修复方式,操作系统自身修复自身可能存在风险。例如,可能存在操作系统已经被提权劫持的情况,此时再进行修复等操作就不是建立在可信的前提下了,导致修复后的系统仍存在安全问题。



技术实现要素:

为了克服现有技术中存在的不足,本发明提供一种操作系统修复方法、系统及相应设备、存储介质,其使终端的核心功能在操作系统修复期间能持续可用。

在本发明的第一方面,提供一种操作系统修复方法,该方法包括:

响应于确定修复主操作系统,使得预先设置的微内核系统启动预先设置的影子系统,其中所述影子系统至少包括外设驱动程序和终端核心功能,所述终端核心功能至少包括电话应用;

微内核系统将外设管理权从主操作系统切换给影子系统,将主操作系统网络状态和配置信息同步给影子系统,及将主操作系统的身份信息发送给影子系统并关闭主操作系统;

影子系统利用所述身份信息获取用于修复所述主操作系统的修复差分包并对所述主操作系统进行修复;

响应于修复后的主操作系统正常启动,微内核系统将外设管理权从影子系统切换回到主操作系统并关闭影子系统。

在实施例中,所述影子系统利用所述身份信息获取用于修复所述主操作系统的修复差分包包括:所述影子系统利用所述身份信息与云端漏洞检测修复平台通信;获取云端漏洞检测修复平台生成的并使用云端私钥加密的、用于修复所述主操作系统的修复差分包。

在实施例中,所述将主操作系统网络状态和配置信息同步给影子系统包括:微内核系统将主操作系统的中间物理内存地址映射到真实物理地址,然后将真实物理地址反向映射为中间物理内存地址分配给影子系统,从而影子内核能够获取到主操作系统的网络状态和配置信息。

在实施例中,所述主操作系统和所述影子系统分别在独自的虚拟机中运行。

在本发明的第二方面,提供一种操作系统修复系统,该修复系统包括:

第一启动模块,用于响应于确定修复主操作系统,使得预先设置的微内核系统启动预先设置的影子系统,其中所述影子系统至少包括外设驱动程序和终端核心功能,所述终端核心功能至少包括电话应用;

第一切换模块,用于使得微内核系统将外设管理权从主操作系统切换给影子系统,将主操作系统网络状态和配置信息同步给影子系统,及将主操作系统的身份信息发送给影子系统并关闭主操作系统;

获取模块,用于使得影子系统利用所述身份信息获取用于修复所述主操作系统的修复差分包并对所述主操作系统进行修复;

第二切换模块,用于响应于修复后的主操作系统正常启动,使得微内核系统将外设管理权从影子系统切换回到主操作系统并关闭影子系统。

在本发明的第三方面,提供一种计算机设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中所述处理器执行所述计算机程序时实现本发明的第一方面的方法的步骤。

在本发明的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明的第一方面的方法的步骤。

按照本发明,在终端中设置影子系统,该影子系统具有终端外设驱动程序和电话、短信等核心应用。在操作系统修复时,微内核在主操作系统和影子系统之间平滑切换,使得整个修复过程中,外设一直保持正常工作,保证终端核心功能持续可用。此外,微内核管理主操作系统身份信息,通过影子系统对主操作系统进行修复,避免主操作系统修复自身可能存在的风险。

结合附图阅读本发明实施方式的详细描述后,本发明的其它特点和优点将变得更加清楚。

附图说明

图1为根据本发明方法的一实施例的流程图;

图2为根据本发明系统的一实施例的框图。

为清晰起见,这些附图均为示意性及简化的图,它们只给出了对于理解本发明所必要的细节,而省略其他细节。

具体实施方式

下面参照附图对本发明的实施方式和实施例进行详细说明。

通过下面给出的详细描述,本发明的适用范围将显而易见。然而,应当理解,在详细描述和具体例子表明本发明优选实施例的同时,它们仅为说明目的给出。

计算机终端如移动终端例如手机可通过网络连接与云端(服务器)通信。云端的漏洞检测修复平台可通过搜集例如国家信息安全漏洞库等平台上的漏洞信息发现存在高危漏洞,及通过网络连接通知终端操作系统存在高危漏洞。终端配置有主操作系统、微内核系统和影子系统。主操作系统是一个完整的操作系统,例如安卓系统。微内核系统具有硬件设备如移动网络通信模块、wifi通信模块、屏幕、传感器等的管理、内存的分配管理、终端身份信息管理等功能。微内核系统可以是hypervisor系统或者其它具有操作系统功能并具有虚拟化能力的系统。影子系统具有终端外设驱动程序和电话和/或短信等核心应用的系统。上层两个系统即主操作系统和影子系统可分别运行在独自的虚拟机之中,微内核系统可以创建、销毁、重启上层系统。具体地,上层系统运行在虚拟域之中,微内核负责分配虚拟cpu、内存、外设等资源即创建了一个域,然后加载上层系统到相应内存,函数跳转到系统的入口地址,上层系统开始运行。销毁是逆向过程,即收回虚拟cpu、内存等。

图1示出了根据本发明的操作系统修复方法的一优选实施例的流程图。

在步骤s102,在接收到云端的漏洞检测修复平台通知存在高危漏洞因而确定修复主操作系统时,微内核系统启动影子系统,外设保持正常工作状态。

在步骤s104,微内核系统将外设管理权从主操作系统切换给影子系统。外设可由微内核做虚拟化,即上层系统并非直接处理外设的中断信号,而是处理由微内核产生的软件的中断,微内核来操控真实硬件的信号,微内核将软件中断信号发送给影子系统而将虚拟外设控制权由主操作系统转移给影子系统。

在步骤s106,微内核系统将主操作系统网络状态和配置信息同步给影子系统。在此例如可通过内存映射的方式,将主操作系统的中间物理内存地址映射到真实物理地址,然后将该真实物理地址反向映射为中间物理内存地址分配给影子系统,从而影子系统能够获取到主操作系统的网络状态、配置信息。这种方式可最快速地同步状态,接管控制权,保证平滑过渡到影子系统。

在步骤s108,微内核系统将主操作系统的身份信息通过进程间通信通道发送给影子系统并关闭主操作系统。主操作系统的关闭可在影子系统接管外设后、进行修复前的任何时间进行。

在步骤s110,影子系统利用主操作系统的身份信息与云端的漏洞检测修复平台通信,云端的漏洞检测修复平台生成修复差分包并使用私钥对差分包加密,影子系统收到修复差分包。修复差分包可用差分算法对新版本和旧版本进行比对生成。

在步骤s112,影子系统将修复差分包写入flash覆盖到主操作系统旧版本的区域,形成主操作系统新版本,从而完成修复。整个修复过程中,外设一直保持正常工作,终端的电话、短信等核心功能持续可用。

在步骤s114,在修复完成后,影子系统通知微内核系统。

在步骤s116,微内核系统在接收到影子系统的通知后,启动修复后的主操作系统,启动过程中进行签名验证,即在终端上用云端发布的公钥去解密,以验证新版本软件是完整未被篡改的,保证系统的完整性。

在步骤s118,确定修复后的主操作系统是否正常启动。如果正常启动,则处理进行到步骤s120;否则,如果不能正常启动,则处理进行到步骤s122。

在步骤s120,微内核系统将外设管理权从影子系统切换回到主操作系统并关闭影子系统。

在步骤s122,重新启动影子系统,将主操作系统复原为原始状态。在实施例中,在本次修复后的主操作系统不能正常启动的情形下,也可重新进行修复操作。

按照上述方法,当主操作系统做修复时,通过微内核系统切换权限,由影子系统接管,保证终端核心功能可用。

图2示出了根据本发明的操作系统修复系统的一优选实施例的框图,该修复系统包括:

第一启动模块202,用于响应于确定修复主操作系统,使得预先设置的微内核系统启动预先设置的影子系统,其中所述影子系统至少包括外设驱动程序和终端核心功能,所述终端核心功能至少包括电话应用;

第一切换模块204,用于使得微内核系统将外设管理权从主操作系统切换给影子系统,将主操作系统网络状态和配置信息同步给影子系统,及将主操作系统的身份信息发送给影子系统并关闭主操作系统;

获取模块206,用于使得影子系统利用所述身份信息获取用于修复所述主操作系统的修复差分包并对所述主操作系统进行修复;

通知模块208,用于响应于修复完成,影子系统通知微内核系统;

第二启动模块210,用于使得微内核系统启动修复后的主操作系统;

第二切换模块212,用于响应于修复后的主操作系统正常启动,使得微内核系统将外设管理权从影子系统切换回到主操作系统并关闭影子系统。

在实施例中,获取模块206可包括:通信子模块,用于使得所述影子系统利用所述身份信息与云端漏洞检测修复平台通信;差分包获取子模块,用于获取云端漏洞检测修复平台生成的并使用云端私钥加密的、用于修复所述主操作系统的修复差分包。

在实施例中,第一切换模块204配置成使得:微内核系统将主操作系统的中间物理内存地址映射到真实物理地址,然后将所述真实物理地址反向映射为中间物理内存地址分配给影子系统,从而影子内核能够获取到主操作系统的网络状态和配置信息。

在另一实施例中,本发明提供一种计算机设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中所述处理器执行所述计算机程序时实现结合图1所示和所述的方法实施例或其它相应方法实施例的步骤,在此不再赘述。

在另一实施例中,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现结合图1所示和所述的方法实施例或其它相应方法实施例的步骤,在此不再赘述。

在此所述的多个不同实施方式或者其特定特征、结构或特性可在本发明的一个或多个实施方式中适当组合。另外,在某些情形下,只要适当,流程图中和/或流水处理描述的步骤顺序可修改,并不必须精确按照所描述的顺序执行。另外,本发明的多个不同方面可使用软件、硬件、固件或者其组合和/或执行所述功能的其它计算机实施的模块或装置进行实施。本发明的软件实施可包括保存在计算机可读介质中并由一个或多个处理器执行的可执行代码。计算机可读介质可包括计算机硬盘驱动器、rom、ram、闪存、便携计算机存储介质如cd-rom、dvd-rom、闪盘驱动器和/或具有通用串行总线(usb)接口的其它装置,和/或任何其它适当的有形或非短暂计算机可读介质或可执行代码可保存于其上并由处理器执行的计算机存储器。本发明可结合任何适当的操作系统使用。

除非明确指出,在此所用的单数形式“一”、“该”均包括复数含义(即具有“至少一”的意思)。应当进一步理解,说明书中使用的术语“具有”、“包括”和/或“包含”表明存在所述的特征、步骤、操作、元件和/或部件,但不排除存在或增加一个或多个其他特征、步骤、操作、元件、部件和/或其组合。如在此所用的术语“和/或”包括一个或多个列举的相关项目的任何及所有组合。

前面说明了本发明的一些优选实施例,但是应当强调的是,本发明不局限于这些实施例,而是可以本发明主题范围内的其它方式实现。本领域技术人员可以在本发明技术构思的启发和不脱离本发明内容的基础上对本发明做出各种变型和修改,这些变型或修改仍落入本发明的保护范围之内。

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