[发明专利]一种多核CPU加载Linux操作系统的方法及系统有效
申请号: | 201010244460.0 | 申请日: | 2010-08-03 |
公开(公告)号: | CN101901159A | 公开(公告)日: | 2010-12-01 |
发明(设计)人: | 李弘博 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F15/16 |
代理公司: | 北京银龙知识产权代理有限公司 11243 | 代理人: | 许静 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 cpu 加载 linux 操作系统 方法 系统 | ||
技术领域
本发明涉及采用Linux操作系统的多核CPU领域,特别涉及一种多核CPU加载Linux操作系统的方法及系统。
背景技术
目前多核CPU的应用越来越广泛,与传统的单核CPU相比,多核CPU具有更强的并行处理能力、更高的计算密度和更低的功耗。在这种架构中,多核CPU运行操作系统的单一副本,共享高速缓存、内存、I/O总线等资源。
目前Linux操作系统的运转方式主要有三种:非对称多处理(AMP,Asymmetric multiprocessing)、对称多处理(SMP,Symmetric multiprocessing)、混合多处理(BMP,Bound multiprocessing)。非对称多处理的方式中,每个CPU内核运行一个独立的操作系统或同一操作系统的拷贝。对称多处理的方式中,由一个操作系统统一管理所有的CPU内核,进程并不与某一个特定内核相绑定。混合多处理的方式基于对称多处理,由一个操作系统统一管理所有的CPU内核,但是进程可以与某一个特定内核相绑定。
这三种方式各有优缺点。非对称多处理主要用于传统的单核CPU运行环境,一个进程总是运行在同一个内核中,在多核CPU上,容易导致一个内核要么没有被充分利用,要么被利用过度。对称多处理由操作系统实时监控系统的运行状态,在多核之间合理分配资源,使负载能够均匀地分配到所有内核之上,但可能导致一部分系统资源浪费在频繁的进程切换之上。混合多处理吸取了前两种方式的优点,在以对称多处理方式运行的Linux操作系统上,通过进程绑定可以使进程只能运行在同一个内核中。
本发明的发明人在实现本发明的过程中发现:在采用多核CPU的领域,通常将多核划分为控制CPU和数据CPU。控制CPU是在多个CPU以SMP或BMP方式运行Linux操作系统时,用于处理较复杂的业务,并控制、维护、管理整个操作系统的CPU。控制CPU运行有关系统管理方面的进程,支持完整的Linux操作系统,能够处理所有复杂的业务,但性能较差。数据CPU只专注于数据处理,注重的是处理的性能,要求一定时间内处理尽可能多的业务,往往只运行一个任务。故而对于某些注重性能的数据处理,需要放到数据核上去执行。这就对Linux操作系统在多核CPU上的加载提出了两点要求:
1)所有内核之间共享内存、全局数据结构、API等资源;
2)控制CPU、数据CPU之间不能相互干扰。
上述要求1)可通过SMP方式实现。上述要求2)理论上可通过BMP方式实现,即采用进程与CPU绑定的方式,但利用这种BMP的方式实现时需要将所有的进程一一和CPU进行绑定,这样操作起来十分繁琐、复杂,维护起来也十分困难,且降低了系统的可维护性、可移植性、和可用性。
发明内容
本发明的目的是提供一种改进的多核CPU加载Linux操作系统的方法,该方法使得控制核和数据核之间不会相互影响,且无需将所有的进程一一与CPU进行绑定。
为了实现上述目的,本发明提供了一种多核CPU加载Linux操作系统的方法,所述多核CPU包括:至少一个控制核和至少一个数据核,其中,包括如下步骤:
步骤A,所述至少一个控制核中的一个作为主核加载Linux操作系统,并在初始化过程中,唤醒所有从核,使所有从核进入预定的死循环状态;
步骤B,所述主核设置CPU位图,所述CPU位图中只包括控制核;
步骤C,所述主核执行Linux操作系统的对称多处理初始化,并当所述CPU位图中包括除所述主核外的其它控制核时,按照对称多处理的方式对所述除主核外的其它控制核进行二次唤醒;
步骤D,所述主核使所述至少一个数据核中的每个进入各自的入口函数。
优选地,所述的方法,其中,所述步骤C之后,所述步骤D之前还包括:
所述主核分配内存空间,所述内存空间用于作为所述至少一个数据核的堆栈和全局数据区;
所述主核分别配置所述至少一个数据核中每个数据核的堆栈指针、全局数据指针和入口函数。
优选地,所述的方法,其中,所述步骤D之后,还包括:
步骤E,所述至少一个数据核中的每个数据核加载预定的业务处理进程。
优选地,所述的方法,其中,所述步骤D之后,所述步骤E之前,还包括:
所述至少一个数据核中的每个数据核分别进入各自的入口函数,并在进入各自的入口函数后,配置本核的中断、快速重编址缓冲器、和/或异常处理函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010244460.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种森林灭火弹触碰引信
- 下一篇:一种通过炮口切割器实现气动分离的弹托