倒数第四篇:万变中的不变:操作系统的基本概念--现代操作系统的发展1
倒数第三篇:未来操作系统的发展趋势和结语--现代操作系统的发展3
主页
倒数第一篇:嵌入式实时操作系统
第一篇:现代操作系统的发展
文章列表

相关计算技术的发展和现代操作系统的发展--现代操作系统的发展2

作者:陈钟,沈晴霓

相关计算技术的发展

操作系统经历了近40年的发展,从大型 计算机的批处理系统到分时系统,再发展到 个人计算机和掌上型计算机操作系统,直至 分布式系统和嵌入式系统。每种操作系统适用于不同的计算环境,其中既有传统的单机计算模式,又包含了许多新涌现出的计算模式。这些计算模式的应用分别如下所述:

多处理器计算

早期的多处理器并行技术仅用于科学 计算等领域,而今天该项技术已经出现在个 人、家庭和企事业办公桌面系统之中,甚至 手持设备、智能手机都采用了多处理机硬件 架构。

基于互联网(Web)的计算

浏览器/服务器(Brower/Server)模式的 普遍应用带领人们进入互联网计算时代。互 联网技术拓展了传统式计算的范围,企业的 入口网站提供了由网络访问内部服务器的方 法。网络计算机可以进行互联网式计算,而 掌上型计算机和个人计算机与无线网同步的 功能,也使得企业信息具有了可移植性。目 前,除了个人计算机,工作站、手持设备甚 至手机都可以用来当作联机上网的工具。我 们由此也可以从互联网上获得更多的数据和 服务。

嵌入式计算

嵌入式计算是目前计算机系统中占有率 最高的一种计算,在汽车引擎、工厂的机械 设备、录放机和微波炉等设备中几乎随处可 见它的踪影。嵌入式系统大多运行特定的嵌 入式操作系统。它们的硬件设备一般比较简 单,没有较先进的系统功能如虚拟内存等, 因此嵌入式操作系统也只提供了较为简单的 功能。

虚拟化计算

所谓虚拟化,实质上是通过硬件和操作 系统(Operating System,OS)的中间层—— 虚拟机监控层(Hypervisor)实现计算资源的 管理和再分配,使资源利用率实现最大化。虚拟化带来的最大好处是使一个物理平台能够同时运行多个同类或异类的操作系统,以分别作为不同业务和应用的支撑平台。虚拟化技术已颇受业界好评,甚至还出现了“虚拟机构件(Vmware)预示操作系统的死亡”的言论。其实从技术角度讲,虚拟机监控层本身就是一个微型的操作系统。从软件开发的角度看,绝大多数应用都是面向操作系统开发的,用户所关心的是系统能提供何种应用,除非彻底颠覆现有的软件开发模式,即从面向Windows、Linux和各种Unix的编程环境和应用编程接口(API4),转向面向基于虚拟机管理层的编程环境和应用编程接口,否则操作系统作为软件开发基础的格局不会改变。因此,现代操作系统的发展在一定意义上受到虚拟化技术的影响,但未必会很快“死亡”。

可信计算

对于在计算机应用环境中的可信,ISO/ IEC5 15408标准6有如下定义:一个可信的组 件、操作或者过程的行为在任意操作条件下 应该是可预测的,并能很好地抵抗应用程序 软件、病毒以及一定的物理干扰造成的破 坏。目前,可信计算主要有3个属性:(1) 可鉴别性,计算机系统的用户可以确定与他 们进行通信的对象身份;(2)完整性,用户 确保信息能够正确传输;(3)私有性,用户 相信系统能保证信息不会被泄漏或窃取。这 三个属性在具体操作系统应用中表现为用户 的控制与访问权限以及文件与程序的加密解 密等。由于操作系统包括不同的组件,因此 操作系统的可信分为操作系统的启动可信、 文件系统可信、设备驱动程序可信以及操作 系统之上的软件可信等,整个过程称为操作 系统的可信链。因此,在未来,包含可信计 算模块的各种操作系统都应支持建立系统各 组件之间的信任链关系。

现代操作系统的发展

微内核操作系统

对于一个操作系统而言,内核通常是系 统中最核心的部分。内核管理着所有的系统 资源,对于系统的设备拥有完全的访问权, 所以内核通常运行于特权模式。现有的操作 系统在正确性、可靠性以及安全性方面不尽 如人意,其中很大部分的原因与系统内核的 规模过于庞大复杂以致难以控制和验证有 关。为改善这个问题,微内核的基本方法是 应用最小特权原则,把一般内核中大部分的 功能移出内核而只保留必不可少的部分,使 具有特权的内核代码量最小,同时也减少内 核的复杂度,从而使内核受到安全威胁而导 致特权失控的可能性大大降低。同时,由于 内核代码量的降低,使代码的分析和验证的 工作也相对容易。但是,由于微内核操作系 统是基于消息传递机制的,因此必须考虑如 何提高操作系统服务器的效率。此外,在微 内核内实现的新概念(比如线程)和新机制 (如写时拷贝等),在传统操作系统中没有 相应的语义,实现微内核结构的操作系统时 必须考虑到这一点。

除了在系统性能和语义差异上会受到一 定影响之外,具有微内核结构的现代操作系 统拥有以下优点:(1)可伸缩性好,能适应 硬件更新和应用变化;(2)可移植性好, 所有与具体机器特征相关的代码,全部隔离 在微内核中。如果操作系统要移植到不同的 硬件平台上,只需修改微内核中极少量的代 码即可;(3)实时性好,微内核可以更有效 地支持实时处理;(4)安全可靠性高,微内 核将安全性作为系统内部特性进行设计,对 外仅使用少量应用编程接口;(5)支持分布 式系统,支持多处理器的体系结构和高度并 行的应用程序;(6)真正面向对象的操作系统,能显著减小系统开销,提高系统的正确性、可靠性和易扩展性。因为微内核结构具有如此多的优点,所以现代操作系统中广泛采用微内核结构或准微内核结构,比如卡内基梅隆大学的Mach操作系统、法国的Chorus操作系统以及当前广泛使用的Windows 2000/XP都采用了微内核结构。开源L4是第二代微内核,不但具有传统微内核的优势,即良好的可靠性和灵活性,还通过大量优化的通信机制,在很大程度上弥补了性能上的不足。目前的微内核结构不仅适用于通用操作系统,也已十分适合嵌入式的专用操作系统设计。

嵌入式操作系统

嵌入式系统是以应用为中心,软硬件可 裁减的,适用于对功能、可靠性、成本、体积 和功耗等综合性要求严格的专用计算机系统。 它具有软件代码小、自动化程度高和响应速度 快等特点,特别适合于要求实时和多任务的体 系。嵌入式操作系统是嵌入式系统极为重要 的组成部分,通常包括与硬件相关的底层驱 动软件、系统内核、设备驱动接口、通信协 议、图形界面和标准化浏览器等。嵌入式操 作系统具有通用操作系统的基本特点,比如 能够有效管理越来越复杂的系统资源,实现 硬件虚拟化,使开发人员从繁忙的驱动程序 移植和维护中解脱出来,能够提供库函数、 驱动程序、工具集和应用程序。与通用操作 系统相比较,嵌入式操作系统在系统实时高 效性、硬件的相关依赖性、软件固态化以及 应用的专用性等方面具有较为突出的特点。 从20世纪80年代起,国际上就开始了商 用嵌入式系统和专用操作系统的研发。其中 涌现出一批著名的嵌入式操作系统,例如: WinCE,是从整体上为有限资源的平台设计 的多线程、完整优先权、多任务的操作系 统;VxWorks,是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统,支持多种处理器,而且大多数的VxWorks应用程序接口是专用的;pSOS,是模块化、高性能的实时操作系统,专为嵌入式微处理器设计,提供一个完全多任务环境,在定制的或商业化的硬件上提供高性能和高可靠性;QNX,是实时的、可扩充的操作系统,部分遵循POSIX7相关标准(如POSIX.1b实时扩展,提供一个很小的微内核以及一些可选的配合进程);PalmOS,在PDA市场上占有很大的份额,具有开放的操作系统应用程序接口,开发商可以根据需要自行开发所需要的应用程序;OS-9,为微处理器的关键实时任务而设计的操作系统,广泛应用于高科技产品中,包括消费电子产品、工业自动化、无线通讯产品、医疗仪器和数字电视/多媒体设备,它提供了很好的安全性和容错性;LynxOS,是一个分布式、嵌入式、可规模性扩展的实时操作系统,遵循POSIX .1a、POSIX.1b和POSIX.1c标准;Symbian OS是专门用于高级数据功能手机(即智能手机)的开放操作系统。

目前, 专用操作系统均属于商业化产 品并且价格昂贵。由于它们各自的源代码不 公开,使得每个系统上的应用软件与其它系 统都无法兼容。这种封闭性还导致了商业嵌 入式系统在对各种设备的支持方面存在很大 的问题,使得它们的软件移植变得很困难。 Linux8作为开源系统,不会出现这样的问题。 因此,除了智能数字终端领域以外,Li n u x 在移动计算平台、智能工业控制和金融业终 端系统,甚至军事领域也都有着广泛的应用 前景。这些Linux统称为“嵌入式Linux”。 嵌入式Linux是开源项目,有着优秀的网络功 能,比如稳定,内核“精悍”,运行时所需 资源少,支持的硬件数量庞大等,因此吸引 了许多开发商的目光,成为嵌入式操作系统 的新宠。国际上比较有名的包括实时目标的 RT-Linux9、小型化的uClinux10、专门化的嵌入式Linux版本Embedix11以及号称世界最小的XLinux12等。嵌入式操作系统巨大的商业价值和Linux的开放性,为民族软件产业的发展提供了难得的机会。但是国产嵌入式操作系统在技术含量、兼容性、市场运作模式等方面还有很多工作要做。

分布式操作系统

在分布式系统发展过程中出现过两个概 念:网络操作系统和分布式操作系统。UNIX 和Windows NT就属于网络操作系统,都具有 网络功能,可以用来访问远程资源。它们能 够通过网络透明地访问一些,但不是所有资 源,例如:利用分布式文件系统(NFS13), 用户能够通过网络透明地访问存储在远程设 备或服务器上的文件。网络操作系统的特点 之一就是运行于其上的结点能独立地管理自 己的进程资源。也就是说,在网络上的每一 个结点都有一个系统映像。通过网络操作系 统,用户能够使用rlogin或Telnet14远程登录到 其他的计算机上,并在那台计算机上运行进 程。然而与操作系统管理本地结点计算机进 程的方式不同,网络操作系统并不在结点间 调度进程,用户必须参与进程的调度。

如果存在一种无需用户关心程序的运行 地点或资源位置的操作系统,并且其中只有 一个单一系统映像,则该系统必须能控制系 统中的所有结点和将一个进程透明地定位于 符合其调度策略的结点上。例如在最小负载 的结点上生成一个新进程以防止单个结点 的过载。但事实上,除了UNIX、Mac15操作 系统和各种版本Windows这些网络操作系统 外,目前几乎没有其他普遍应用的分布式操 作系统,主要原因是用户过于习惯使用熟悉的软件,而且用户更愿意独立地管理自己的机器。中间件与网络操作系统的结合为操作系统提供了独立性和网络资源透明访问之间的平衡,即网络操作系统使用户能独立运行其应用程序,而中间件使这些程序能够享受到分布式系统提供的服务。

可扩展操作系统

现代操作系统在内涵发生变化的同时,外 延也在悄然发生变化。正是由于微内核技术的 使用,使操作系统在保持核心功能的基础上能 够灵活地结合各种服务及应用,这就是所谓的 可扩展操作系统。这种外延和扩展不仅体现在 用户应用层,还体现在硬件层。实际上,未来 的操作系统在计算机体系结构中将向硬件层和 应用层两个方向延伸。例如,现代操作系统可 以将操作系统的部分功能交给硬件实现,即将 一部分功能模块采用软件固化技术固化在相关 芯片上。随着芯片技术的发展,越来越多的现 代操作系统的服务会固化进芯片,由此还可使 未来的嵌入式系统实现企业级运算。根据IBM 公司eServer i系列首席科学家弗兰克·索尔蒂斯 (Frank Soltis)博士的预测,当每一块芯片中 集成的晶体管数量超过10亿个时,未来的服务 器芯片完全有能力把诸如DB216、WebSphere17 这样的软件固化在其中。当支持企业级计算的 软件固化到服务器芯片中时,操作系统的相应 功能也会不得不固化进服务器芯片中,这种含 有系统软件和应用软件的专用芯片无疑是未来 操作系统的发展方向。

多处理机并行操作系统

多处理机并行操作系统具有如下新特 征:(1)并行性,即增强对程序并行执行的支持。(2)分布性,即支持对分布的任务、资源的管理与控制。(3)通信及其同步性,即在不同处理机上运行的不同进程之间实现同步和通信,以共享资源和相互合作,支持程序的并行执行,以改善系统的性能。(4)可重构性,为了提高系统的可靠性,当系统中某个处理机或存储模块等资源发生故障时,系统能够自动切除故障资源,换上备份资源,并对系统进行重构,以保证其能继续工作。

早期的并行操作系统由于考虑到硬件 系统的非对称性以及实现的简单性,采取了 主从式并行化单机操作系统,即任何时刻 只允许一个处理器执行操作系统核心程序, 其他处理器只可用来执行用户程序。然而这 种实现方法并不能很好地发挥对称式硬件的 特点,因而目前在商品化系统中已完全放弃 了,代之以完全对称式的操作系统核心并行 化的方法,为充分发挥多处理机硬件环境下 的多任务处理能力打下了基础。在提高系 统性能方面,对称式多处理机(Symme t r i c Multi-Processor,SMP)结构计算机已经成 为现代计算机技术发展的潮流和趋势,因此 急需构建能协调多处理器并发活动以及维护 系统一致性的对称式多处理机操作系统,来 替代原有的单处理器操作系统。目前,市场 上已由不同厂家推出多个并行操作系统版 本,包括升阳公司(SUN)的Solaris、美国 电话电报公司(AT&T)的UNIX SYSTEM V4.0 MP版本、DG公司的DG/UX、SGI18公 司的IRIX、MIPS公司的RISC/OS 5.0、克雷 (Cray)公司的Unicos、英国Concurrent公司 的RTU、Sequent19的DYNIX、昂可(Encore) 的UMA X、摩托罗拉公司(Mo t o r o l a) 的MotorolaOS、阿连特公司(Al l iant)的 Concentrix、IBM支持多机结构的AIX20以及开 放软件基金会(OSF21)组织推出的早期UNIX 版本OSF/1.0等。

虚拟化操作系统

在操作系统层面上,像I BM、微软、 Linux社区以及其他厂商都在不同层次上实现 虚拟化。一种是进程级的,即不是用软件模 拟,而是在操作系统之上添加一个很“薄” 的虚拟化程序来实现虚拟化,在这个虚拟化 程序之上再模拟操作系统。在用户的角度看 到的操作系统和真实的操作系统使用起来基 本是一样的,可以支持各种各样的应用。另 一种是系统级的,即操作系统几乎可以不 变,只是每个操作系统调度的是自己的虚拟 化硬件资源,这些虚拟硬件资源是由系统硬 件和操作系统之间的虚拟监控层(虚拟化操 作系统)创建和管理的。这样,虚拟化操作 系统或者运行在虚拟监控层之上的操作系统 比原始的系统更安全,因为都拥有独立的运 行环境和独立的虚拟化设备资源。

可信操作系统

随着网络安全问题日益严峻,人们对平台 安全性的认识和要求也越来越迫切。而自从微 软发布Vista操作系统以来,人们开始看到安全 可信的操作系统离普通用户越来越近。Vista是 微软第一款根据“安全开发生命周期(Security Development Lifecycle,SDL)”机制进行开发 的操作系统。它首次实现了用户易用优先向系 统安全优先的转变,其中所有选项的默认设置 也都是以安全性为第一要素考虑的,这和以往 的Windows客户端操作系统把易用性放在第一位 大不相同。再者,近年来可信计算技术被选择 用来从根本上解决个人电脑的脆弱性,并得到 快速发展。业内人士分析,内嵌可信平台模块 安全芯片的个人电脑将成为新一代安全终端的 主流,并且可信平台模块也会像声卡、显卡和 主板一样成为个人电脑的标准配置。人们最终 将迎来“要么安全个人电脑,要么没有个人电 脑”的时代。支持可信平台模块的Vista的推出使得可信计算平台概念更加市场化。同时,随着微软Vista的部署,市场对高可信操作系统的 理解和需求将逐步扩大。

另请参阅:

  1. 万变中的不变:操作系统的基本概念--现代操作系统的发展1
  2. 相关计算技术的发展和现代操作系统的发展--现代操作系统的发展2
  3. 未来操作系统的发展趋势和结语--现代操作系统的发展3
  4. 现代操作系统的发展

 

本文作者

陈 钟 中国计算机学会理事。博 士,北京大学教授。主要 研究方向为信息安全、系 统软件、面向领域的软件工程等。

沈晴霓 中国计算机学会高级会 员。博士,北京大学软件 与微电子学院信息安全系 副教授。主要研究方向为 信息安全、安全操作系统、可信计算等。