(6)--并行操作系统的现状与发展趋势.pdf
219911ComterRreeehnDeveomnetVo.32No.1Jan.1995并行操作系统的现状与发展趋势(摘要本文从操 作系统的发展史的几个热.点等方面进行了阐述。关链词:操作系统,操作系统的发展,当前的发展状态,未来的发展趋势以及技术研究并行机。一、前言计算机硬件技术在系统体系结构(并 行、分布)、处理器的Rl sC化、大容量存储器、大容量高速 磁盘等外部设备、高速网络器件以 及联网技 术等方面取得了飞跃 发展。计算机软件技术在标准制定(POS IX,C OSE标准)、软件设计方法(面向对象,模块化等)、软件工程开发与维护工 具等方面日趋成熟。用户对计算机的需求也 在不 断提高与变化(主要包括:文字,图象,声音等输人输出技术、大量的数据处理与通信、超高速计算、实时控制等)。作为管理系统 硬件资源以及提供用户界面的操作 系统本身也 有了长足 的 发展 与进步。涉及 到 的研究领域在不断扩大。操作 系统从无 到有,大 致与 硬件技 术 的 发展 相对 应,归纳为四个阶段:(1)(1 94 5一19 55)电子等计算机与操作 系统的早 期形式moi nto r(监 控器);(2)(1 9 5 5一1 9 65)晶体管计算机与批处理 系统;(3)(1 9 6 5一19 80)中小规模 集成 电路 构成 的计算机与 支持分时多道程序设计的操 作 系统;(4)(198 0一19 94)大规模集成 电路构 成 的单机、多机、网络 硬件环境与并行操作系统。各个时期的操作系统 与硬件环境相适应,功 能上不 断完善以 满足用户 的新需求。八十年代初中期开始,随着并行分布硬件体系结构的成熟,并行与分布算法 的发展,并行操作系统从发展 初期逐步走向成熟。操作 系统 由于 涉及 面广以 及内部构 成较复杂等原 因,一个系统从设计到最终形 成产品,并且 被广泛推广使用需经1 0一1 5年的发展周期,这也决定了并行操作 系统从改造已有 的单 机版本(并行化),增加模 块(网络模块、网络 文 件系统、分布式 服务器等)逐渐向全新的设计(如 微核心化、面 向对象 的操 作 系统设计等)方向 发展。在改 造已有的操作系统与设计新的操作系统过 程中,形 成 了多种产品,出现了多个研究热点。二、商品化 并行操作系统的发展状况操作系统是一种开 发周期长,用户使用 的惯性大,界面定义逐渐标准化的系统。P C计算机领域,D Os,Mie r o s oftWINDOW已成 为事 实上的标准p C以外的计算机,UNIX是事实上的标准。基于U NIx操作系统定义 了一系列 的工业与国际标准(Pos IX,svID,c osE等)。并行操作系统 的发展 也是在满足 这一标谁 的前题下从两 个方向展开:一是改造满足标准的单处理机操作系统,增加新的功能模块;二是设计全新的操作 系统,其界面满足现有的标准。现已商品化程度较高的并行操作系统基本上属于第一类。第二 类操作系统 逐渐走向成熟,部分已商品化。目前市场上已由不同厂家推出多个并行操作 系统 的版本,包括:s uN公司 的so la ri:,AT&T本文于1994年4月收到。共趁平,博士,研究 员,现从事sMp、MPP并行机系统软件的研究工作。含卜算机 研究 与发展32卷U NIXSY S T EMV4.0MP版本,D G公 司 的DG/U X,SGI公 司的IR IX,MI PS公、l的R ISC/055.0(现属于SGI),Cray公 司的Unieo s,Conc ur re nt公司 的R T u,sequ e nt公司的DYNIX,Eneor e公司的UMAX,Motorola公司的 Motor ola05,Alliant公 司的Con centrix,I BM支持 多机结构的AIX,以及O SF组织推出的早 期U NIX版本os F八.0等。,吕,5。早期 的并行操作系统 由于考虑到 硬件系统的非对称性以及实现的简单性,采取主 从方 式并行化单机UNIX操作系统,即任何时刻只允许一个处理器(可固定或者 浮动)执行操 作系统 核心程序(I/O中断,文件操 作 等),其它处理器可执行用户程序。这种 实现 方法 不能 很好地发挥对称 式硬件的特 点。目前这种 实 现方法在商品化系统中被完全放弃,代 之以完全对称 式 的操作 系统核心 并行化的方法。为充分 发挥多处理机硬件环境下的多任务处理能 力,所有 公司 的并 行U NIX版 本都对uNIx核心代码进行了并行化改造,使核心本身是可再 入式的,即多 个CPU可并行执 行核心代码程序。每一个 公司还针对其目标市场对UNIX进行了特殊的改 造(包括在核心内与核心外),包括支 持 细粒度的并行计算,实时处理,分布式计算,多用户操作 环境等。操 作系 统核心的并行化技术主 要涉及 的问题包括:加锁的策略;锁类 型的选 择;加锁位置的选择;死锁 的预 防;性能 统计分析改进工具。加锁的策略可根据多机硬件特征(C PU的个数)与 应用领域(数据处理,并行计算,实时处理等)迸行粗粒度与细粒度加 锁的选 择,也可以对使用频 繁的子系统进行细粒度加锁,使用频度小 的 子系统进行粗粒度的加锁等。锁类 型有简单 的s Pin一lo ck,信号灯机 制,rea d一wrie t锁等,涉 及到的问题包括如何高效地在不同的硬件中进行 实现,在不同的加锁位置 选择哪一种锁。加锁位置 的选择主要针对共享的 数据结 构来进行。死锁 问题的解 决方法包括完全预 防死锁的发生以 及死锁 发生时如何解锁两 种方案。在 系统 进行 初步的并 行 化 处理后,还需要通过一些专门 的性能调试工具进行并行化 后性能的调 整,以 期达到最好的效果 a,。为 支持细粒度的并行计算,还需要对UNIX本身进行较大的改造。核心方 而除要进行 细粒度加锁外,还需要实现较传统UNIX进程代价小的调度单位(轻进程,线程,共享 资源进程 等)与通 合并行处理的调度算法(ga ng调度)。在核心之 外还需要 增加 并行库函数以 及并 行程序设计挤言、并行调 试器、并行程序性能评价工 具等“,3,“,了,“,“。为 支持实时处理,除核心要进行细粒度的并 行化 外,还需 要在 迸程 调 度 界 面,调 度算法(scH ED一I FF O,s cHED一R)R,CPU屏蔽与 接收中断的处理,虚拟地 址空间的管理(用户 与核心空间合二为一,锁定用 户程 序 内等)以 及使用界面等 诸方 面进行改 造。为支持 分布 式计算,要增加使用灵活的消息传递界面与 高效的低层协议。如不 通过核心 直接在用户空间进行 消息 的传递;使用Rl sCCPU中的Rei gster窗口加速 消息传 递的速度 等“,3“。在 核心 之外还需要有分布式程序设计环境等,现流行的并行 分布计算环境包括E X P RESS,PVM,L 1nda毕。三、基于微核心的未来操作系统的研究与发展微核心化操作系统,顾名思义,就是尽量缩小操作系统核心的规模,将 传统操作 系统核心实现的内容或称核心提供的服务提高到核心外的用 户模块中进行 实现。发展微核心化操作系统的主要动因是解决可移植性(包括操作系统自身与 用户 程序)、可扩 展性(方便地增加各种服务模块)与可靠性。UNlx操作系统在发展初期以精小,易移植著称。随着 计算机硬件体系结构的不断变化(多处理机结构共享与 分布存储器)与用户所需功能 的不断 扩展,UNIX逐渐庞大起 来。可移植性、可扩展性与可维护性越来越差。究其原 因,U NIX原本为单处理机开 发 的支持分时多道1期樊建平等:并行操作系统的现状与发展趋势程序设计的一种环境,在设计初期并没 有考 虑到今后要管理网络,多机、等硬 件 与支持 并行,分布与面 向对 象的程序设计。微核心化思想就是将传统操作系 统核心的功能进行 大量的裁 减,核心中只保 留必须 的模块(内存管理、处 理器 低层的管理、I PC,外部设备驭 动程序等),其它的部分(文件系统、网络系统、进程管理)提到 核心外进行实现。为什么说微核心化操作系统将领导未来操 作系统 的发展潮流?其原因可 归纳为以下三个 方面:l)功能上已实现现有的操 作系统标准,解决了用户程序的继承性。2)从操作系统的构成技术角度考虑更加 合理,在模块化、可移植性与扩展性方面具有 明 显的优势。3)主要的商品化 操作系统供应商已经在其下一 代产 品中采纳了微核心化的思想或者其产品就是 一个微核心化的操作系统。4)支持 不同的硬件体系结构(并行、分布、传统单机,嵌 入式系统等)与应用需求(并行计算,实时处理,面向 目标的程序设计,分布式计算等)。操作系统经过几十年的发 展,在研 究单位,厂商与用 户的共同努力下已形 成被广泛采纳的标谁(各种层次:包括 系统 调用、库函数、实用程 序等)如D OS,MS CWINDOW,P os IX,COSE,XWINDOW等。为通过 其 它技 术途径实 现这 些标准提供了可 能,同时也保证了用户对新系统接受的程度。有关操 作 系统微核心化 的研 究 从8 0年代 初就开始,最 早 的系统包括CMU大学的R IG,A C CENT以及l 8 t年推 出的MACH操 作系统“。法国从8 0年 代 初期研制 的C ho ru s操作系统,荷兰从8 0年代中开始研制的A mo eba 等都是具有代 表性的工 作。经 过十几年的发展,操作 系统的微核 心化技 术已经 走上 成 熟与商品化的阶段。现在市 场上已经销售的商品包 括了Mie ro soft公司 的WindowNT,O S F组 织 的O S F/1.3(基于MAC H3.0),NE X T公 司 的NE X TST E P,USL与C horussystem联 合推出 的C horus/MIX,Unisys公司的C T O S以及Q N X提供 的O NX等。正在研制的产 品包 括SUN公司在So la ris操作 系统之后将要推出的基于微 核心化技术的Spring0S(支持 面 向对象的程序 设计),I BM为支 持Talige nt环境研制 的Workpla ee05,Ap pl e将于1 9 96推出的具有 微核心化 的操 作 系统MACSystem7.5等。还有一些 仅在 研究单位研 制并且使用 的系统如:AT&T的pla ng,Stand ford的Vke r nel,以色 列Hebr ew大学开 发的MOS,DEC公司 的Topa z等。所有这 一切对微核心化操作系统替代传统 的操作系统打下了坚实的基础。采用微核心化思想实现新一代操作 系统已经是学术界与商业界的共识。现在的主要争论点是实现 的技术 方面。包 括微核心应 该提供哪些服 务;I/0驱 动程序在进行 高度抽象尽量减少 与 硬件的交互界面后,同时如何提高其效 率;从提高效 率 考虑,哪些 模 块应 该在核心空间运行;是否要保 留传统操作系统(UNI x)子 系统的的代码,并且 在微核心化操作 系统中继续使用或 者完全重写等1 2,1:。UNI X服务器!DOS服务 器 入 生S Cwindowl径务 器05/2服务器 文件服务器网络服务器ty t服务器 调度策略服务器i驱动程序服务器 交换页而服务器卜进程间通信!虚存管理 进程与线程管理一处理器管理UO设务操作低层模块硬件平台:C PU,C A C HE,MMu,T L B,MEMOR Y.E P R oM,UoDo vic es,吝吝科,:.l l川支撑环境L列左用程序序U U UNI X服务器!DOS服务 器 入 生s CWindowj径务 器05/2服务器 图1微核心化操作系统的构成图1以MACH3.0微核心为蓝本给出微核 心化操作 系统 的构成 层次。MA CH核心只包括进程间通信、虚存管理、进程与线程管 理、处 理器管理、1/0设备操作低层模块等 五部 分。基于计算机研究与发展32卷MAC H3.0建立的UNIX操作系统(如OS F八.3)的其他部分都以Se ry er形式在用户 空间运行。这是一个较理想的微核心化操作 系统。出于 市场目标与效率的考虑,各个商家对哪一部分放入核心运行有不 同的选择。Mio ro so ft公司在设计其 wIND OWNT时,将 图11一3个层次的内容均放人核心态运行,主要支持05/2,Window32,Posix与D OS四种操作系统界面。IBM在其Work p la ee05中,将第二层 次 的 的serv er放入到核心空间运行。在chours/MIX中核心部分只有四部分:虚存管理、进程与线程管理、处理器管理、1/0设备操作低层模块。进程间通信模块也被放入到核心外。另一个研究热点就是如何提高基于消息传递机制的微核心化操作系统在效率上与传统无模块化结构 的操作系统(基于子程序调 用)效 率 上的差 别。最省时的作法就是将各类核心外的服务模块放人到核心内执行(MS CWIN DOWNT),改消 息传递为程序调用或者在核心内仍 然采取消息传递方式(省去两次空间切换的开销)。这种方法虽 然可提高 效率,但对消息传递机制的效率如何提高本身并没有进行研究。有关提高消 息传送 效率的研究包括:如何不经过操作系统核心在两个用户空间直接进行消息 的传 递;启用开销较少 的线程 来进行消 息的 传递(切换在C P U寄 存器 中进行,不通过存储器);如何增加一定的硬件设备使CP U寄存器之间直接通信。在微核心化操作 系统之上支持多种流行的操作系统界面环境也是多个厂家研究的一个焦点。例如:Mie r os oft在 WindowNT之上实 现D OS,Window3.1,Win32,05/2与PO SIX界面;IBM的Workplaee0 5将支 持D O S,Windows,0 5/2,AIX等;Sunsoft的Solaris与Sr Pi ng05支 持 wi ndow3.1等川。实现方法有指令的模拟与解释,机 器 指 令的 直接 翻 译等5。其他 的研究热 点包 括如何 高 效地并行化已有的 子系统或者设计新的子系统 问题,包括文件子系统、ty t子系统、1/0驱动子系统、进程管理子系 统、网络通信子系统 以及安全子系统等 s一“。四、操作系统领域的一些研究热点1.效率问题:主要的方法是通过设计各类跟踪统计工具找 出系统 中的效率瓶颈,然后再设法解决。从 观察的范围看,有宏观与微观两类。前者 将整个计算机系统看成是一个不可分裂的整体,从大范围内找瓶颈。后者集中于某一点上(如:CP U相 关程序如中断与例外处理程序的效率,具体一个操作 系统子系 统等)。从 宏观角度看,CP U以每年5 0%10 0%的速度增加,DRAM的容量(单位面积)每三年增加4倍,存取速度增 加较缓 慢,磁 盘容量年增长3 0%,存取速度增长也很缓慢合,如何解决CP U与D RAM速度之间的差别 以及DRAM与 磁盘存取速度的差别是硬件设计与操作 系统实现需要考虑 的问题。前一个问题 通过增加CAC H E来解决,涉及到的 问题包括Cache大小(数据与指令),Ca ehe数据一致性等之,6,29,3。,:,名:,a。2.调度单元的研究:该方面的研究主要集中于线 程界面的定义与实现 两个方面6,。,:,。3.共享虚拟存储:共享虚拟存储机制一个主要特点就是在分布存储的多处理机系统中为各结点机提供一个可共享的“虚拟地址空间”,各个结点机可 直接对该虚空间上 的任何地址进行读写与执行指令等操作。这 一概念实际上是传统操作系统 的“虚拟存储 空间”在分布式环境下的进一步扩展。它不仅实现传统“虚存”中的页表到 当前结点物理存储器 与磁盘块的映射,同时还完成“a Pg e”虚拟页表到其它结点局部物理存储器的映射操作。采用共享虚拟存储技术可带来以下好处:1)在分布式环境下向用 户提供一种“共享存 储”的编程模型,否则用户需通过显式的消息传递方式(me ss agepa ssi ng)来编制程序;2)用户程序可并行执行;3)单个结点上运行的进程可利用其它结点上的局部存储器作为缓存器;4)非常 自1期樊建平等:并行操作系统的现状与发展趋势然地支持进程的迁移at 6。该方面研究的主要领域:)l保证“pg a e到不同局部存储器中的数据一致性协议与算法。算法包括集中式管理算法、分布式算法、动态算法等a,。协议有Write一bro adc ast,pageowne rship,Multipzeco n siste n eyprotoe ols;2)在具体实现环境下的效率考虑(页大小、申请空间的策 略等);3)如何以硬件或者软硬结合 的方式进行实现。现已 经实现的共享虚拟存储系统有:Da sh,Ivy,Linda,Memn et,Me rmaid,MirageMunin,plus,Sh iv a等.。4.文件 系统:该研究主要集中在解决高效性、网络透明性、可靠性、可扩展性以及易使用性等方面。主要 的 发展是因为CPU的运算速度在不断加快,DRAM容量的增大,网络普及需要资源共享以及1/0存 取速度进展缓慢。研究的领域包括:文件数据的组织与存放策略、用 户使用界面的定义、文件数据分布存储的一致性问题;从系统效率以及容错性方面出发研究数据冗余存储的策略;物理存储设备的组织与构成(DRAM,Dl sK,CDROM)等。另外,由于存储器 芯 片价格 下降很快,如何建立基于内存(DRAM,N VRAM)的文件系统也将在不远的将来成为一个热点。5.新概念的操作系统:面向对象的操作系统的研究也是学术单位与计算机厂商的重点 之一。一个方向是设计操作系统核心时采用面向对象的程序设计方法,另一方向是在操作系统之上建立面向对象的程序开 发支撑环境。Miero s oftNT,Cho r u,A mo eba,E lmwo od等操作系统采用 了面向对象的程序设计语言或思想进行了构造。在核心之上构造的面向对象的环境包括:Cho r s u核心上的CO OL(C horu sobje et一Orie ntedLayer),Miero s oft建立在 WindowNT之上的OL E,Ap p le的ope nDo e,I BM等公 司联合开发 的Talige ntFr ameworks,IBM 的D S OM等。另一个兴起 的操作系统研究领域就是单地址空间操作系统。如果说CPU芯片从1 6位虚地址空间过渡 到 3 2位虚地址 空间曾经引起0 5设计革新的话(单用 户到多用 户),从 3 2到 6 4位可能会引发05设计的另一场革命。生产支持 6 4位虚拟空间的CPU芯片已经是 硬件发展 的大趋势,6 4位 虚拟空间已经完全有能力存放现代操作系统中的所有用户进程与操作系统本身。现有操作系统中跨地址空间进行 通信与同步等操作的效率低下问题将迎刃而解。目前该方面的研究刚刚起步,研究的重 点集中在虚拟地址保护 与映射机制的分离技术,支持单地址空间0 5的硬件新机制。五、结束语本文从操作系统 的发展史,当前的发展状态,未来的发展趋势以及技术研究的热点等几方面进行了阐述。阐述主要集中于传统单机UNIX的并行改造,微核心化操作 系统 的发展走向以及在提高效率,调度单元,共享虚拟存储机制,文件系统,新概念操作系统等几方面进行了介绍。操作系统 作为计算机系统 的核心软件,其涉及的研究范围很大,本文阐述的内容是其主流发展的一部分。-参考文献共4 2篇,由于版面所限而略,如需进一步了解本文内容,请与作者直接联系。OverviewofMultiProee s s o rOPe r atingSyst emsFanJ ianP inga ndL iGu ojieNa石onalReoea犷ehCente,f o;Iotel l艺 ge路tCom尹、f东,95夕steos,I玛st云t、亡。ofCo明尹。tingTe ehnology,Ae ademia召”iea,丑eiJ挽g,10 00 80AbstraetInthisPaPer,theh istory,e ur re ntstatu sa ndfuturetr endsofthemultipr oe e sso roPeratlngsystemsLM口万)a了eO e吕c r lbe己.Keywo rds:MO Shisto ry,eur renrstatusa ndfutu retre ndsofMOS.