[发明专利]一种异构操作系统中内核运行的方法及装置在审
申请号: | 201310079899.6 | 申请日: | 2013-03-13 |
公开(公告)号: | CN104050137A | 公开(公告)日: | 2014-09-17 |
发明(设计)人: | 詹卿;王伟;袁泉 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F15/16 | 分类号: | G06F15/16 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 操作系统 内核 运行 方法 装置 | ||
技术领域
本发明涉及众核操作系统技术领域,尤其涉及一种异构操作系统中内核运行的方法及装置。
背景技术
目前,处理器已进入多核/众核时代,然而,目前的操作系统(Operating System,OS)仅以对称多处理器(Symmetric Multi-Processing,SMP)方式使用多核/众核处理器,并不能充分利用多核/众核处理器的并行处理能力。实验证明,当处理器超过16个核,现有Linux操作系统的性能不再线性增长反而降低。因此,目前对众核平台产生了许多研究型的操作系统,这些众核OS的特点是:微内核架构,现有众核OS都采用了微内核架构;多内核设计,可避免单一内核的性能瓶颈;采用消息通信,此技术可提升众核OS的扩展性。
微内核操作系统结构的一个突出思想是把操作系统中更多的组建和功能放到更高的层次(及用户模式)中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核功能。如图1所示,微内核一般只提供基本的硬件操作接口,将OS必须提供的功能以系统服务的形式运行在用户态,用户调用系统服务完成工作;服务相互之间隔离,即使某个服务出现异常也不会干扰到其他模块;服务和服务之间通过进程间通信(Inter-Process Communication,IPC)的方式工作。现有的微内核操作系统都是基于客户/服务器模型的,用户通过向OS发送请求消息通知OS需要调用一种系统服务,OS收到消息后调度相应的服务进程,完成后再通过消息通信的方式将结果通知给用户。如图2所示,为一次调用系统服务的过程。
微内核的消息通信方式虽然增强了OS的扩展性,但影响了操作系统服务的性能。与单内核操作系统相比,完成同样的一次系统服务,微内核的开销比单内核多了几倍甚至更多。单内核操作系统(以Linux操作系统为例)所有的OS提供的服务都将代码编写在内核模块中,完成一次系统服务所需要的过程是用户程序陷入内核,然后由内核执行系统服务,完成后从内核态返回用户态,开销仅为2次上下文切换。而微内核操作系统,完成一次调用所需的开销通常是4次上下文切换。每次切换都伴随着陷入内核和返回用户态,通信和上下文切换带来的开销很大,性能问题非常严重。
综上所述,如何更好地处理单内核以及微内核的运行,提升系统处理效率已成为业界迫切需要解决的问题。
发明内容
有鉴于此,本发明实施例提供了一种异构操作系统中内核运行的方法及装置,用于解决现有技术存在着的无法很好处理单内核以及微内核运行的问题。
第一方面,提供了一种异构操作系统中内核运行的方法,应用于众核平台,包括:
将CPU的核资源池中的核设置为空闲状态;
根据运行需求,将所述CPU的核资源池中的至少两个空闲状态的核分别以两种指定的内核类型运行;
其中,所述内核类型包括:单内核和微内核。
在第一种可能的实现方式中,所述根据运行需求,将所述CPU的核资源池中的至少两个空闲状态的核分别以两种指定的内核类型运行,包括:
当操作系统所要运行的第一应用程序的线程数量和并行需求多时,将所述CPU的核资源池中的至少一个空闲状态的核以微内核运行;
当所述操作系统所要运行的第二应用程序的线程数量和并行需求少时,将所述CPU的核资源池中的至少一个空闲状态的核以单内核运行。
根据第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述将CPU的核资源池中的核设置为空闲状态之后,以及所述根据运行需求,将所述CPU的核资源池中的至少两个空闲状态的核分别以两种指定的内核类型运行之前,还包括:
为所述单内核以及所述微内核统一分配第一地址空间;
所述单内核为运行所述单内核的核分配第二地址空间;
所述微内核对应的用户态程序为运行所述微内核的核分配第三地址空间。
根据第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述根据运行需求,将所述CPU的核资源池中的至少两个空闲状态的核分别以两种指定的内核类型运行,包括:
当根据运行需求,需要将所述核以单内核运行时,在所述CPU的核资源池中查找一个空闲状态的核,加载单内核镜像至所述第二地址空间;
向所述核发送所述中断消息,以使所述核以单内核运行;
当根据运行需求,需要将所述核以微内核运行时,在所述CPU的核资源池中查找一个空闲状态的核,加载微内核镜像至所述第三地址空间;
向所述核发送所述中断消息,以使所述核以微内核运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310079899.6/2.html,转载请声明来源钻瓜专利网。