多内核操作系统实现方法和实现装置及系统的制作方法

文档序号:6501152阅读:149来源:国知局
多内核操作系统实现方法和实现装置及系统的制作方法
【专利摘要】本发明实施例提供一种多内核操作系统实现方法和实现装置及系统,其中,该方法包括:为多内核操作系统的各内核的基础功能模块分配内存;为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存;将所述为所述第一内核中支持第一应用程序的特性功能模块分配的内存释放。本发明实施例提供的多内核操作系统实现方法和实现装置及系统,实现了基于应用程序的特性,按需为内核的相应功能分配内存,从而提高了多内核操作系统的系统管理效率和资源使用效率。
【专利说明】多内核操作系统实现方法和实现装置及系统

【技术领域】
[0001]本发明实施例涉及计算机技术,尤其涉及一种多内核操作系统实现方法和实现装置及系统。

【背景技术】
[0002]随着计算机技术的飞速发展,出现了诸如多核心处理器计算机系统(Mult1-coreprocessor computing system)、异构计算机系统(Heterogeneous computing system)等包含有多个处理器的多处理器计算机系统(Mult1-processor Computing System),为了有效地管理这类系统,充分利用系统提供的丰富资源,同时保证系统的使用效率,提出了一种运行在多处理器计算机系统上的多内核操作系统(Mult1-Kernel Operating System)的设计方法。
[0003]多内核操作系统,是指在多处理器计算机系统的每个处理器的核心(P1cessorcore)上部署一个操作系统内核,在内核的基础上部署提供对外接口的系统服务,如:文件系统、通信系统,从而形成一个完整的操作系统。
[0004]现有技术中,多内核操作系统的内核之间是对等的关系,各内核的功能完全相同,需要进行资源协调时,依靠对等的交互机制,通过协商协议实现管理功能。
[0005]但是,现有技术的多内核操作系统中,在某些内核上的一些功能很长一段时间内用不上,但是仍然需要占用很多内存,造成计算机资源的浪费。


【发明内容】

[0006]本发明实施例提供一种多内核操作系统实现方法和实现装置及系统,以提高多内核操作系统的系统管理效率和资源使用效率。
[0007]第一方面,本发明实施例提供一种多内核操作系统实现方法,该方法包括:
[0008]为多内核操作系统的各内核的基础功能模块分配内存;
[0009]为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存;
[0010]将所述为所述第一内核中支持第一应用程序的特性功能模块分配的内存释放。
[0011]在第一方面的第一种可能的实现方式中,所述为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存包括:
[0012]接收所述第一应用程序的加载请求;
[0013]根据所述第一应用程序的特性、以及内核功能注册表中记录的各所述内核的应用程序负载信息,从所述各内核中选取待加载所述第一应用程序的所述第一内核;
[0014]为所述第一内核中支持第一应用程序的特性功能模块分配内存。
[0015]根据第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存之后,以及在将所述为所述第一内核中支持第一应用程序的特性功能模块分配的内存释放之后,还包括:
[0016]在所述内核功能注册表中更新所述第一应用程序的所述第一内核的应用程序负载信息、及其各所述特性功能模块的内存分配信息。
[0017]根据第一方面、第一方面的第一种至第二种可能的实现方式的任意一种,在第三种可能的实现方式中,所述特性功能模块的种类为至少两个,按照所述应用程序对所述多内核操作系统的系统资源的需求特性进行分类。
[0018]根据第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述特性功能模块至少包括输入输出密集特性功能模块、线程密集特性功能模块和网络密集特性功能丰旲块。
[0019]第二方面,本发明实施例提供一种多内核操作系统实现装置,该装置包括:
[0020]基础内存分配模块,用于为多内核操作系统的各内核的基础功能模块分配内存;[0021 ] 特性内存分配模块,用于为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存;
[0022]释放模块,用于将所述为所述第一内核中支持第一应用程序的特性功能模块分配的内存释放。
[0023]在第二方面的第一种可能的实现方式中,特性内存分配模块包括:
[0024]接收单元,用于接收所述第一应用程序的加载请求;
[0025]选取单元,用于根据所述第一应用程序的特性、以及内核功能注册表中记录的各所述内核的应用程序负载信息,从所述各内核中选取待加载所述第一应用程序的所述第一内核;
[0026]内存分配单元,用于为所述第一内核中支持第一应用程序的特性功能模块分配内存。
[0027]根据第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:
[0028]更新模块,用于在为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存之后,以及在将所述为所述第一内核中支持第一应用程序的特性功能模块分配的内存释放之后,在所述内核功能注册表中更新所述第一应用程序的所述第一内核的应用程序负载信息、及其特性功能模块的内存分配信息。
[0029]根据第二方面、第二方面的第一种至第二种可能的实现方式的任意一种,在第三种可能的实现方式中,所述特性功能模块的种类为至少两个,按照所述应用程序对所述多内核操作系统的系统资源的需求特性进行分类。
[0030]根据第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述特性功能模块至少包括输入输出密集特性功能模块、线程密集特性功能模块和网络密集特性功能丰旲块。
[0031]第三方面,本发明实施例提供一种多内核操作系统实现系统,该平台包括本发明任意实施例所提供的多内核操作系统的实现装置,还包括至少两个处理器,每个处理器的核心上都部署有多内核操作系统的内核。
[0032]本发明实施例提供的多内核操作系统实现方法和实现装置及系统,通过将多内核操作系统的内核的功能划分为用于提供基本的内核功能的基础功能模块和用于支持应用程序的特性功能模块,为内核的特性功能模块分配或释放用于运行对应的应用程序的内存,以使内核具备加载或卸载该应用程序的能力,实现了基于应用程序的特性,按需为内核的相应功能分配用于运行相应的应用程序的内存,从而提高了多内核操作系统的系统管理效率和资源使用效率。

【专利附图】

【附图说明】
[0033]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0034]图1为本发明实施例一提供的多内核操作系统实现方法的流程图;
[0035]图2为本发明实施例四提供的多内核操作系统实现装置的结构示意图;
[0036]图3为本发明实施例五提供的多内核操作系统实现装置的结构示意图;
[0037]图4为本发明实施例六提供的多内核操作系统实现装置的结构示意图;
[0038]图5为本发明实施例七提供的多内核操作系统实现系统的结构示意图。

【具体实施方式】
[0039]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040]实施例一
[0041]图1为本发明实施例一提供的多内核操作系统实现方法的流程图。本实施例的方法适用于对多内核操作系统的系统管理效率和资源使用效率进行优化的情形,该方法由多内核操作系统实现装置执行,该装置通常以硬件和/或软件的方式来实现,集成在多内核操作系统实现系统中。如图1所示,本实施例的方法包括:
[0042]101、为多内核操作系统的各内核的基础功能模块分配内存;
[0043]102、为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存;
[0044]103、将所述为所述第一内核中支持第一应用程序的特性功能模块分配的内存释放。
[0045]具体地,多内核操作系统是指在多处理器计算机系统的每个处理器核心上部署一个操作系统内核,在内核的基础上部署提供对外接口的系统服务,如:文件系统、通信系统,从而形成一个完整的操作系统。
[0046]在本发明实施例中,多内核操作系统的内核采用模块化设计,按照功能将内核的功能划分为基础功能模块和特性功能模块,各功能模块可以由程序或程序集合来构成。其中,基础功能模块提供所有内核都必须要有的基本功能,如内存资源管理、消息通信机制等;特性功能模块是根据应用程序的特性构造的,用于支持应用程序,通过为特性功能模块分配或释放用于运行相应的应用程序的内存,以使其所在的内核具备加载或卸载相应的应用程序的能力。各内核负责管理系统的进程、内存、设备驱动程序、文件和网络系统,其中,进程包括操作系统服务进程和应用程序进程,操作系统服务进程提供对外接口的系统服务。
[0047]在本发明实施例的多内核操作系统上可以运行专门的一个统计服务程序,由该统计服务程序统一负责监控系统中各种应用、各内核的运行情况;或者,也可以由各内核各自监控自身的运行情况,以协商方式确定哪个内核运行哪个应用。
[0048]在多内核操作系统初始化和启动时,系统在为各内核分配用于存储内核的自身代码、数据以及初始化所需的内存之后,为各内核的基础功能模块分配内存,使得基础功能模块能够提供基本的内核功能,例如内存资源管理、消息通信机制等;
[0049]当统计服务程序决定为特性功能模块分配内存时,首先在所述各内核中选取符合要求的第一内核,然后为各第一内核中支持第一应用程序的特性功能模块分配所需的内存,从而使第一内核具备加载第一应用程序的能力,接着,统计服务程序在第一内核上加载第一应用程序。
[0050]当统计服务程序决定为特性功能模块释放内存时,首先在所述各内核中查找已经成功加载了第一应用程序的所述第一内核,然后在查找到的所述第一内核上卸载第一应用程序,并且释放为所述第一内核中支持第一应用程序的特性功能模块分配的内存。
[0051 ] 本发明实施例提供的多内核操作系统实现方法,通过将多内核操作系统的内核的功能划分为用于提供基本的内核功能的基础功能模块和用于支持应用程序的特性功能模块,为各内核中符合要求的内核的特性功能模块分配或释放用于运行对应的应用程序的内存,以使该内核具备加载或卸载该应用程序的能力,实现了基于应用程序的特性,按需为内核的相应功能分配用于运行相应的应用程序的内存,从而提高了多内核操作系统的系统管理效率和资源使用效率。
[0052]实施例二
[0053]本发明实施例二提供的多内核操作系统实现方法,在上述方法实施例的基础上,优选的是:在为多内核操作系统的各内核的基础功能模块分配内存之后,内核可以访问内核功能注册表并将自身注册到内核功能注册表。
[0054]具体地,系统可以维护一个由所有内核共同使用的内核功能注册表,该内核功能注册表用于记录各内核的内核标识、内核所在处理器芯片标识、内核的应用程序负载信息、内核的特性功能模块的内存分配信息以及内核的其他信息,并根据统计服务程序的监控数据更新各内核的信息。
[0055]在为所述各内核的基础功能模块分配内存之后,内核可以访问内核功能注册表,如果系统中已经存在内核功能注册表,则该内核将自身注册到内核功能注册表;如果系统中还没有建立内核功能注册表,则该内核有权建立内核功能注册表,然后将自身注册到内核功能注册表,并指定自身为临时管理内核,此时,内核功能注册表中记录的内核的应用程序负载信息为空;系统初始化和启动完成后,再经过设定的时间间隔后,临时管理内核停止接受注册。
[0056]本发明实施例提供的多内核操作系统实现方法,通过将多内核操作系统的内核的功能划分为用于基础功能模块和特性功能模块,并且建立内核功能注册表,在为各内核的基础功能模块分配内存之后,内核可以访问内核功能注册表并将自身注册到内核功能注册表;统计服务程序根据内核功能注册表中记录的各内核的应用程序负载信息和特性功能模块的内存分配信息在各内核中选择符合要求的内核,并为符合要求的内核的特性功能模块分配或释放用于运行对应的应用程序的内存,以使该内核具备加载或卸载该应用程序的能力,实现了基于应用程序的特性,按需为内核的相应功能分配用于运行相应的应用程序的内存,从而提高了多内核操作系统的系统管理效率和资源使用效率。
[0057]在上述方法实施例的基础上,触发为特性功能模块分配或释放内存的方式有多种,优选的一种方式是以接收到应用程序的加载或卸载请求为触发条件。
[0058]可选地,所述为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存包括:接收所述第一应用程序的加载请求;根据所述第一应用程序的特性、以及内核功能注册表中记录的各所述内核的应用程序负载信息,从所述各内核中选取待加载所述第一应用程序的所述第一内核;为所述第一内核中支持第一应用程序的特性功能模块分配内存。
[0059]具体地,当统计服务程序接收到第一应用程序的加载请求时,触发为特性功能模块分配内存的步骤:首先根据第一应用程序的特性,确定能够支持第一应用程序的特性功能模块的种类,然后在内核功能注册表中查询各内核的应用程序负载信息和特性功能模块的内存分配信息,选择还没有为该种类特性功能模块分配内存的内核,并结合该些内核的应用程序负载信息,综合判断,选取待加载第一应用程序的第一内核;为第一内核中支持第一应用程序的特性功能模块分配内存。
[0060]可选地,所述选择还没有为该种类特性功能模块分配内存的内核,具体可以为:在内核功能注册表中,首先查找没有为任一种类的特性功能模块分配内存的内核;其次查找没有为该种类的特性功能模块分配内存的内核。
[0061]本发明实施例提供的多内核操作系统实现方法,通过将多内核操作系统的内核的功能划分为基础功能模块和特性功能模块,并且建立内核功能注册表,当接收到应用程序的加载请求时,根据应用程序的特性以及查询内核功能注册表,在各内核中选择符合要求的内核,并为符合要求的内核的特性功能模块分配或释放用于运行对应的应用程序的内存,以使该内核具备加载或卸载该应用程序的能力,实现了基于应用程序的特性,按需为内核的相应功能分配用于运行相应的应用程序的内存,从而提高了多内核操作系统的系统管理效率和资源使用效率。
[0062]在上述方法实施例的基础上,优选的是:在所述为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存之后,以及在将上述为所述第一内核中支持第一应用程序的特性功能模块分配的内存释放之后,还包括:在所述内核功能注册表中更新所述第一内核的应用程序负载信息、及其各所述特性功能模块的内存分配信息。
[0063]具体地,统计服务程序监控系统中各种应用、各内核的运行情况,在为特性功能模块分配或释放内存之后,在内核功能注册表中更新所述第一内核的应用程序负载信息、及其各所述特性功能模块的内存分配信息
[0064]本发明实施例提供的多内核操作系统实现方法,通过将多内核操作系统的内核的功能划分为基础功能模块和特性功能模块,并且建立内核功能注册表,在为特性功能模块分配或释放内存之后,更新内核功能注册表,以使内核功能注册表记录的各内核的应用程序负载信息、及其各所述特性功能模块的内存分配信息能准确地反应系统资源的使用情况,从而提高了多内核操作系统的系统管理效率和资源使用效率。
[0065]在上述方法实施例的基础上,优选的一种实现情况为:所述特性功能模块的种类为至少两个,按照应用程序对多内核操作系统的系统资源的需求特性进行分类。
[0066]具体地,所述应用程序对多内核操作系统的系统资源的需求特性是指,基于不同种类的应用程序基于自身的特点,对于系统资源的需求存在差异的特性,例如,对于搜索引擎服务,其服务前端需要大量的并发线程,同时线程会频繁的创建、销毁,而其服务后端则需要大量的磁盘读写。按照各种应用程序对于系统资源的需求特性,将内核的特性功能模块至少分为两类。
[0067]可选地,所述特性功能模块至少包括输入输出密集特性功能模块、线程密集特性功能模块和网络密集特性功能模块。
[0068]具体地,按照各种应用程序对于系统资源的需求特性,将应用程序的特性分为输入输出密集特性、线程密集特性和网络密集特性,进一步地,特性功能模块至少包括输入输出密集特性功能模块、线程密集特性功能模块和网络密集特性功能模块。比如,对于搜索弓I擎服务,其服务前端需要大量的并发线程,同时线程会频繁的创建、销毁,是典型的线程密集特性,内核通过为线程密集特性功能模块分配或释放内存,使得该内核具备加载或卸载线程密集特性应用程序的能力,其服务后端是典型的输入/输出(1/0,Input/Output)密集特性,需要大量的磁盘读写,内核通过为输入输出密集特性功能模块分配或释放内存,使得该内核具备加载或卸载输入输出密集特性应用程序的能力;而对于流媒体应用,其服务前端是典型的线程密集特性,其服务后端则需要大量的网络传输,是一个典型的网络密集,内核通过为网络密集特性功能模块分配或释放内存,使得该内核具备加载或卸载网络密集特性应用程序的能力。
[0069]本发明实施例提供的多内核操作系统实现方法,通过将多内核操作系统的内核的功能划分为基础功能模块和特性功能模块,并按照应用程序对多内核操作系统的系统资源的需求特性,将特性功能模块分为至少包括输入输出密集特性功能模块、线程密集特性功能模块和网络密集特性功能模块;当接收到应用程序的加载请求时,基于应用程序的特性,为内核中相应的特性功能模块分配或释放用于运行相应的应用程序的内存,以使内核具备加载或卸载相应的应用程序的能力,实现了基于应用程序的特性,按需为内核的相应功能分配用于运行相应的应用程序的内存,从而提高了多内核操作系统的系统管理效率和资源使用效率。
[0070]实施例三
[0071]本发明实施例三提供的多内核操作系统实现方法,在上述方法实施例的基础上,触发为特性功能模块分配或释放内存的方式有多种,优选的另一种方式是以监测到内核的应用程序负载达到触发门限为触发条件。
[0072]具体地,当统计服务程序监测到应用程序a所在的内核Kl的负载超过处理器利用率的阈值Tl,即达到过载的触发门限时,就会触发为特性功能模块分配内存的操作。首先,根据应用程序a的特性确定能够支持应用程序a的特性功能模块的种类,然后在内核功能注册表中,查询还没有为该种类的特性功能模块分配内存的内核,在此基础上,选取内核的应用程序负载不超过处理器利用率的阈值T2的内核作为待加载应用程序a的内核K2。其中,Kl标识了统计服务程序检测到内核过载时,应用程序a所在的内核的集合,K2标识了为实现负载均衡,而选取的将要加载应用程序a的内核的集合;所述阈值Tl例如是处理器利用率为90%,所述阈值Tl例如是处理器利用率为10%,Tl、T2可以使用系统默认值,或者由用户按需设置。
[0073]在统计服务程序选取了加载应用程序a的内核K2后,为选取的该些内核中支持应用程序a的特性功能模块分配内存,从而使该些内核具备加载应用程序a的能力;统计服务程序在内核K2上加载应用程序a ;统计服务程序根据内核负载信息、及相关特性功能模块的内存分配信息的变动情况,更新内核功能注册表。
[0074]本发明实施例提供的多内核操作系统实现方法,通过当统计服务程序检测到某个应用程序所在的内核的应用程序负载达到过载的触发门限时,触发为特性功能模块分配内存的操作,基于该应用程序的特性,选取负载较轻的内核,为该些内核中相应的特性功能模块分配用于运行该应用程序的内存,以使该些内核具备加载该应用程序的能力,实现了基于应用程序的特性,动态调整系统中内核的负载情况,实现负载均衡,从而提高了多内核操作系统的系统管理效率和资源使用效率。
[0075]在上述方法实施例的基础上,优选的一种实现情况为:当统计服务程序检测到内核Kl的负载降到阈值T3以下,即达到恢复到正常水平的触发门限时,触发为特性功能模块释放内存的操作。
[0076]具体地,当统计服务程序检测到内核Kl的负载降到阈值T3以下,即达到恢复到正常水平的触发门限时:首先,根据应用程序a的特性确定能够支持应用程序a的特性功能模块的种类,然后在内核功能注册表中,选取在内核Kl过载时为了实现负载均衡而成功加载了应用程序a的内核K2 ;在内核K2上,卸载应用程序a,并将上述为内核K2中支持应用程序a的特性功能模块分配的内存释放;统计服务程序根据内核负载信息、及相关特性功能模块的内存分配信息的变动情况,更新内核功能注册表。
[0077]可选地,所述在内核功能注册表中,选取在内核Kl过载时为了实现负载均衡而成功加载了应用程序a的内核K2,具体可以为:在内核功能注册表中,首先查找不只加载了应用程序a的内核;然后查找只加载了应用程序a的内核。
[0078]本发明实施例提供的多内核操作系统实现方法,通过当统计服务程序检测到某个应用程序所在的内核的应用程序负载恢复到正常水平时,触发为特性功能模块释放内存的操作,将在选取的相关内核上卸载应用程序,并且释放相关内核中支持该应用程序的特性功能模块的内存,实现了基于应用程序的特性,动态调整系统中内核的负载情况,实现负载均衡,从而提高了多内核操作系统的系统管理效率和资源使用效率。
[0079]实施例四
[0080]图2为本发明实施例四提供的多内核操作系统实现装置的结构示意图。如图2所示,本实施例的多内核操作系统实现装置200可以包括:基础内存分配模块201、特性内存分配模块202和释放模块203,其中:
[0081]基础内存分配模块201,用于为多内核操作系统的各内核的基础功能模块分配内存;
[0082]特性内存分配模块202,用于为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存;
[0083]释放模块203,用于将所述为所述第一内核中支持第一应用程序的特性功能模块分配的内存释放。
[0084]本发明实施例提供的多内核操作系统实现装置,可以用于执行图1所示方法实施例的技术方案,执行该方法的具体过程可参见图1所示方法实施例的相关描述,此处不再赘述。
[0085]本发明实施例提供的多内核操作系统实现装置,通过将多内核操作系统的内核的功能划分为用于提供基本的内核功能的基础功能模块和用于支持应用程序的特性功能模块,为各内核中符合要求的内核的特性功能模块分配或释放用于运行对应的应用程序的内存,以使该内核具备加载或卸载该应用程序的能力,实现了基于应用程序的特性,按需为内核的相应功能分配用于运行相应的应用程序的内存,从而提高了多内核操作系统的系统管理效率和资源使用效率。
[0086]实施例五
[0087]图3为本发明实施例五提供的多内核操作系统实现装置的结构示意图。如图3所示,本实施例提供的多内核操作系统实现装置300是在图2所示装置结构的基础上,进一步地,特性内存分配模块202可以包括:接收单元301、选取单元302和内存分配单元303,其中:
[0088]接收单元301,用于接收所述第一应用程序的加载请求;
[0089]选取单元302,用于根据所述第一应用程序的特性、以及内核功能注册表中记录的各所述内核的应用程序负载信息,从所述各内核中选取待加载所述第一应用程序的所述第一内核;
[0090]内存分配单元303,用于为所述第一内核中支持第一应用程序的特性功能模块分配内存。
[0091]本发明实施例提供的多内核操作系统实现装置,可以用于执行本发明实施例所提供的多内核操作系统实现方法实施例的技术方案,执行该方法的具体过程可参见本发明实施例所提供的方法实施例的相关描述,此处不再赘述。
[0092]本发明实施例提供的多内核操作系统实现装置,通过将多内核操作系统的内核的功能划分为用于提供基本的内核功能的基础功能模块和用于支持应用程序的特性功能模块,并且建立内核功能注册表,当接收到应用程序的加载请求时,根据应用程序的特性以及查询内核功能注册表,在各内核中选择符合要求的内核,并为符合要求的内核的特性功能模块分配或释放用于运行对应的应用程序的内存,以使该内核具备加载或卸载该应用程序的能力,实现了基于应用程序的特性,按需为内核的相应功能分配用于运行相应的应用程序的内存,从而提高了多内核操作系统的系统管理效率和资源使用效率
[0093]实施例六
[0094]图4为本发明实施例六提供的多内核操作系统实现装置的结构示意图。如图4所示,本实施例提供的多内核操作系统实现装置400是在图3所示装置结构的基础上,进一步地,还可以包括:更新模块401,该更新模块401用于在为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存之后,以及在将所述为所述第一内核中支持第一应用程序的特性功能模块分配的内存释放之后,在所述内核功能注册表中更新所述第一内核的应用程序负载信息、及其特性功能模块的内存分配信息
[0095]本发明实施例提供的多内核操作系统实现装置,可以用于执行本发明实施例所提供的多内核操作系统实现方法实施例的技术方案,执行该方法的具体过程可参见本发明实施例所提供的方法实施例的相关描述,此处不再赘述。
[0096]本发明实施例提供的多内核操作系统实现装置,通过将多内核操作系统的内核的功能划分为用于提供基本的内核功能的基础功能模块和用于支持应用程序的特性功能模块,并且建立内核功能注册表,在为特性功能模块分配或释放内存之后,更新内核功能注册表,以使内核功能注册表记录的各内核的应用程序负载信息、及其各所述特性功能模块的内存分配信息能准确地反应系统资源的使用情况,从而提高了多内核操作系统的系统管理效率和资源使用效率。
[0097]实施例七
[0098]图5为本发明实施例七提供的多内核操作系统实现系统的结构示意图。如图5所示,本实施例所提供的多内核操作系统实现系统500包括,多内核操作系统实现装置502、至少两个处理器504,每个处理器504的核心上部署有多内核操作系统的内核503,其中,处理器504可以为不同种类或相同种类的处理器,应用程序501可以为系统处理的任意应用程序;多内核操作系统实现装置502可以采用本发明图2至图4中任意所示装置实施例的结构,其对应地,可以执行本发明实施例所提供的多内核操作系统实现方法实施例的技术方案,其原理和技术效果类似,此处不再赘述。
[0099]本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0100]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种多内核操作系统的实现方法,其特征在于,包括: 为多内核操作系统的各内核的基础功能模块分配内存; 为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存; 将所述为所述第一内核中支持第一应用程序的特性功能模块分配的内存释放。
2.根据权利要求1所述的方法,其特征在于,所述为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存包括: 接收所述第一应用程序的加载请求; 根据所述第一应用程序的特性、以及内核功能注册表中记录的各所述内核的应用程序负载信息,从所述各内核中选取待加载所述第一应用程序的所述第一内核; 为所述第一内核中支持第一应用程序的特性功能模块分配内存。
3.根据权利要求2所述的方法,其特征在于,在所述为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存之后,以及在将所述为所述第一内核中支持第一应用程序的特性功能模块分配的内存释放之后,还包括: 在所述内核功能注册表中更新所述第一内核的应用程序负载信息、及其各所述特性功能模块的内存分配信息。
4.根据权利要求1-3任 一所述的方法,其特征在于,所述特性功能模块的种类为至少两个,按照所述应用程序对所述多内核操作系统的系统资源的需求特性进行分类。
5.根据权利要求4所述的方法,其特征在于,所述特性功能模块至少包括输入输出密集特性功能模块、线程密集特性功能模块和网络密集特性功能模块。
6.一种多内核操作系统的实现装置,其特征在于,包括: 基础内存分配模块,用于为多内核操作系统的各内核的基础功能模块分配内存; 特性内存分配模块,用于为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存; 释放模块,用于将所述为所述第一内核中支持第一应用程序的特性功能模块分配的内存释放。
7.根据权利要求6所述的装置,其特征在于,特性内存分配模块包括: 接收单元,用于接收所述第一应用程序的加载请求; 选取单元,用于根据所述第一应用程序的特性、以及内核功能注册表中记录的各所述内核的应用程序负载信息,从所述各内核中选取待加载所述第一应用程序的所述第一内核; 内存分配单元,用于为所述第一内核中支持第一应用程序的特性功能模块分配内存。
8.根据权利要求7所述的装置,其特征在于,还包括: 更新模块,用于在为从所述各内核中选取的第一内核中支持第一应用程序的特性功能模块分配内存之后,以及在将所述为所述第一内核中支持第一应用程序的特性功能模块分配的内存释放之后,在所述内核功能注册表中更新所述第一内核的应用程序负载信息、及其特性功能模块的内存分配信息。
9.根据权利要求6-8任一所述的装置,其特征在于,所述特性功能模块的种类为至少两个,按照所述应用程序对所述多内核操作系统的系统资源的需求特性进行分类。
10.根据权利要求9所述的装置,其特征在于,所述特性功能模块至少包括输入输出密集特性功能模块、线程密集特性功能模块和网络密集特性功能模块。
11.一种多内核操作系统实现系统,其特征在于,包括权利要求6-10任一所述的多内核操作系统的实现装置,还包括至少两个处理器,每个处理器的核心上部署有多内核操作系统的内核。
【文档编号】G06F15/177GK104077266SQ201310101210
【公开日】2014年10月1日 申请日期:2013年3月27日 优先权日:2013年3月27日
【发明者】王磊, 詹剑锋, 丁科, 谭崇康 申请人:华为技术有限公司, 中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1