一种多核处理系统及其管理方法

文档序号:6613650阅读:234来源:国知局
专利名称:一种多核处理系统及其管理方法
技术领域
本发明涉及计算机技术领域,特别涉及一种解决对称多处理系统(Symmetric Multi-Processing, SMP)可扩展性的多核处理系统及其管理方 法。
背景技术
随着摩尔定律和多核技术的发展,对称多处理系统的可扩展性问题越来越 突出,即由于处理器或处理器核间同步互斥的原因,整个系统的性能不能随着 处理器或处理器核数目的增长而线性增长,甚至当处理器或处理器核数目过多 时,系统性能会有逐渐下降的趋势。SMP的全称是〃对称多处理〃 (Symmetrical Multi-Processing)手支术,是 指在一个计算机上汇集了一组处理器(多CPU),各CPU之间共享内存子系统以 及总线结构。它是相对非对称多处理技术而言的、应用十分广泛的并行技术。 在这种架构中, 一台电脑不再由单个CPU组成,而同时由多个处理器运行操作 系统的单一复本,并共享内存和一台计算机的其他资源。虽然同时使用多个 CPU,但是从管理的角度来看,它们的表现就像一台单机一样。系统将任务队 列对称地分布于多个CPU之上,从而极大地提高了整个系统的数据处理能力。 所有的处理器都可以平等地访问内存、1/0和外部中断。在对称多处理系统中, 系统资源被系统中所有CPU共享,工作负载能够均匀地分配到所有可用处理器 之上。图1表示现有技术的对称多处理系统结构,其中框4表示整个多核和/或 多处理器系统的硬件平台,配置了多处理器核或多个处理器,图中表示出有8 个处理器,分别用P1-P8表示,且图1中只标出处理器资源,其它资源省略。如图1所示,标号3表示其中的一个处理器。标号2表示传统对称多处理操作系统,它同时管理8个处理器和所有其它 硬件资源,如输入输出资源。
标号1表示运行在对称多处理操作系统2上的应用程序。但是,由于对称多处理系统的可扩展性问题,对称多处理操作系统2不能 管理过多的处理器或处理器核,否则系统性能就会下降,并影响上层应用程序 1的性能。因此,如何更有效的利用多核和多处理器,并解决对称多处理系统的可扩 展性问题,已经成为急需解决的问题。发明内容本发明要解决对称多处理系统的可扩展性问题,使整个系统的性能随着处 理器和/或处理器核数目的增长而不断增长,从而提供一种扩展性好的多核处 理系统及其管理方法。为此目的,本发明采取如下技术方案一种多核处理系统,包括多个处理器核和/或多个处理器;其还包括分区 模块和启动模块,其中所述分区模块,用于解析由用户指定的各个分区的资源配置参数和启动参 数并保存;所述分区包括至少一个处理器和/或至少一个处理器核;所述启动模块,用于根据所述分区模块解析的分区资源配置参数,启动特 权操作系统和受特权操作系统管理的非特权操作系统。优选地,所述启动模块包括特权操作系统启动模块、非特权操作系统启动 处理模块和非特权操作系统启动模块,其中所述特权操作系统启动模块,用于根据所述分区模块的分区配置,在一个 分区的内存资源中保留所述特权操作系统的用于所述特权操作系统和所述非 特权操作系统之间的通信缓冲区,完成所述特权操作系统的初始化,并加载非 特权操作系统启动处理模块,完成特权操作系统启动;所述非特权操作系统启动处理模块,用于在启动非特权操作系统时,根据 用户输入的命令和特权操作系统保存的非特权操作系统启动参数,在用户指定 的用于启动非特权操作系统的分区的内存资源中设置非特权操作系统代码映 像、非特权操作系统的启动参数;所述非特权操作系统启动模块在所述非特权操作系统启动处理模块之后 执行,用于向所述用户指定的用于启动非特权操作系统的分区中的处理器和/
或处理器核发出启动命令,使该处理器和/或处理器核在非特权操作系统代码 映像处执行启动操作,并且在所述用户指定的用于启动非特权操作系统的分区 的内存资源中保留非特权操作系统的通信缓冲区,完成非特权操作系统初始 化,完成非特权操作系统启动。优选地,所述特权操作系统启动模块使得所述特权操作系统在初始化完成 后,还加载虚拟网卡模块;所述非特权操作系统启动模块使得所述非特权操作系统在初始化完成后, 还加载虚拟网卡模块;所述虚拟网卡模块,用于操作系统间通信。优选地,所述非特权操作系统启动处理模块,在启动非特权操作系统之前, 还在所述用户指定的用于启动非特权操作系统的分区内的内存资源中设置跳 板模块的代码;所述跳板模块,用于执行跳板代码,并修改跳板自身页表和非特权操作系 统页表,完成跳转和处理器和/或处理器核模式转换;所述非特权操作系统启动模块,用于向所述用户指定的用于启动非特权操 作系统的分区中的处理器和/或处理器核发出启动命令,令其执行所述跳板模 块;执行所述跳板模块使所述用户指定的用于启动非特权操作系统的分区中的 处理器和/或处理器核根据所述跳板模块执行结果,跳转到非特权操作系统代 码映像处执行启动操作。优选地,所述用户输入的命令包括指定要启动的非特权操作系统的分区; 所述非特权操作系统的启动参数包括非特权操作系统的内存起始位置,跳板代 码的起始地址以及非特权操作系统代码映像的起始地址。优选地,还包括资源管理模块,用于利用异构式资源管理方式来管理多核 处理系统的资源,使各个操作系统独立管理自己的内存和处理器资源和/或处 理器核资源;所述多核处理系统的资源包括内存资源和处理器资源和/或处理 器核资源及输入输出资源;特权操作系统能够访问系统的输入输出资源,非特 权操作系统通过特权操作系统的代理访问输入输出资源。一种多核处理系统的管理方法,包括以下歩骤步骤S100,分区模块解析用户指定各个分区的资源配置参数,并保存; 步骤S200,根据分区模块解析的分区资源配置参数,启动特权操作系统和受特权操作系统管理的非特权操作系统。 优选地,步骤S200具体包括下列歩骤歩骤S210,启动模块中的特权操作系统启动模块,根据分区模块的分区 配置,在本分区的内存资源中,保留一块内存区域作为核心间通信缓冲区;歩骤S220,特权操作系统启动模块使特权操作系统完成自身的初始化并 完成启动;步骤S230,特权操作系统启动模块使特权操作系统加载启动模块中的非 特权操作系统启动处理模块;步骤S240,非特权操作系统启动处理模块根据用户输入的命令和特权操 作系统保存的非特权操作系统启动参数,将非特权操作系统代码映像和非特权 操作系统启动参数拷贝到要启动非特权操作系统的分区的内存区域;步骤S250,非特权操作系统启动模块给非特权操作系统的处理器和/或处 理器核发送启动命令使其到非特权操作系统映像处执行;步骤S260,非特权操作系统启动模块使非特权操作系统修改内存管理内 容,使其在自身分区内完成操作系统的启动,并保留核心间通信缓冲区,完成 启动。优选地,在所述歩骤S230中,特权操作系统启动模块使特权操作系统还 加载虚拟网卡模块;在所述步骤S260中,非特权操作系统启动模块使非特权操作系统保留核 心间通信缓冲区后,还加载虚拟网卡模块;所述虚拟网卡模块用于操作系统之间的通信。优选地,在步骤S240中,非特权操作系统启动处理模块根据用户输入的 命令和特权操作系统保存的非特权操作系统启动参数还将跳板模块的代码拷 贝到要启动非特权操作系统的分区的内存区域;在所述歩骤S250中,非特权操作系统启动模块给非特权操作系统的处理 器和/或处理器核发送启动命令并使其执行跳板代码;执行所述跳板代码用于 修改跳板自身页表和非特权操作系统页表,使其映射到非特权操作系统代码映 像处,并使非特权操作系统的处理器和/或处理器核跳转到非特权操作系统映 像处执行。优选地,所述用户输入的命令包括指定要启动的非特权操作系统;所述非特权操作系统的启动参数包括非特权操作系统的内存起始位置,跳板代码的起 始地址以及非特权操作系统代码映像的起始地址。优选地,所述修改内存管理内容包括限制页表映射范围,根据分区内存范 围修改虚实地址转换方式。优选地,还包括步骤S300,采用异构式资源管理方式来管理多核处理系 统资源。所述多核处理系统的资源包括内存资源和处理器资源和/或处理器核 资源及输入输出资源。优选地,所述歩骤S300具体包括以下歩骤歩骤S310,各个操作系统独立管理相应的内存资源和处理器资源和/或处 理器核资源;步骤S320,处理器资源和/或处理器核资源和内存资源经过共享协议,在 分区之间共享;歩骤S330,特权操作系统能够访问系统的输入输出资源,非特权操作系 统需要通过特权操作系统的代理才能访问输入输出资源。 本发明所产生的有益效果是(1) 由于每个分区内的处理器核和/或处理器的数目相对较少,所以分区 上的单个操作系统的性能可以随着处理器和/或处理器核数目的增长而不断增长,有效的利用了日益丰富的处理器资源。(2) 由于在所有分区之间通过操作系统的虚拟网卡模块建立一套基于内存操作的内部网络,使得各个分区上的操作系统可以高效地协同工作,并使整 个多处理器核和/或多处理器系统取得很高的并行性能。(3) 本发明不需要任何特殊的硬件支持,可以在任何通用的平台上,很 好的解决对称多处理系统的可扩展性问题。(4) 本发明提出的操作系统管理方法,大大增强了本系统的可管理性和 灵活性。(5) 本发明采用异构式资源管理方式,加强了整个系统的安全性和功能 隔离性。


图1为传统的对称多处理系统结构图。
图2为本发明一实施例中的多核处理系统结构图。图3为本发明一实施例中的多核处理系统管理方法的流程图。图4为图3中步骤S200的具体流程图。 图5为图3中步骤S300的具体流程图。
具体实施方式
下面结合附图与具体实施方式
对本发明作进一步详细描述。 如图2所示,为本发明的多核处理系统的结构图,包括多个处理器核和/ 或多个处理器,其还包括分区模块和启动模块。分区模块用户根据计算机的处理器和/或处理器核和内存配置,指定各 个分区的资源配置,每个分区包括至少一个处理器和/或一个处理器核,并把每个分区的资源通过Grub参数传递给操作系统(例如,参数"cpumask=13, meml二1024M, mem2 = 512M"表示整个系统有两个分区第一个分区有1个单 核处理器或处理器核,1024M内存;第二个分区有三个单核处理器和/或处理 器核,512M内存)。分区模块解析这些参数,并保存在操作系统中。启动模块根据分区模块解析的分区资源配置参数,启动特权操作系统和 受特权操作系统管理的非特权操作系统。所述的启动模块,包括特权操作系统启动模块、非特权操作系统启动处理模块和非特权操作系统启动模块。其中所述特权操作系统启动模块,用于根据分区模块的分区配置,在第一分区的内存区域内配置保留自身的处理器和/或处理器核间通信缓冲区,利用Grub 启动参数,完成自身的初始化,并加载非特权操作系统启动处理模块,以完成 启动。优选地,所述特权操作系统启动模块使特权操作系统还加载虚拟网卡模 块,用于通过共享内存来完成操作系统间的通信。所述虚拟网卡模块,用于操作系统之间通信。该虚拟网卡模块使用软件模 拟常规网卡的功能,将内存拷贝原语封装成消息传递原语,以在多个操作系统 间提供高速通信,并遵守TCP/IP协议。所述的非特权操作系统启动处理模块,用于在启动非特权操作系统时,根 据用户输入的命令和特权操作系统保存的非特权操作系统启动参数,在用户指 定的用于启动非特权操作系统的分区(比如第二分区)的内存区域内内设置非 特权操作系统代码映像、非特权操作系统的启动参数。优选地,所述的非特权 操作系统启动处理模块还在在所述用户指定的用于启动非特权操作系统的分 区的内存区域内设置跳板模块的代码;用户输入命令包括指定要启动第几个非特权操作系统。特权操作系统保存的用于非特权操作系统的启动参数包括非特 权操作系统的内存起始位置,跳板代码以及非特权操作系统代码映像的起始地 址等。所述跳板模块,用于执行跳板代码,完成部分初始化任务(如处理器和/ 或处理器核模式转变等),并修改跳板自身页表和非特权操作系统页表,完成 跳转和处理器和/或处理器核模式转换。所述非特权操作系统启动模块,向所述用户指定的用于启动非特权操作系 统的分区中处理器和/或处理器核发出启动命令,令其执行跳板模块;所述跳 板模块使非特权操作系统的处理器和/或处理器核根据跳板模块跳转到非特权 操作系统代码映像处执行启动操作,并在所述用户指定的用于启动非特权操作 系统的分区的内存区域内保留非特权操作系统通信缓冲区,完成非特权操作系 统初始化,完成启动。优选地,所述非特权操作系统启动模块使非特权操作系 统在所述用户指定的用于启动非特权操作系统的分区的内存区域内保留非特 权操作系统通信缓冲区后,还使非特权操作系统加载用于操作系统间通信的虚 拟网卡模块。本发明的多核处理系统,通过分区的操作系统启动,可以使各个非特权操 作系统并行启动,大大减小了整个系统的启动时间;同时,用户只需通过修改 Grub参数,就可以自由选择各个多处理器核和/或者处理器和内存配置,其增 强了整个系统的灵活性和可管理性;最后,用户可以在不影响特权核心操作系 统的情况下,多次启动、关闭非特权核心操作系统,增强整个多核处理系统的 可靠性。更佳地,本发明的多核处理系统,还包括资源管理模块,用于利用异构式 资源管理方式来管理多核处理系统的资源,其各个操作系统独立管理自己的内 存和处理器资源和/或处理器核资源,所述多核处理系统的资源包括内存资源 和处理器资源和/或处理器核资源及输入输出资源;处理器资源和/或处理器核 资源和内存资源经过共享协议,可以在所述分区之间共享;只有特权操作系统 可以访问系统的输入输出资源,非特权操作系统通过特权操作系统的代理才能
访问输入输出资源。所述代理输入输出资源的代理是一种现有技术,在本发明中不再一一详细 描述。如图2所示,计算机底层硬件配置了8个处理器,分别用标号15 22来表示。作为一种可实现方式,本发明的实施例中,分区模块把它们分为四个处理器分区第一处理器分区,包括处理器15;第二处理器分区,包括处理器16 17;第三处理器分区,包括处理器18 20;第四处理器分区,包括处理器21 22。在每个处理器分区上可以运行一个对称多处理操作系统,对应地分别用标号9 12表示。作为本发明的实施例,将操作系统9设置为特权操作系统,可以访问硬件 资源(如输入输出资源),负责输入输出,并和用户交互,以及给其它非特权 操作系统分配任务。其它操作系统10 12为非特权操作系统,主要用于执行 特权操作系统9分配的任务,而且必须由特权操作系统9代理才能进行输入输 出操作。由于各操作系统9 12管理的处理器数目都较少,所以各操作系统9 12的个体性能不会受到对称多处理系统可扩展性的影响,会随着处理器数目 的增长而不断增长。图2中,标号14表示一套基于内存操作的内部网络,负责各个操作系统 9 12之间的通信,并支持TCP/IP协议。内部网络14包括位于每个操作系统 中的虚拟网卡模块,图中仅用标号表示出位于操作系统9中的虚拟网卡模块 13。在这种系统结构下,应用程序5 8可以并行的在操作系统9 12上运行, 使整个系统取得很高的并行性能,有效的解决了对称多处理系统的可扩展性问 题。下面以Li皿x系统为例,进一步详细说明本发明的多核处理系统的管理方 法,即本发明的多核管理方法,但是应当说明的是,本领域的技术人员,也可 以利用本发明的技术方案,利用其熟知的计算机语言,实现本发明的多核处理 系统,但这种实现也在本发明的保护范围之内。如图3所示,本发明的多核处 理系统的管理方法包括以下步骤步骤SIOO,用户根据计算机的处理器和/或处理器核和内存配置,指定各
个分区的资源,每个分区包括至少一个处理器和/或一个处理器核,并把每个分区的资源通过Grub参数传递给操作系统(例如,参数"cpumask二13, meml 二1024M, mem2 = 512M"表示整个系统有两个分区第一个分区有1个单核处 理器或处理器核,1024M内存;第二个分区有三个单核处理器和/或处理器核, 512M内存)。分区模块解析这些参数,并保存在操作系统中。此处的分区模块 解析参数的方法采用本领域的常规技术。步骤S200,根据分区模块解析的分区资源参数,启动特权操作系统和受 特权操作系统管理的非特权操作系统。如图4所示,歩骤S200具体包括下列步骤步骤S210,启动模块中的特权操作系统启动模块,根据分区模块的分区 配置,在本分区的内存资源中,保留一块内存区域作为核心间通信缓冲区。本 发明中保留内存区域的方法采用本领域的常规技术;步骤S220,特权操作系统启动模块利用Grub启动参数,完成自身的初始 化。本发明特权操作系统的启动过程与LINUX操作系统的启动方式相同,本领 域技术人员根据现有技术能够实现;步骤S230,特权操作系统加载启动模块中的非特权操作系统启动处理模 块。此处的加载方法采用本领域的常规加载操作系统模块方法。优选地,特权 操作系统还加载用于操作系统之间通信的虚拟网卡模块。步骤S240,非特权操作系统启动处理模块根据用户输入的命令和特权操 作系统保存的非特权操作系统启动参数,将非特权操作系统代码映像和非特权 操作系统的其它启动参数(如CPU性能参数,全局时钟参数等)拷贝到用户指 定的用于启动非特权操作系统的分区的内存区域。优选地,非特权操作系统启 动处理模块还将跳板模块的代码拷贝到用户指定的用于启动非特权操作系统 的分区的内存区域;所述用户输入命令包括指定要启动第几个非特权操作系 统;所述特权操作系统保存的用于非特权操作系统的启动参数包括非特权操作 系统的内存起始位置,跳板代码以及内核映像的起始地址等。歩骤S250,非特权操作系统启动模块给非特权操作系统的处理器和/或处 理器核发送启动命令使其到非特权操作系统映像处执行。优选地,非特权操作 系统启动模块给非特权操作系统的处理器和/或处理器核发送启动命令(如发 送处理器间中断)并使其执行跳板代码;执行所述跳板代码用于修改跳板自身页表,使其映射到非特权操作系统代码映像处,并使非 特权操作系统的处理器和/或处理器核跳转到非特权操作系统映像处执行。步骤S260,非特权操作系统启动模块使非特权操作系统修改内存管理相关内容,使其在自身分区内完成操作系统的启动,并在内存区域中保留核心间 通信缓冲区,完成启动。优选地,非特权操作系统启动模块使非特权操作系统 保留核心间通信缓冲区后,还加载虚拟网卡模块,用于各个操作系统之间的高 效通信。保留通信缓冲区、加载核心间通信模块的方法与传统方法相同。对内 存管理的修改包括限制页表映射范围,根据分区内存范围修改虚实地址转换方 式等。较佳地,所述多核处理系统的管理方法,还包括下列步骤步骤S300,采用异构式资源管理方式来管理多核处理系统的资源。所述多核处理系统的资源包括内存资源、处理器资源和/或处理器核资源和输入输 出资源。如图5所示,步骤S300具体包括如下歩骤步骤S310,各个操作系统独立管理自身的内存资源和处理器资源和/或处 理器核资源,操作系统在经授权的方式下,访问其它分区的处理器资源和/或 处理器核资源和内存资源。这样保证了整个系统的安全性和功能隔离,并避免 了对称多处理系统的可扩展性问题;步骤S320,处理器资源和/或处理器核资源和内存资源经过共享协议,在 分区之间动态流动,保证了整个资源的负载平衡;步骤S330,只有特权操作系统可以访问系统的输入输出资源,其它非特 权操作系统需要通过特权操作系统的代理才能访问输入输出资源。这种异构式的资源管理方式,使得特权操作系统负责整个系统的资源调度 和任务分配,并与用户进行交互;同时,非特权操作系统不用关心除了处理器 (CPU)和/或处理器核和内存外的其它资源,可以更加有效的执行计算任务; 底层基于内存的内部网络,使得特权操作系统和非特权操作系统可以更加快速 的进行交互,减少了操作系统间通信的延迟。本发明的多核处理系统,解决了SMP可扩展性的问题,同时可以使各个非 特权操作系统并行启动,大大减小了整个系统的启动时间;同时,用户只需通 过修改Grub参数,就可以自由选择各个核心的处理器和/或处理器核和内存配
置,增强了整个系统的灵活性和可管理性;最后,用户可以在不影响特权核心 的情况下,多次启动、关闭非特权核心,增强了整个系统的可靠性。以上所述内容,仅为本发明具体的实施方式,但本发明的保护范围并不局 限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易 想到的变化或替换,都应涵盖在本发明的保护范围内。
权利要求
1、一种多核处理系统,包括多个处理器核和/或多个处理器;其特征是,还包括分区模块和启动模块,其中所述分区模块,用于解析由用户指定的各个分区的资源配置参数和启动参数并保存;所述分区包括至少一个处理器和/或一个处理器核;所述启动模块,用于根据所述分区模块解析的分区资源配置参数,启动特权操作系统和受特权操作系统管理的非特权操作系统。
2、 根据权利要求1所述的多核处理系统,其特征是,所述启动模块包括 特权操作系统启动模块、非特权操作系统启动处理模块和非特权操作系统启动 模块,其中所述特权操作系统启动模块,用于根据所述分区模块的分区配置,在第一 分区的内存资源中保留所述特权操作系统的用于所述特权操作系统和所述非 特权操作系统之间的通信缓冲区,完成所述特权操作系统的初始化,并加载非 特权操作系统启动处理模块,完成特权操作系统启动;所述非特权操作系统启动处理模块,用于在启动非特权操作系统时,根据 用户输入的命令和特权操作系统保存的非特权操作系统启动参数,在用户指定 的用于启动非特权操作系统的分区的内存资源中设置非特权操作系统代码映 像、非特权操作系统的启动参数;所述非特权操作系统启动模块,用于向所述用户指定的用于启动非特权操 作系统的分区中的处理器和/或处理器核发出启动命令并在非特权操作系统代 码映像处执行启动操作,并且在所述用户指定的用于启动非特权操作系统的分 区的内存资源中保留非特权操作系统的通信缓冲区,完成非特权操作系统初始 化,完成非特权操作系统启动。
3、 根据权利要求2所述的多核处理系统,其特征在于,所述特权操作系 统启动模块使得所述特权操作系统在初始化完成后,还加载虚拟网卡模块;所述非特权操作系统启动模块使得所述非特权操作系统在初始化完成后, 还加载虚拟网卡模块;所述虚拟网卡模块,用于操作系统间通信。
4、 根据权利要求2或3所述的多核处理系统,其特征在于,所述非特权 操作系统启动处理模块,在启动非特权操作系统时,还在所述用户指定的用于 启动非特权操作系统的分区内的内存资源中设置跳板模块的代码;所述跳板模块,用于执行跳板代码,并修改跳板自身页表和非特权操作系 统页表,完成跳转和处理器模式转换;所述非特权操作系统启动模块,用于向所述其它分区中的处理器和/或处 理器核发出启动命令,令其执行所述跳板模块;执行所述跳板模块使所述用户 指定的用于启动非特权操作系统的分区中的处理器和/或处理器核根据所述跳 板模块执行结果,跳转到非特权操作系统代码映像处执行启动操作。
5、 根据权利要求2所述的多核处理系统,其特征是,所述用户输入的命 令包括指定要启动的非特权操作系统;所述非特权操作系统的启动参数包括非 特权操作系统的内存起始位置,跳板代码的起始地址以及非特权操作系统代码 映像的起始地址。
6、 根据权利要求1-3任一项所述的多核处理系统,其特征是,还包括资 源管理模块,用于利用异构式资源管理方式来管理多核处理系统资源,使各个 操作系统独立管理自己的内存和处理器资源;处理器资源和/或处理器核资源 和内存资源经过共享协议,能够在所述分区之间共享;特权操作系统能够访问 系统的输入输出资源,非特权操作系统通过特权操作系统的代理访问输入输出 资源。
7、 一种多核处理系统的管理方法,其特征是,包括步骤S100,分区模块解析用户指定各个分区的资源配置参数,并保存; 步骤S200,根据分区模块解析的分区资源配置参数,启动特权操作系统 和受特权操作系统管理的非特权操作系统。
8、 根据权利要求7所述的多核处理系统的管理方法,其特征是,步骤S200 具体包括下列步骤歩骤S210,启动模块中的特权操作系统启动模块,根据分区模块的分区 配置,在本分区的内存资源中,保留一块内存区域作为核心间通信缓冲区;步骤S220,特权操作系统启动模块使特权操作系统完成自身的初始化并 完成启动;步骤S230,特权操作系统启动模块使特权操作系统加载启动模块中的非 特权操作系统启动处理模块;步骤S240,非特权操作系统启动处理模块根据用户输入的命令和特权操 作系统保存的非特权操作系统启动参数,将非特权操作系统代码映像和非特权 操作系统启动参数拷贝到非特权操作系统所管理的内存区域;步骤S250,非特权操作系统启动模块给非特权操作系统的处理器和/或处 理器核发送启动命令使其到非特权操作系统映像处执行;步骤S260,非特权操作系统启动模块使非特权操作系统修改内存管理内 容,使其在自身分区内完成操作系统的启动,并保留核心间通信缓冲区,完成 启动。
9、 根据权利要求8所述的多核处理系统的管理方法,其特征是,在所述 步骤S230中,特权操作系统启动模块使特权操作系统还加载虚拟网卡模块;在所述步骤S260中,非特权操作系统启动模块使非特权操作系统保留核 心间通信缓冲区后,还加载虚拟网卡模块;所述虚拟网卡模块用于操作系统之间的通信。
10、 根据权利要求8所述的多核处理系统的管理方法,其特征是,在步骤 S240中,非特权操作系统启动处理模块根据用户输入的命令和特权操作系统 保存的非特权操作系统启动参数还将跳板模块的代码拷贝到非特权操作系统 所管理的内存区域;在所述步骤S250中,非特权操作系统启动模块给非特权操作系统的处理 器和/或处理器核发送启动命令并使其执行跳板代码;执行所述跳板代码用于 修改跳板自身页表和非特权操作系统页表,使其映射到非特权操作系统代码映 像处,并使非特权操作系统的处理器和/或处理器核跳转到非特权操作系统映 像处执行。
11、 根据权利要求10所述的多核处理系统的管理方法,其特征是,所述 用户输入的命令包括指定要启动的非特权操作系统;所述非特权操作系统的启 动参数包括非特权操作系统的内存起始位置,跳板代码的起始地址以及非特权 操作系统代码映像的起始地址。
12、 根据权利要求8所述的多核处理系统的管理方法,其特征是,所述修 改内存管理内容包括限制页表映射范围,根据分区内存范围修改虚实地址转换 方式。
13、 根据权利要求8所述的多核处理系统的管理方法,其特征是,还包括 步骤S300,采用异构式资源管理方式来管理多核处理系统的资源。
14、根据权利要求13所述的多核处理系统的管理方法,其特征是,所述步骤S300具体包括以下歩骤步骤S310,各个操作系统独立管理相应的内存资源和处理器资源和/或处理器核资源;步骤S320,处理器资源和/或处理器核资源和内存资源经过共享协议,在 分区之间共享;步骤S330,特权操作系统能够访问系统的输入输出资源,非特权操作系 统需要通过特权操作系统的代理访问输入输出资源。
全文摘要
本发明公开了一种解决对称多处理系统可扩展性问题的多核处理系统及其管理方法。该系统,包括多个处理器核和/或多个处理器、分区模块和启动模块所述分区模块,用于解析由用户指定的各个分区的资源配置参数和启动参数并保存;所述分区包括至少一个处理器和/或一个处理器核;所述启动模块,用于启动特权操作系统和受特权操作系统管理的非特权操作系统。该管理方法,包括以下步骤步骤S100,分区模块解析用户指定各个分区的资源配置参数,并保存;步骤S200,根据分区模块解析的分区资源配置参数,启动特权操作系统和受特权操作系统管理的非特权操作系统。本发明有效利用处理器资源,解决了对称多处理系统的可扩展性问题。
文档编号G06F15/177GK101149728SQ20071017649
公开日2008年3月26日 申请日期2007年10月29日 优先权日2007年10月29日
发明者翔 张, 苗艳超, 捷 马 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1