一种多核计算机上多操作系统的控制方法及多核计算机技术方案

技术编号:8323282 阅读:178 留言:0更新日期:2013-02-14 00:22
本发明专利技术公开了一种多核计算机上多操作系统的控制方法,该方法包括:在计算机启动时,为各个操作系统分配不同的内存空间和处理器核心,控制各个处理器核心依次跳转至分配给自身的操作系统的内核镜像入口,将各个操作系统的内核镜像分别加载至计算机内存设定位置,以启动各个操作系统;在计算机运行过程中,使各个操作系统分别使用分配给自身的处理器核心和内存空间来执行各种操作。本发明专利技术通过为多个操作系统分配不同的内存空间和处理器核心,控制多核处理器上多个操作系统对多个处理器核心进行管理,由于每个操作系统使用分配给自身的私有内存,从而在利用多核处理器的计算能力的同时,充分利用多核处理器的容错性。

【技术实现步骤摘要】

本专利技术涉及计算机操作系统领域,尤其涉及一种多核计算机上多操作系统的控制方法及多核计算机
技术介绍
自1996年美国斯坦福大学首次提出片上多处理器思想和首个多核结构原型,到2001年IBM推出第一个商用多核处理器P0WER4,再到2005年Intel和AMD多核处理器的大规模应用,最后到现在多核成为市场主流,多核处理器经历了十几年的发展。在这个过程中,多核处理器的应用范围已覆盖了多媒体计算、嵌入式设备、个人计算机、商用服务器和高性能计算机等众多领域,多核技术及其相关研究也迅速发展。硬件的发展需要软件的支持才能发挥其强大的性能,目前主流的操作系统都可以 支持多核处理器,如Windows NT之后的Windows系列操作系统、Solaris、AIX、Linux等。操作系统负责对多个处理器核心进行统一管理和调度,将进程或线程分发到不同核心上运行。近年来,几十核甚至上百核的高性能服务器相继出现,为了充分利用多核的计算能力和简化管理,虚拟化技术也相继而生。通过利用例如VMware vSphere、CitrixXenServer和Hyper-V等超级管理程序(hypervisor)将服务器物理资源抽象成逻辑资源,让一台服务器变成几台甚至上百台相互隔离的虚拟服务器,从而不再受限于物理资源上的限制,让CPU、内存、磁盘、I/O等硬件资源变成可以动态管理的资源池,从而提高资源的利用率,简化系统管理,实现服务器整合。但是,利用hypervisor的虚拟化技术来在多核设备中运行多个操作系统,对于多核处理器管理都有一个共同点,即对于多个核心的管理由一个操作系统或(相当于一个薄操作系统的)用于裸机虚拟化的VMware ESX Server、Citrix XenServer等超级管理程序完成,也即在计算机的最底层由一个操作系统或超级管理程序对全部多个处理器核心进行管理。这样的系统,虽然可以充分利用多核处理器的计算能力,但却没有充分利用多核处理器本身的容错性,而且由于hypervisor上同时运行的多个操作系统是虚拟机,这些操作系统间的安全性和稳定性会相互受到影响。因此,亟需一种方案来解决上述问题,使得一个核心的指令异常或错误并不会影响其它核心的正常运行,系统的安全性更高。
技术实现思路
本专利技术所要解决的技术问题之一是需要提供一种能够充分利用多核处理器本身的容错性的多核计算机上多操作系统的控制方法。为了解决上述技术问题,本专利技术提供了一种多核计算机上多操作系统的控制方法,该方法包括在所述计算机启动时,为各个所述操作系统分配不同的内存空间和处理器核心,控制各个所述处理器核心依次跳转至分配给自身的操作系统的内核镜像入口,将各个所述操作系统的内核镜像分别加载至计算机内存设定位置,以启动各个所述操作系统;在所述计算机运行过程中,使各个所述操作系统分别使用分配给自身的处理器核心和内存空间来执行各种操作。根据本专利技术的又一方面的控制方法,在所述计算机启动时,进一步包括以下步骤,激活第一处理器核心,所述第一处理器核心加载BootLoader程序镜像并转入所述BootLoader程序中执行,在所述BootLoader程序中激活所述多个处理器核心中除第一处理器核心以外的其它处理器核心;被激活后的所述其它处理器核心转入所述BootLoader程序中执行,在所述BootLoader程序中根据处理器核心的编号,控制不同的处理器核心分别跳转到各自对应的操作系统内核镜像入口处执行。根据本专利技术的又一方面的控制方法,在所述计算机运行过程中,还包括 在发生处理器异常或外部中断时,BootLoader程序根据发生异常或者处理所述外部中断的处理器核心的编号,将所述处理器异常或外部中断分发至与所述处理器核心的编号相对应的操作系统中进行处理。根据本专利技术的又一方面的控制方法,还包括各个所述操作系统分别利用BootLoader程序在高级可编程中断控制器中配置的各个所述外部中断的中断分发目标和中断优先级,在发生外部中断时,进一步执行以下步骤查询所述外部中断在所述高级可编程中断控制器中的中断分发目标和中断优先级;所述BootLoader程序根据所述中断分发目标所对应的处理器核心的编号,将所述外部中断分发至与所述处理器核心的编号相对应的操作系统;所述操作系统基于所述中断优先级别对所述外部中断进行处理。根据本专利技术的又一方面的控制方法,在所述计算机运行过程中,还包括各个所述处理器核心中的其中之一利用BootLoader程序在高级可编程中断控制器中的配置,向其他处理器核心发送软重启信号,以重启与所述其他处理器核心相对应的操作系统。根据本专利技术的又一方面的控制方法,在一操作系统自行重启或接收到所述软重启信号时,该操作系统根据其所对应的处理器核心的内存管理单元的设置,清除其自身所分配到的内存,并重新将该操作系统的内核镜像加载至与计算机内存设定位置中,以重启该操作系统。根据本专利技术的又一方面的控制方法,通过修改用于检测操作系统处理器的代码为所述各个操作系统分配至少一个处理器核心。根据本专利技术的又一方面的控制方法,在所述计算机运行过程中,还包括通过对多个操作系统中的任一操作系统所对应的处理器核心的内存管理单元设置比其他操作系统高的内存访问特权,使得该操作系统能够访问所述其它操作系统所分配到的内存空间。根据本专利技术的又一方面的控制方法,在所述计算机运行过程中,还包括控制各所述操作系统相互之间进行通信,具体包括以下步骤在要进行通信的两个操作系统中,作为发送端的操作系统对已设置的共享内存的通信区进行加锁,将消息内容写入加锁后的通信区中,并触发接收端的操作系统所在处理器核心的核间中断;作为接收端的操作系统响应并处理所述核间中断,从所述共享内存的通信区中读取所述消息内容,并对所述共享内存的通信区进行解锁,其中,所述共享内存包括两块通信区,所述通信区为一个单向发送消息的通道。根据本专利技术的另一方面,还提供了一种多核计算机,所述多核计算机利用上述任一项所述的控制方法来控制多个操作系统。与现有技术相比,本专利技术的一个或多个实施例可以具有如下优点本专利技术通过为多个操作系统分配不同的内存空间和处理器核心,控制多核处理器上多个操作系统对多个处理器核心进行管理,使得在一台多核计算机上可以同时运行多个操作系统;由于每个操作系统使用分配给自身的私有内存,使得多个操作系统可以独立运行,彼此间互不影响。一个操作系统的失败,并不会使整台计算机完全失去控制,其它处理器核心上的操作系统仍然能够正常运行。从而在利用多核处理器的计算能力的同时,充分利用多核处理器的容错性。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明·附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例共同用于解释本专利技术,并不构成对本专利技术的限制。在附图中图I是根据本专利技术实施例的多核计算机上多操作系统的控制方法的流程示意图;图2是根据本专利技术实施例的技术效果图;图3是根据本专利技术一示例的架构示意图;图4是根据本专利技术一示例的内存布局示意图;图5是根据本专利技术一示例的开机启动示意图;图6是根据本专利技术一示例的操作本文档来自技高网
...

【技术保护点】
一种多核计算机上多操作系统的控制方法,其特征在于,包括:在所述计算机启动时,为各个所述操作系统分配不同的内存空间和处理器核心,控制各个所述处理器核心依次跳转至分配给自身的操作系统的内核镜像入口,将各个所述操作系统的内核镜像分别加载至计算机内存设定位置,以启动各个所述操作系统;在所述计算机运行过程中,使各个所述操作系统分别使用分配给自身的处理器核心和内存空间来执行各种操作。

【技术特征摘要】
1.一种多核计算机上多操作系统的控制方法,其特征在于,包括 在所述计算机启动时,为各个所述操作系统分配不同的内存空间和处理器核心,控制各个所述处理器核心依次跳转至分配给自身的操作系统的内核镜像入口,将各个所述操作系统的内核镜像分别加载至计算机内存设定位置,以启动各个所述操作系统; 在所述计算机运行过程中,使各个所述操作系统分别使用分配给自身的处理器核心和内存空间来执行各种操作。2.根据权利要求I所述的控制方法,其特征在于,在所述计算机启动时,进一步包括以下步骤, 激活第一处理器核心,所述第一处理器核心加载BootLoader程序镜像并转入所述BootLoader程序中执行,在所述BootLoader程序中激活所述多个处理器核心中除第一处理器核心以外的其它处理器核心; 被激活后的所述其它处理器核心转入所述BootLoader程序中执行,在所述BootLoader程序中根据处理器核心的编号,控制不同的处理器核心分别跳转到各自对应的操作系统内核镜像入口处执行。3.根据权利要求I所述的控制方法,其特征在于,在所述计算机运行过程中,还包括 在发生处理器异常或外部中断时,BootLoader程序根据发生异常或者处理所述外部中断的处理器核心的编号,将所述处理器异常或外部中断分发至与所述处理器核心的编号相对应的操作系统中进行处理。4.根据权利要求3所述的控制方法,其特征在于,还包括 各个所述操作系统分别利用BootLoader程序在高级可编程中断控制器中配置的各个所述外部中断的中断分发目标和中断优先级,在发生外部中断时,进一步执行以下步骤 查询所述外部中断在所述高级可编程中断控制器中的中断分发目标和中断优先级;所述BootLoader程序根据所述中断分发目标所对应的处理器核心的编号,将所述外部中断分发至与所述处理器核心的编号...

【专利技术属性】
技术研发人员:吴江涛
申请(专利权)人:中标软件有限公司
类型:发明
国别省市:

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

1