多核操作系统
摘要: 对多核操作系统的发展状况进行了综述,指出了多核操作系统的发展滞后于多核技术发
展的现状,介绍了多核操作系统的起源和国内外研究状况,分析了多核操作系统研究中面临的
一些主要问题及已有的研究成果,对多核操作系统的一些研究方法进行了总结,最后,设计了
一种异构多核处理器的操作系统。
关键词: 多核操作系统; 操作系统模型; 任务调度; 存储器管理; 内核同步;HMP
第一章 引言
操作系统构建于硬件设备之上,目的在于最大限度发挥硬件的工作性能,同时也受限于硬
件设备的工作能力和方式。所以操作系统的发展,首先是来源于硬件的发展,而硬件中的核心
就是处理器。提高处理器的性能从根本上来说有两种办法: 通过改进制造工艺来提高 CPU 的主
频; 提高指令的执行效率,即提高 IPC( instrucons per cycle)。从提高主频的角度来看,高主频
会带来巨大的功耗问题。以 NetBurst 架构的处理器为例,当运行主频达到最高 3.8 GHz 的情况
下,发热功耗会达到 115 W。很显然,要解决高主频带来的功耗问题并不是一件容易的事情。
与此同时,制造工艺在提高 CPU 主频的过程中也会引入严重的漏电流问题,漏电流问题是制约
CPU 主频提高的最重要因素。从提高指令执行效率的角度来看,指令流水线、超长指令字、超
标量结构、超线程技术等都在提高指令执行效率上起到了一定的作用,但是均受限于单核处理
器的执行能力,并不能从根本上显著提升 CPU 系统的整体性能。
对于单核处理器在性能提升中遇到的瓶颈,近年来, AMD、IBM、Intel、SUN 等公司纷纷
推出了自己的多核处理器或多核架构设计
[1]
。多核处理器的出现,使处理器的主频大幅度降低,
同时也提升了指令执行效率,普遍认为多核处理器将会是今后处理器发展的方向。但是与处理
器发展不相适应的是,基于多核处理器之上的操作系统和软件对于多核的支持并不完美。
微软 Windows 核心操作系统部门内核设计师 Dave Probert 提到了关于多核技术发展的一些
问题。芯片厂商在生产多核处理器时一厢情愿地认为软件开发者将为多核处理器开发软件,问
题是目前的桌面系统软件不能有效地利用多核处理器,因为开发者需要利用并行编程技术才能
充分利用多核处理器的处理能力。除专业的科学计算软件外,并行软件并不普及,而且并行编
程技术也相对难以掌握。一种更好的方法是重新考虑操作系统管理多核处理器的方式,“问题
不在于并行编程,而在于操作系统如何管理处理器”,微软正在开发针对多核处理器的全新一
代多核操作系统。从目前来看,多核操作系统滞后于多核处理器的发展,而多核技术作为一个
系统,其中的“短板”将严重制约计算机整体性能的提升。可以说,多核操作系统技术的突破,
将会带来从嵌入式领域到桌面计算机、服务器等所有计算机系统的性能的一个整体性提高,因
此对于多核操作系统的研究意义非常重大。