多内核操作系统的失效控制方法及装置制造方法及图纸

技术编号:11514440 阅读:65 留言:0更新日期:2015-05-27 22:37
本发明专利技术实施例公开了一种多内核操作系统的失效控制方法及装置。其中,方法包括:确定操作系统内的重核心内核以及多个轻核心内核;在重核心内核和多个轻核心内核上运行相应的系统服务,重核心内核以及多个轻核心内核均保存有所有内核的状态信息;监测重核心内核和多个轻核心内核的状态;当重核心内核出现故障时,则在多个轻核心内核中确定出新的重核心内核,将原重核心内核上运行的系统服务转移至新的重核心内核上,由新的重核心内核和多个轻核心内核更新相应内核的状态信息;当轻核心内核出现故障时,则将故障轻核心内核上运行的系统服务转移至其他正常轻核心内核,由重核心内核和多个轻核心内核更新相应内核的状态信息。

【技术实现步骤摘要】
多内核操作系统的失效控制方法及装置
本专利技术涉及计算机处理
,特别是涉及一种多内核操作系统的失效控制方法及装置。
技术介绍
随着计算机技术的发展,一个计算机系统中集成多种计算设备成为趋势。如何有效地管理这类系统,充分利用系统提供的丰富资源,同时保证系统的使用效率,提高系统的可用性,使得系统中在一部分部件发生失效时,整个系统仍能提供服务是一个关键问题。操作系统是一个控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。操作系统完成内存管理、进程管理、输入与输出设备管理、网络与文件系统管理等任务。随着计算机技术的发展,一个计算机系统中集成多种计算设备成为趋势。针对多计算设备的计算机系统,多内核是一种流行的操作系统设计方法。内核是一个操作系统的核心。内核主要负责管理系统的进程、内存、设备驱动程序、文件和网络系统的基本管理操作,内核决定着系统的性能和稳定性。在多内核操作系统中,操作系统由多个内核构成,系统的每个CPU上部署一个内核,内核上面部署提供对外接口的系统服务,如:文件系统、通信系统,从而形成一个完整的操作系统。现有技术中,针对多内核系统,一种管理方式是:采用主从核心的设计思想,即将内核分为主核心、从核心,主核心负责管理其他的从核心。该种管理方式下,主核心接收到应用程序,根据应用程序的目标指令集,以及主核心和各从核心中的当前负载量,从主核心和多个从核心中选择一个核心为应用程序的目标核心;由被选出的目标核心为从核心加载所述应用程序,并运行所述应用程序。然而,该种管理方式下,如果主核心失效,整个系统无法使用。当主核心失效时,从核心无法通过主核心加载所述应用程序,导致整个系统无法加载应用程序。因此,主核心是整个系统的单一失效点,主核心的故障或主核心上计算设备的故障会导致整个系统的不可用。另一种内核系统的管理方式是:采用多核心的设计思想,不将多内核进行分类,而是在每个CPU或CPU的处理核上部署一个核心,核心之间完全对等,需要进行资源协调时,通过协商协议实现管理功能。具体地,多个核心之间需要通过多阶段提交协议来保证状态一致性。然而,该种管理方式下,没有考虑某个核心失效后的故障处理和可用性问题。可见,现有技术中,对于多内核系统,暂时缺乏相应的失效管理机制。
技术实现思路
本专利技术实施例中提供了一种多内核操作系统的失效控制方法及装置,实现在部分内核失效的情况下,整个多内核操作系统仍能维持正常工作状态。为了解决上述技术问题,本专利技术实施例公开了如下技术方案:第一方面,提供一种多内核操作系统的失效控制方法,包括:确定操作系统内的重核心内核以及多个轻核心内核;在所述重核心内核和多个轻核心内核上运行相应的系统服务,所述重核心内核以及多个轻核心内核均保存有所有内核的状态信息;监测所述重核心内核和多个轻核心内核的状态;当所述重核心内核出现故障时,则在所述多个轻核心内核中确定出新的重核心内核,将原重核心内核上运行的系统服务转移至所述新的重核心内核上,由所述新的重核心内核和多个轻核心内核更新相应内核的状态信息;当所述轻核心内核出现故障时,则将故障轻核心内核上运行的系统服务转移至其他正常轻核心内核,由所述重核心内核和多个轻核心内核更新相应内核的状态信息。结合上述第一方面,在第一种可能的实现方式中,所述确定操作系统内的重核心内核以及多个轻核心内核,包括:将操作系统内第一个启动的内核确定为所述重核心内核,将其余内核确定为所述轻核心内核。结合上述第一方面,在第二种可能的实现方式中,所述在所述重核心内核和多个轻核心内核上运行相应的系统服务,包括:所述重核心内核接收系统服务发送的注册请求消息,并运行接收到的系统服务;所述重核心内核向所述多个轻核心内核广播所接收的系统服务注册信息,指定运行系统服务的相应轻核心内核;所述重核心内核接收所述多个轻核心内核发送的注册回应消息,通知所述系统服务至所述相应轻核心内核进行注册,以便所述相应轻核心内核运行所述系统服务。结合上述第一方面,和第二种可能的实现方式,在第三种可能的实现方式中,所述在所述重核心内核和多个轻核心内核上运行相应的系统服务,还包括:所述重核心内核接收系统服务发送的退出请求消息,并将本地保存的系统服务进行删除;所述重核心内核向所述多个轻核心内核广播所接收的系统服务退出信息;所述重核心内核接收所述多个轻核心内核发送的退出回应消息,由所述多个轻核心内核在将本地保存的系统服务进行删除;所述重核心内核通知所述系统服务进行退出。结合上述第一方面,在第四种可能的实现方式中,所述监测所述重核心内核和多个轻核心内核的状态,包括:所述重核心内核或多个轻核心内核向各自的前继节点内核发送心跳信息;当所述重核心内核或多个轻核心内核的前继节点内核在预置时间内未接收到所述心跳信息,则确定所述重核心内核或轻核心内核出现故障。结合上述第一方面,在第五种可能的实现方式中,所述当所述重核心内核出现故障时,则在所述多个轻核心内核中确定出新的重核心内核,包括:当所述重核心内核出现故障时,由所述多个轻核心内核选择出负载最小的轻核心内核,由所述负载最小的轻核心内核作为所述新的重核心内核。结合上述第一方面,和第一至第五种可能的实现方式,在第六种可能的实现方式中,所述将原重核心内核上运行的系统服务转移至所述新的重核心内核上,包括:所述新的重核心内核根据自身保存的所有内核的状态信息,获知所述原重核心内核上运行的系统服务的进程信息,根据所述进程信息得到对应的物理地址,根据所述物理地址获取对应的内存映像,将所述内存映像中的系统服务加载至本地,在本地进行系统服务进程的重构。结合上述第一方面,和第一至第五种可能的实现方式,在第七种可能的实现方式中,所述当所述轻核心内核出现故障时,则将故障轻核心内核上运行的系统服务转移至其他正常轻核心内核,包括:所述重核心内核确定出接收所述故障轻核心内核上运行的系统服务的正常轻核心内核;所述正常轻核心内核根据自身保存的所有内核的状态信息,获知所述故障轻核心内核上运行的系统服务的进程信息,根据所述进程信息得到对应的物理地址,根据所述物理地址获取对应的内存映像,将所述内存映像中的系统服务加载至本地,在本地进行系统服务进程的重构。第二方面,提供一种多内核操作系统的失效控制装置,包括:核心确定模块,用于确定操作系统内的重核心内核以及多个轻核心内核;服务运行模块,用于在所述重核心内核和多个轻核心内核上运行相应的系统服务,所述重核心内核以及多个轻核心内核均保存有所有内核的状态信息;状态监测模块,用于监测所述重核心内核和多个轻核心内核的状态;第一故障处理模块,用于当所述重核心内核出现故障时,则在所述多个轻核心内核中确定出新的重核心内核,将原重核心内核上运行的系统服务转移至所述新的重核心内核上,由所述新的重核心内核和多个轻核心内核更新相应内核的状态信息;第二故障处理模块,用于当所述轻核心内核出现故障时,则将故障轻核心内核上运行的系统服务转移至其他正常轻核心内核,由所述重核心内核和多个轻核心内核更新相应内核的状态信息。结合上述第二方面,在第一种可能的实现方式中,所述核心确定模块,包括:重核心内核确定单元,用于将操作系统内第一个启动的内核确定为所述重核心内核;轻核心内核确定单元,用于将其余内核确定为所述轻核心内核。本文档来自技高网
...

【技术保护点】
一种多内核操作系统的失效控制方法,其特征在于,包括:确定操作系统内的重核心内核以及多个轻核心内核;在所述重核心内核和多个轻核心内核上运行相应的系统服务,所述重核心内核以及多个轻核心内核均保存有所有内核的状态信息;监测所述重核心内核和多个轻核心内核的状态;当所述重核心内核出现故障时,则在所述多个轻核心内核中确定出新的重核心内核,将原重核心内核上运行的系统服务转移至所述新的重核心内核上,由所述新的重核心内核和多个轻核心内核更新相应内核的状态信息;当所述轻核心内核出现故障时,则将故障轻核心内核上运行的系统服务转移至其他正常轻核心内核,由所述重核心内核和多个轻核心内核更新相应内核的状态信息。

【技术特征摘要】
1.一种多内核操作系统的失效控制方法,其特征在于,包括:确定操作系统内的重核心内核以及多个轻核心内核,所述轻核心用于本地资源管理和全局资源访问管理,所述重核心用于本地资源管理、全局资源访问管理和对多个轻核心的管理,所述重核心内核以及多个轻核心内核均保存有所有内核的状态信息;在所述重核心内核和多个轻核心内核上运行相应的系统服务,所述重核心内核和所述多个轻核心内核上运行的系统服务根据重核心确定;监测所述重核心内核和多个轻核心内核的状态;当所述重核心内核出现故障时,则在所述多个轻核心内核中确定出新的重核心内核,将原重核心内核上运行的系统服务转移至所述新的重核心内核上,由所述新的重核心内核和多个轻核心内核更新相应内核的状态信息;当所述轻核心内核出现故障时,则将故障轻核心内核上运行的系统服务转移至其他正常轻核心内核,由所述重核心内核和多个轻核心内核更新相应内核的状态信息。2.根据权利要求1所述的方法,其特征在于,所述确定操作系统内的重核心内核以及多个轻核心内核,包括:将操作系统内第一个启动的内核确定为所述重核心内核,将其余内核确定为所述轻核心内核。3.根据权利要求1所述的方法,其特征在于,所述在所述重核心内核和多个轻核心内核上运行相应的系统服务,包括:所述重核心内核接收系统服务发送的注册请求消息,并运行接收到的系统服务;所述重核心内核向所述多个轻核心内核广播所接收的系统服务注册信息,指定运行系统服务的相应轻核心内核;所述重核心内核接收所述多个轻核心内核发送的注册回应消息,通知所述系统服务至所述相应轻核心内核进行注册,以便所述相应轻核心内核运行所述系统服务。4.根据权利要求3所述的方法,其特征在于,所述在所述重核心内核和多个轻核心内核上运行相应的系统服务,还包括:所述重核心内核接收系统服务发送的退出请求消息,并将本地保存的系统服务进行删除;所述重核心内核向所述多个轻核心内核广播所接收的系统服务退出信息;所述重核心内核接收所述多个轻核心内核发送的退出回应消息,由所述多个轻核心内核在将本地保存的系统服务进行删除;所述重核心内核通知所述系统服务进行退出。5.根据权利要求1所述的方法,其特征在于,所述监测所述重核心内核和多个轻核心内核的状态,包括:所述重核心内核或多个轻核心内核向各自的前继节点内核发送心跳信息;当所述重核心内核或多个轻核心内核的前继节点内核在预置时间内未接收到所述心跳信息,则确定所述重核心内核或轻核心内核出现故障。6.根据权利要求1所述的方法,其特征在于,所述当所述重核心内核出现故障时,则在所述多个轻核心内核中确定出新的重核心内核,包括:当所述重核心内核出现故障时,由所述多个轻核心内核选择出负载最小的轻核心内核,由所述负载最小的轻核心内核作为所述新的重核心内核。7.根据权利要求1-6中任一项所述的方法,其特征在于,所述将原重核心内核上运行的系统服务转移至所述新的重核心内核上,包括:所述新的重核心内核根据自身保存的所有内核的状态信息,获知所述原重核心内核上运行的系统服务的进程信息,根据所述进程信息得到对应的物理地址,根据所述物理地址获取对应的内存映像,将所述内存映像中的系统服务加载至本地,在本地进行系统服务进程的重构。8.根据权利要求1-6中任一项所述的方法,其特征在于,所述当所述轻核心内核出现故障时,则将故障轻核心内核上运行的系统服务转移至其他正常轻核心内核,包括:所述重核心内核确定出接收所述故障轻核心内核上运行的系统服务的正常轻核心内核;所述正常轻核心内核根据自身保存的所有内核的状态信息,获知所述故障轻核心内核上运行的系统服务的进程信息,根据所述进程信息得到对应的物理地址,根据所述物理地址获取对应的内存映像,将所述内存映像中的系统服务加载至本地,在本地进行系统服务进程的重构。9.一种多...

【专利技术属性】
技术研发人员:王磊詹剑锋林鑫龙张立新
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1