操作系统教程(第4版)(txt+pdf+epub+mobi电子书下载)


发布时间:2020-09-05 14:20:33

点击下载

作者:陆松年

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

操作系统教程(第4版)

操作系统教程(第4版)试读:

高等学校规划教材,普通高等教育“十一五”国家级规划教材

操作系统教程(第4版)

CIP号:第052674号

ISBN:978-7-121-22671-7

中图分类:TP316

关键词:操作系统-高等学校-教材

北京,2014/04,电子工业出版社

版次:4

印次:1

价格:49.50

印张:26.75

字数:800

开本:787×1092 1/16

语种:中文摘要

本书为普通高等教育“十一五”国家级规划教材。本书以操作系统的基本原理、概念和应用为框架,以传统的UNIX为主线,分析了最近推出的Linux 3.10.12版本的存储管理、进程管理、进程通信、设备管理和文件系统的基本结构、算法、重要的数据结构和流程,详细给出了典型模块的源代码和注释,还对Windows 7和操作系统安全进行了分析。全书分3篇:第1篇介绍操作系统的基本原理及较常用的操作系统实例,如UNIX、Linux、Windows 7/8和Windows Server 2012等;第2篇介绍在UNIX和Linux系统下的系统程序设计、应用开发工具及开发技术;第3篇介绍UNIX系统管理和网络管理。

本书可作为高等学校计算机科学与技术和计算机应用专业以及通信工程、电子工程、信息安全、自动化控制和信息管理类等非计算机专业的教材和教学参考书,对于计算机软件开发人员、系统和网络管理人员,也是一本很好的参考书。陆松年 主编翁亮,潘理,薛质 编著章海涛 责任编辑章海涛 其他贡献者何雄 其他贡献者张昱 封面设计第4版前言

相对Linux来说,UNIX操作系统比较简洁,源代码容易读,较适合于教学。本书出版已经14年了,期间Linux和Windows操作系统都有了较大的发展,这次修订的第4版以操作系统的基本原理、概念和应用为框架,以传统的UNIX为主线,并反映了Linux和Windows操作系统的最新发展。

与第3版比较,第4版的Linux操作系统部分有了很大的修改。第4版采用最近推出的Linux 3.10.12版本,分析了存储管理、进程管理、进程通信、设备管理和文件系统的基本结构、算法、重要的数据结构和流程,详细给出了典型模块的源代码和注释,以供教师、学生和研究Linux内核的读者参考。

本书分析的部分Linux源代码很长,为了节省篇幅,非关键的部分有所省略;有些结构说明中的常数也被截短了,余下部分用符号“*”表示。

针对目前使用人数最多的Windows操作系统,本书紧跟Windows操作系统的最新进展,舍弃了Windows 2000/XP/2003的结构分析等内容。第7章中以Windows 7操作系统为主线,全面分析了系统体系结构、存储管理、进程、线程及处理器管理、I/O系统、文件系统和网络系统。对微软最新的Windows 8和服务器操作系统产品Windows Server 2012,重点分析了其对以前Windows版本的功能更新部分。第7章还对x86平台操作系统虚拟化技术的基本原理进行了介绍,并以开源的Xen虚拟化技术为例说明了虚拟化的基本原理,重点分析了Hyper-V的系统架构和处理过程。此外还介绍了可运行云服务器、数据中心、Web和应用程序的云计算操作系统Windows Azure。

随着全球计算机信息化的发展,用户对信息服务的安全性提出了越来越高的要求。计算机信息系统的安全性主要依赖于其软件系统的安全性。由于操作系统是计算机软件系统中具有基础性、战略性和唯一控制硬件的关键软件,其安全职能是其他软件安全的根基。没有操作系统的安全就不可能真正解决计算机系统安全,进而解决整个网络信息系统的安全性问题。只有增强了操作系统的安全功能,各种病毒、木马程序、网络入侵和人为非法操作才能被真正抵制。

Solaris曾是使用最广泛、最成功的商业UNIX实现版本,也是一个最安全和最稳定的商用操作系统。但自2005年Sun公司正式推出其开源项目OpenSolaris以来,并没有取得关键的发展。本书第3版曾分析了Solaris操作系统,但基于篇幅原因,第4版删去有关内容,感兴趣的读者可参见第3版。

本书内容深浅适度,安排系统、合理,不仅介绍了操作系统的最新原理,实用性也很强。本书可作为高等学校计算机科学与技术和计算机应用专业以及通信工程、信息安全、电子工程、自动化控制和信息管理类等非计算机专业的教材及教学参考书,对于计算机软件开发人员、系统和网络管理人员,也是一本很好的参考书。

全书分为原理篇、应用和开发篇、系统和网络管理篇3部分,共16章。本书由陆松年、翁亮、潘理、薛质编写,由陆松年统稿。

本书计划讲课学时为80学时,不同专业可根据需要删去或略讲书中某些章节,将学时压缩至50~70。值得指出的是,操作系统是一门实践性很强的课程,因此不论在校学生或自学者都要进行一定数量的上机实验。与本书配套的还有由陆松年主编的《操作系统实验教程》(电子工业出版社,2010)。

本书在编写过程中得到了上海交通大学电子信息与电气工程学院领导对本书的大力支持,不少学生也参加了Linux分析工作,在此一并表示感谢。

由于作者水平有限,教学内容尚需要不断更新,特别是对Linux 3.10.12版本的分析,国内外鲜见论著发表,几乎完全是直接对源代码进行研究和分析,书中难免存在一些错误,恳切希望各位学者和读者批评指教,作者将不胜感谢。

本书为读者提供相关教学资料,可从华信教育资源网站(http://www.hxedu.com.cn)下载。

作 者第1部分 原理篇

CPU是计算机系统的心脏,操作系统是计算机系统的大脑。半个世纪以来,操作系统吸引了世界上一大群最热情、最有智慧的杰出人才,集中了人类现代创造性思维活动的精髓。操作系统是软件世界的万花筒、博览会,是软件王国中的一顶璀璨的皇冠。能够有机会走进操作系统这个神奇、复杂而又充满诱惑的大千世界,理解其中的基本概念、结构和奥妙的管理机制是十分幸运的。

本篇内容包括:

● 操作系统概论

● 存储管理

● 进程管理

● 进程通信

● 设备管理

● 文件系统

● Windows操作系统

● 操作系统安全第1章 操作系统概论

计算机系统由硬件和软件两部分组成。硬件是指人所看得见、摸得着的各种计算机部件,包括存储器、处理器、输入/输出设备及电源、机箱等。软件是指存在于计算机系统中或外存储器中的程序及数据的集合。仅有硬件而没有配备软件的计算机就如同一堆废物,只有在配备了软件后,计算机才能“活”起来,为用户解决各种各样的控制、处理和计算问题。

计算机软件分为系统软件和应用软件。系统软件是计算机厂商为了便于用户使用计算机而驻存在计算机硬件(如硬盘和软盘)内的系统支持程序,一般是连同计算机硬件一起出售的。主要的系统软件有操作系统、编译和解释程序、汇编程序、连接装入程序、编辑程序和设备驱动程序等。应用软件是用户为了专门的应用目的,向计算机厂商或其他软件商购买的或自己开发的解决某一类问题的软件,典型的有数据库管理软件、图像处理软件及各种CAD、CAI、办公软件和杀毒软件等。

在所有的系统软件中,操作系统是一种首要的、最基本的、最重要的系统,也是最庞大、最复杂的系统软件。几十年来,软件界花费了大量的时间和金钱来研究、开发、扩展和完善计算机操作系统,使其获得了飞速的发展。1.1 什么是操作系统

尽管“操作系统”(Operating Systems,OS)这个名称诞生至今已有了几十年的时间,计算机使用人员一般都知道它,但要对其下一个精确的定义并非轻而易举。很多论述操作系统的书籍从不同角度对操作系统下了不同的定义,综合起来,通常把操作系统定义为用以控制和管理计算机系统资源,方便用户使用的程序和数据结构的集合。(1)系统观点——计算机资源管理

在计算机系统中,CPU是计算机硬件的核心,是计算机系统的心脏;操作系统则是计算机软件的核心,是计算机系统的大脑,是整个系统的控制中心,是计算机或智能控制管理系统中首要的、最重要的、最复杂的系统软件。

计算机系统中的主要硬件有CPU、控制器、内存及磁盘、闪存、键盘、鼠标、显示器、打印机、USB和网络接口等形形色色的外部设备。在计算机系统内运行的各个程序为了各自的“利益”,无时无刻地争夺这些有限而较为昂贵的资源。操作系统的作用类似于城市交通的决策、指挥、控制和调度中心,它组织和管理整个计算机系统的硬件和软件资源,在用户和程序之间分配系统资源,使之协调一致、高效地完成各种复杂的任务。

现代计算机硬件设备种类越来越多,功能越来越强,控制和操作起来也越来越复杂。如果一个程序员要直接与打印机、磁盘等I/O设备打交道,那么就要对每一种设备编制几千、几万条机器指令,这不仅是用户力所不及的,对系统存储的信息来说,也是极其不安全的。操作系统向用户提供了高级且调用简单的服务,掩盖了绝大部分硬件设备复杂的特性和差异,使用户可以免除大量的令人乏味的杂务,而把精力集中在自己所要处理的任务上。(2)用户观点——用户使用计算机的界面

如果只有裸机,用户几乎不可能使用计算机。为了能够使用户方便、灵活、安全、可靠地使用计算机,就要改造它,充分发挥其潜能。如果在裸机之上覆盖一层I/O设备管理软件,就能使用户较方便地使用外部设备;如果在其上再覆盖一层文件管理软件,用户就很容易存取系统文件和用户文件;每覆盖一层新的软件,就构造了一台功能更强的虚拟计算机。通过操作系统,计算机能提供种类更多、质量更高的服务。同样一台计算机硬件,安装MS-DOS操作系统或安装Windows 2003操作系统,呈现在用户面前的是完全不同的两类“虚拟”计算机,因此操作系统是用户与计算机硬件之间的接口。用户一般可用以下3种方式获得计算机系统提供的服务。

① 命令方式。用户可通过键盘输入有关命令来直接使用计算机,以获得计算机所能提供的服务,也可将若干个命令集中存于一个文件中,以批处理的方式连续运行命令,获得多种服务。

② 系统调用。用户可在应用程序中调用操作系统向用户提供的服务程序,以获得系统服务。

③ 图形界面。用户可以在窗口环境中通过鼠标、按键、菜单和对话框等方式操纵计算机,这是现代操作系统向多媒体转化的标志之一。(3)软件观点——程序和数据结构的集合

操作系统是直接与硬件相邻的第一层软件,是由大量极其复杂的系统程序和众多的数据结构集成的。在计算机中的所有软件中,操作系统起到了核心和控制的作用,其他软件的运行都要依赖它的支持。操作系统是在系统中永久运行的超级程序。1.2 操作系统的发展历史

1.早期的计算机和人工操作方式

在1945年,世界上第一台通用的数字计算机ENIAC诞生以后的早期真空管电子计算机时代,连像汇编语言这样简单而基本的软件也没有,更不用说操作系统了。那时的计算机尽管十分庞大,但也可称其为“个人计算机”,因为计算机每次只能为单个用户服务,系统中所有的资源在这段时间内全部分配给该用户使用。

那时,程序员为了在计算机上算一道题,先要预约登记一段机时,到时他将预先准备好的表示指令和数据的插接板带到机房,由操作员将其插入计算机,并设置好计算机上的各种控制开关,启动计算机运行。程序和数据也可通过控制板上的开关直接送入计算机。假如程序员设计的程序是正确的,并且计算机也没有发生故障,若干小时后他就能获得计算结果,否则将前功尽弃,再约定下次上机时间。

汇编语言和高级语言的问世,以及程序和数据可以通过穿孔纸带或卡片装入计算机,改善了软件的开发环境,但计算机的操作方式并没有多大的改进。程序员首先将记有程序和数据的纸带或卡片装到输入设备上,拨动开关,将程序和数据装入内存;接着,程序员要启动汇编或编译程序,将源程序翻译成目标代码;假如程序中不出现语法错误,下一步程序员就可通过控制台按键设定程序执行的起始地址,并启动程序的执行。

在程序的执行期间,程序员要观察控制台上的各种指示灯以监视程序的运行情况。如果发现错误,并且还未用完所预约的上机时间,就可通过指示灯检查存储器中的内容,直接在控制台上进行调试和排错。如果程序运行正常,最终将结果在电传打字机等输出设备上打印出来。

总之,在早期的计算机系统中,每一次独立的运行都需要很多的人工干预,操作过程烦琐,占用机时多,也很容易产生错误。在一个程序的运行过程中,要独占系统的全部硬件资源,设备利用率很低。

2.脱机输入/输出和批处理系统(1)脱机输入/输出

随着晶体管的使用和CPU速度的提高,计算机解题速度越来越快,但这种需要人工干预的由慢速设备读入程序和数据及由慢速输出设备打印结果的过程往往占用了用户使用计算机的大部分时间。为了解决人工干预与CPU速度不匹配的矛盾,提高计算机的使用效率,在计算机中配备了“监控程序”。用户的控制命令和操作步骤可以写在源程序前或专门的控制卡片上。“监控程序”先读入控制命令,并按命令的指示一步一步自动地执行,这就是“操作系统”的雏形。

为了解决慢速输入/输出设备与CPU速度的不匹配问题,可将用户打在卡片上或纸带上的程序和数据通过外围小计算机预先输入到磁带上,运行时再从磁带上高速读入内存。输出也同样可通过磁带中转。由于使用了磁带作为输入/输出的中介,极大地提高了计算机的输入/输出速度。这种具体的输入/输出不需要在主计算机上进行的方式也称“脱机输入/输出”。图1-1描述了该系统的模型。图1-1 脱机输入/输出(2)批处理系统

脱机输入/输出进一步提高了计算机的运行效率,伴随着计算机处理速度不断的提高,在同样的时间内能解答更多的问题,但自前一个程序运行结束到启动后一个程序运行这段时间内,程序员或操作员还需要进行很多的人工干预。“批处理”是克服这个缺点的好方法。这种操作方法的基本思想是操作员取来一批作业,将它们输入到磁带中;操作系统先从磁带上将第一个作业读入内存,启动它运行,并将运行结果输出到另一条磁带上;当第一个程序运行完毕,操作系统能自动地从输入磁带上读入下一个作业,并予以运行和输出,如此直到整批作业全部处理完毕。

由于系统作业是成批地进行处理,但在内存中只能保持一个运行作业,故该类系统又称为单道批处理系统。批处理系统解决了高速计算机的运算、处理能力与人工干预之间的速度矛盾,实现了作业自动过渡。

3.缓冲、中断和DMA技术(1)缓冲技术

脱机、批处理还没有完全解决CPU与外部设备速度的匹配问题,无论是从读卡机还是从磁带中读入,相对于CPU来说,读入数据的速度总嫌慢。进一步的解决方法是采用缓冲技术。缓冲技术的原理是将数据存放到一个特定的缓冲区中,当CPU从缓冲区中取得了数据,在对它进行运算之前,再启动输入设备以输入下一个数据至缓冲区。这样在CPU进行运算时,外部设备的输入工作也在同时进行。同样,输出也可采用缓冲技术。采用了带缓冲的输入/输出技术后,CPU与外部设备能做到并行操作,减少了互相等待的时间,极大地提高了CPU与各种外部设备的使用效率。(2)中断技术

具有缓冲的输入输出也带来了新的问题。一个问题是处理机要知道I/O设备什么时候已完成了输入操作,以便处理输入数据并启动下一个I/O。如果要靠CPU反复地查询输入设备的状态,就会浪费很多CPU的时间。中断技术的出现解决了这个难题。只要I/O设备一旦完成了输入/输出操作,它会自动向CPU发出中断信号。CPU收到中断信号后,就暂停当前的处理工作,在做了一些必要的现场保护、中断处理工作后,转入中断服务程序。中断服务程序读出缓冲区数据,然后启动下一个I/O操作。从中断服务程序返回后,操作系统恢复被中断的运算过程。

中断处理机构需要在系统栈上保存中断返回地址,还要保护中断时的其他现场,如累加器和其他寄存器的值。在完成了中断服务之后,中断程序要恢复原先的中断现场,取得断口地址以使计算机继续原先的处理工作。CPU在处理一个中断事务时,如果又收到另一个优先级更高的中断请求,就会暂停当前的中断服务,转而去处理更为紧迫的操作,这样就形成了中断的嵌套。(3)DMA技术

对于慢速的I/O设备(如键盘、串行口等),CPU在执行有关的中断服务程序后,还可利用剩下的大部分时间来执行其他的计算工作。但对于像磁带、磁盘或高速网络通信接口,CPU响应中断和处理数据所费的时间可以比数据到达的时间间隔更长。这样,即使处理机的时间全部用于处理中断和接收输入数据,也仍然会发生数据丢失的情况。

为了解决这个难题,产生了直接存储器存取(DMA)技术。一旦收到了DMA发来的中断请求后,CPU在设置了缓冲区、指针和计数器后,DMA就可以不需要CPU干预,在内存和设备之间传送整块数据。这样,通过DMA每传送一个数据块仅需要一次中断处理,而不是像低速设备那样每传送一个数据都需要一次中断处理。

4.SPOOLING

使用缓冲技术可提高CPU与外部设备工作的并行程度,如果CPU处理数据的速度比输入设备快得多,CPU总是要等待输入设备将数据送入缓冲区后才能读取和处理数据,输出也会发生类似的情况。开始时CPU能全速运行,但不久所有的系统缓冲区都会被塞满,此后CPU必须等待输出设备取走缓冲区中的数据,以便可在其中存放新的输出结果。这种执行速度受到I/O设备限制的作业,称为受限于I/O的作业。另一方面,对于计算量很大的受限于CPU的作业,输入缓冲区经常是满的,而输出缓冲区经常是空的。因此,缓冲技术虽然是有用的,但在很多情况下,其作用并不十分明显。

磁盘系统的出现极大地改进了脱机输入输出的效果。磁带系统的问题是当CPU从磁带上读入数据时,读卡机等输入设备就不能在磁带的尾部写数据,所以慢速输入设备的数据不能通过磁带机被CPU联机地读入。磁盘设备消除了这个问题。磁盘的读写头很容易从磁盘中的一个区域移动到另一个区域,所以磁盘的读写位置能很快地从读卡机存入磁盘的区域移动到CPU需要读入下一个记录的区域。

在磁盘系统中,读卡机等设备将数据写到磁盘中,卡片数据的映像记录存放在由操作系统维护的一张表中。在一个作业执行期间需要请求读卡机输入数据时,实际读入的是存放在磁盘中的对应记录项。类似地,当作业要将输出送至打印机时,该输出实际上是通过系统缓冲区写到磁盘中,在该作业运行结束后,才由操作系统自动打印存储在磁盘中的输出结果。这种由操作系统将磁盘模拟为输入/输出设备的处理方式称为SPOOLING(Simultaneous Peripheral Operating On Line),即“并行的外部设备操作联机”,也称为“假脱机”。SPOOLING系统是以磁盘为几乎无限巨大的缓冲区来解决低速的I/O设备与高速CPU之间的速度匹配问题。

相比内存缓冲技术,SPOOLING还具有其他优点:内存缓冲只能使作业的I/O与本身的计算工作重叠地进行,SPOOLING能使多个作业的I/O与计算重叠地进行。使用SPOOLING技术,计算机能在执行一个作业时打印前面已完成了计算任务的作业的输出结果,还能读入尚未运行的作业,这样使得CPU和多台I/O设备能以很高速度并行地工作,提高了系统的吞吐量。

SPOOLING还可提供一种很重要的结构——缓冲池。SPOOLING通常把很多作业输入到磁盘中等待运行。操作系统就可根据系统当前的情况在这些作业中挑选下一个运行作业,以提高CPU和外部设备的利用率。当输入作业是放在读卡机或磁带中时,操作系统就不可能在这些作业中跳来跳去地以不同顺序运行作业,而只能按先来先服务的顺序运行作业。仅当作业是存放在像磁盘那样的直接存取设备中时,作业调度才成为可能。于是,操作系统就能使一些CPU受限作业和I/O受限作业互相搭配运行,以提高系统中各种设备的利用率。

5.多道程序设计

脱机操作、缓冲和SPOOLING虽然能使CPU的计算与I/O设备的操作重叠地进行,却有一定的局限性。这些技术都不能使CPU和I/O设备时常保持忙碌状态。当一个作业必须等待I/O操作完成时(如从键盘读入一个数据),CPU就不能执行下一步运算,往往只能空等。

作业调度使另一种新的计算技术——多道程序设计成为可能,能进一步提高CPU的利用率,使它几乎总有任务可执行,也能提高外部设备的利用率,使得多个作业的多种I/O操作可以并行地运行。

在多道程序设计系统中,操作系统可将多个作业存放在作业缓冲池中。在某一时刻,操作系统从缓冲池中挑选一个作业,并开始执行该作业。当执行中的作业因要等待用户键盘输入或等待其他设备I/O操作时,在单道程序设计中CPU就无事可干;在多道程序设计中,操作系统就可在缓冲池中挑选另一个作业,使其运行。当前一个作业结束了等待状态后就可再次获得CPU,继续运行下去。只要系统中总是存在可执行的作业,CPU就永远不会因无事可干而闲着。

这个思想很像一个厨师做菜。如果只有一个灶,那么在一段时间内他只能做一道菜,在热油或焖菜时厨师就无事可干。但厨师在一般情况下不只做一道菜,在他面前有好几个菜锅,当一些锅子里的菜正在焖或炖时,他就可以抽空炒某个锅里的菜,同时加热另一个锅里的油。只要有足够多的菜要做,厨师就不会闲着。

多道程序设计技术是相当复杂的。首先,为了支持多道程序设计,必须有足够大的内存以便同时容纳多个运行中的作业。假如内存不够,除了正在执行中的作业,其他作业就只能驻留在磁盘中,那么进行作业切换时,就要把内存中处于等待状态的作业调到外存去,再将外存中的作业调入内存执行,如此就会浪费很多的CPU时间。在内存中驻有多个作业就需要有比较复杂的存储管理和保护机构,同时还需要处理机调度机构,以决定在一些作业中选择哪一个占用CPU,使其运行。除此之外,多道程序系统又需要提供各种外部设备的调度和管理功能。多道程序设计是现代操作系统的主旋律。典型的多道程序设计的操作系统有IBM的任务数固定的OS/360MFT系统和任务数可变的OS/360MVT系统。1.3 现代操作系统类型

1.分时系统

在批处理系统中开发和调试比较困难,因为在程序的执行期间用户不能与作业进行交互,他们必须预先编制好控制命令来规定作业该做些什么及处理各种可能发生的事件。在运行多步骤作业时,后继作业步骤的执行可取决于前面作业步骤的结果,对所有可能出现的情况,要完整地定义做什么和怎么做是非常困难的。

批处理系统适合于执行与用户很少交互的大作业,在一个作业的运行期间用户不能根据程序的运行状态和中间结果来调试和修改程序。用户提交作业后,在作业的运行时间内也不必等待,在隔了一个预定时间后,只要去取运行结果就是了。如果运行中间出错,一切只得从头做起。

交互式作业一般是由很多较短的动作序列组合而成,下一个命令的执行往往取决于当前命令的执行结果,而这往往是很难预见的。用户提交了一个命令后,要等待它执行结束,以便处理后继的任务,因此系统的响应时间应当较短。

其实,早期的系统也是交互式系统,因为整个系统是在程序员或操作员的直接控制之下运行的,这个特点使程序员能灵活、自由地开发和调试程序。但这样安排使处理机要等待程序员或操作者的命令,导致CPU大量的空闲等待时间。由于早期计算机的成本非常高,浪费CPU时间是不能容忍的。批处理系统的开发就是为了避免这个问题,从而改进了系统的运行效率,但在另一方面也给用户调试和开发程序带来了极大的不便。

为了降低交互式系统的等待时间和运行时间的比率,系统通过多台终端同时向很多用户提供运行环境,这种分时系统就能以合理的成本向用户提供交互式使用计算机的方便。

操作系统使用多道程序设计技术来支持在一个计算机系统内运行多个用户的程序。每一个用户的程序都常驻在内存中,并按某一调度策略轮流运行。轮到某一用户程序运行时,它一次只能使用一段很少的时间,当分配给他的时间片用完或因等待I/O而不能继续运行下去时,就暂停该程序的运行,转而运行另一个用户的程序。当用户通过键盘命令与计算机交互时,即使输入的速度很快,但比起计算机来说还是极其缓慢的。计算机在所有用户之间快速切换,用户感觉不到需等待计算机要处理好别的用户的事务后才为自己服务。在分时系统中,用户觉得自己是在独自使用整个计算机系统。

由于同时有很多用户在使用计算机,当计算机刚处理好一个用户的输入后,就可利用等待用户做下一步动作的时间转而执行另一个用户的程序,这样CPU的空闲时间就减少了。即使大大减少了的等待时间也被众多的用户分担,从而降低了用户使用计算机的成本。

由于分时系统的突出优点,很多批处理的系统,如IBM/360,被修改成也能同时支持分时系统。一些设计为分时系统的计算机也保留批处理的功能,以便在使用系统的用户数不多或晚上时,高效地运行一些不需用户干预的大作业,这样就可充分利用系统资源。现在,大部分系统能同时支持批处理和分时。

分时系统具有以下几个基本特征。

① 多路性,一台主机可连接多台终端,多个终端用户可以同时使用计算机,共享系统的硬/软件资源。

② 独立性,各用户操作互不干扰,每个用户都认为整个计算机系统被他所独占,为他服务。

③ 交互性,用户能与系统进行对话。在一个多步骤作业的运行过程中,用户能通过键盘等设备输入数据或命令,系统获得用户的输入后做出响应,显示执行的状况或结果。

④ 及时性,系统一般能在一秒钟内接受和响应用户的输入命令或数据,在数秒内显示命令的执行结果。

比较著名的分时系统有CTSS和MULTICS。CTSS(Compatible Time Sharing System,兼容分时系统)是由美国麻省理工学院在1963年开发成功的最早的通用分时操作系统之一,其中一些关键的资源管理技术至今仍很有价值。MULTICS(MULTiplexed Information and Computing Service,多路信息和计算系统)是麻省理工学院、贝尔实验室和通用电气公司三家联合开发的分时系统。在该系统的管理中使用分页和分段的技术以及很多其他方面独特新颖的概念和思想,为现代操作系统的设计奠定了基础。

2.实时操作系统

实时操作系统是一种能在限定的时间内对输入进行快速处理并做出响应的计算机处理系统。根据对响应时间限定的严格程度,实时系统又可分为硬实时系统和软实时系统。

硬实时系统主要用于工业生产的过程控制、航天系统的跟踪和控制、武器的制导等。这类操作系统要求响应速度非常快,工作极其安全可靠,否则有可能造成灾难性的后果。在一些重要的控制系统中,为了进一步提高系统的可靠性,除一台计算机控制系统工作外,还需要有一套后备系统。后备系统又可分为热备份和冷备份两种。

热备份就是除了一台当前工作的主控计算机外,另有一台相同的计算机与主控机同步运行,两者之间还定时交换运行状态的信息。当主控机发生故障时,控制立即被切换到同步运行的后备机上,由该机接替原主控机继续运行,以保证系统的控制不会发生中断。热备份系统的操作系统设计也比较复杂。

对于如果中断一个较短时间的工作不会发生严重事故或造成重大经济损失的控制系统,可采用冷备份方案。当主控机发生故障时再启动备用机,由它将系统的控制权接管过来。

软实时系统主要应用于对响应的速度要求不像硬实时系统那么高,且时限要求不是很严密的信息查询和事务处理领域,如情报资料检索、订票系统、银行财务管理系统、信用卡记账取款系统和仓库管理系统等。这些系统的响应时间一般在几秒至十几秒内,一些跨城市或跨国家的联机查询系统响应时间更慢些。这类系统一般配有大型文件系统或数据库,涉及金融业的管理系统对系统的安全、可靠和保密等也提出了极高的要求。

3.微机操作系统

随着大规模和超大规模集成电路技术的飞速发展,面向个人使用的微型计算机得到了极大的发展和普及。早期的微机主要采用8位CPU及外围芯片,所谓的操作系统只不过是常驻在只读存储器ROM中的设备驱动程序。不久,驻在ROM中的操作系统功能由常驻在RAM中的程序模块来增强,主要的增强部分是文件管理系统。早期最著名的支持软盘的8位微机操作系统是1975年推出的CP/M(Control Program Monitor)。1981年,IBM推出的IBM-PC系列采用了Microsoft公司开发的MS-DOS 1.0版微机操作系统,CP/M操作系统就逐步被MS-DOS所取代。

微机操作系统基本上是单用户系统,所有资源采用独享方式,不支持批处理、多任务或多道程序设计技术。微机操作系统通常提供较强的文件管理功能,通过命令解释器支持用户以交互方式使用计算机。另外一种微机操作系统是作为实时控制用,主要通过并行口和数/模转换设备与外部系统联系,控制其工作。

微型计算机的另一条发展途径是构成更为复杂的系统——工作站。工作站尽管只能同时被单个用户使用,但支持多道程序设计,故其功能强得多。20世纪90年代的大多数工作站使用了32位微机处理器,其硬件速度一般比PC快。不少工作站(如Sun Workstation)使用速度更快的RISC(Reduced Instruction Set Computer)芯片,提供更多的内存和存储容量更大、速度更快的硬盘、较大的屏幕及高分辨率的显示器,以支持复杂的图像处理工作。

大部分工作站采用了分时操作系统UNIX。UNIX支持多道程序设计,提供大量的交互控制命令函数库、软件开发工具及窗口图形显示环境,并支持主要的网络协议。

近年来微机操作系统向多媒体方向发展。多媒体操作系统能实现对包括字符、图形、图像、影视、声音等多媒体数据和信息的压缩、存储、传输、处理和播放功能。尽管支持多媒体技术的操作系统功能很强、结构很复杂,但用户使用却更方便、直观,同时也能使感官获得美的享受。由于使用多媒体计算机就像使用傻瓜相机那样方便,这为微型计算机走进千家万户铺平了道路。

Windows是美国微软公司在20世纪80年代中期推出的新一代视窗操作系统,它向用户提供功能强大的图形式操作系统,为广大用户创造了生动活泼、丰富多彩的学习和应用环境。

Windows 95及随后的Windows 98是为了接替MS-DOS和Windows 3.x而开发的用于台式机和便携机上的多任务操作系统,尽管从用户界面方面看,它与Windows 3.x很相似,但内部的实现机制是完全不同的。Windows 9x安装方便,“即插即用”使硬件设备的安装变得前所未有的简单。它还具有更为直观易操作的工作方式,这极大地有利于系统的普及。Windows 9x在电话拨号、环球邮政、资源浏览和网络服务方面也提供了更好的支持。尽管Windows 9x不是建立在DOS之上,但仍提供了对DOS的向后兼容的虚拟机。

Windows NT推出时间比Windows 95早,是在微机上实现的能取代UNIX且通用、可移植、操作简便的操作系统。Windows NT采用了面向对象的开发技术和客户—服务器(C/S)模型,提供了现代操作系统的最新功能,对UNIX系统在网络服务中的统治地位构成了最有威胁的挑战。

Windows 2000是综合了Windows 98和Windows NT技术优势而开发的新一代操作系统。Windows 2003更易于部署、管理和应用,可用于构建从工作组到数据中心级别的IT基础架构。

Windows Server 2008是专为了强化下一代网络、应用程序和Web服务等功能而设计的服务器操作系统,Windows Hyper-V提供了全面的服务器虚拟化支持,可满足企业级的应用需求。

Windows 7采用了全新的内核设计,是一个更精简、更灵活、扩展性更好的系统,在64位计算、语音、数字墨水等方面进行了功能增强。

4.多处理机、分布式和网络操作系统(1)多处理机系统

由于受到电磁速度的限制,单纯靠提高硬件的方法来提高计算机系统的运算速度总是有限的。类似气象、地震预报、核聚变反应模拟等应用都对计算机的运算速度提出了更高的要求,一般要求达到每秒数百亿、数千亿甚至更高的速度,这就需要打破单处理机的系统体系结构,使得在一个计算机系统中可具有多个CPU或处理机。多处理机系统可大大提高系统运行的并行性,由此诞生了多处理机操作系统。

多处理机操作系统一般分为主从式和对称式。主从式操作系统主要驻留并运行在一台主处理机上,控制所有的系统资源,将整个任务分解成多个子任务,并将子任务分配给其他的从处理机执行,还要协调这些从处理机的运行过程。

对称式系统在每个处理机中都配有操作系统,管理和控制本地资源和过程的运行。该系统在一段时间内可以指定一台或几台处理机来执行管理程序,协调所有处理机的运行。

多处理机系统有很高的运算速度,用微处理器构成阵列系统,其运算速度可以达到上万亿次,相对以前的巨型机来说,成本又低得多,且可靠性强。当系统中某个处理机发生故障时,一般只影响系统的性能,且可以用备用的单元取代它,故不会造成系统的垮台。(2)分布式操作系统

在一般的计算机系统中,所有的计算或处理功能都由一台主机完成,具有封闭性。分布式系统是一种多计算机系统,这些计算机可以处于不同的地理位置和拥有不同的软硬件资源,并用通信线路连接起来,具有独立执行任务的能力。通常每台计算机没有完全独立的操作系统。分布式系统具有一个统一的操作系统,可以把一个大任务划分成很多可以并行执行的子任务,并按一定的调度策略将它们动态地分配给每个计算机执行,并控制管理每个计算机的资源分配、运行及计算机之间的通信,以协调任务的并行执行。以上所有的管理工作对用户都是透明的。

由于微型计算机的飞速发展,将一个大的计算任务分配到很多计算机上执行,比在一台巨型机上执行经济得多。分布式系统也便于实现文件、信息和设备的共享。(3)网络操作系统

计算机网络是指用数据通信系统把分散在不同地方的计算机群和各种计算机设备连接起来的集合,主要用于数据通信和资源共享,特别是软件和信息共享。随着信息时代的到来,人们对于区域内乃至世界范围内的信息传输和资源共享提出了越来越高的要求,计算机网络就是在这种情况下诞生和迅速发展起来的。

根据互联计算机之间的距离不同,计算机网络一般可分为覆盖范围为几千米至几十千米的局域网和覆盖范围为几百千米乃至世界范围内的广域网。与分布操作系统不同,网络操作系统不是一个集中、统一的操作系统,它基本上是在各种各样自治的计算机原有操作系统基础上加上具有各种网络访问功能的模块,这些模块使网络上的计算机能方便、有效地共享网络资源,实现各种通信服务的有关协议。

5.嵌入式操作系统和智能卡操作系统(1)嵌入式操作系统

嵌入式操作系统(Embedded Operating System)就是运行在嵌入式芯片环境中,对整个芯片以及它所操作和控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。嵌入式操作系统具有高可靠性、实时性、占有资源少和低成本等优点。

嵌入式操作系统通常配有对应的开发环境,用户可以利用嵌入式操作系统开发环境,设计符合各种应用要求的定制嵌入式操作系统。

嵌入式操作系统在工业监控、智能化家电、电子设备、智能仪器、现代化的轿车、通信系统和导航系统等领域中的应用非常广泛,嵌入式系统之间并还彼此通信,组成一个嵌入式系统网络。(2)智能卡操作系统

在日常生活中广泛使用了智能卡。智能卡实际上是一个单片微机系统,包括中央处理机、存储部件以及对外联络的通信接口。各类智能卡中都驻留了一个微型的操作系统,又称为片内操作系统(Chip Operating System,COS)。

一般而言,智能卡操作系统具有4个基本功能:资源管理、通信管理、安全管理和应用管理。智能卡进行具体处理时,读写器与智能卡之间通过“命令——响应对”方式进行通信和控制,即读写器发出操作命令,智能卡接收命令,操作系统对命令加以解释,完成命令的解密与校验,然后操作系统调用相应程序来进行数据处理,产生应答信息,加密后送给读写器。1.4 操作系统的概念、特征和功能

1.作业和进程(1)作业(job)

请求计算机完成的一个完整的处理任务称为作业,它可以包括几个程序的相继执行。用户在键盘上输入的一条完整的命令就是一个作业。一条命令可以同时调用几个程序,互相配合来完成一个复杂的任务。复杂的作业也可由作业说明书(如Shell命令程序)来描述。一个复杂的作业可由多个作业步组成,如编译、运行、打印一个程序的全部工作是一个作业,其中相对独立的每一部分称为作业步。(2)进程(process)

在多道程序环境下,一个程序的活动具有并发和动态的特征,一个程序活动与其他程序活动之间存在相互依赖和相互制约的关系。程序和程序之间的活动也不存在像封闭的系统中那样严格的一一对应关系,因此,程序这个静态概念已经不能确切地反映程序活动这种动态的特征。进程(process)是操作系统中最重要的概念之一,但迄今为止还没有比较统一的描述。某些系统将进程称为任务(task)。Dijkstra将进程定义为程序在处理机上执行时所发生的活动。本书目前对UNIX系统上的进程定义为程序在一个数据集合上的运行活动,它是系统进行资源分配和调度的一个可并发执行的独立单位。

进程和程序之间既有区别又有联系。进程是程序执行的动态活动,它是暂时地动态地产生和终止的,程序是进程运行的静态文本,可以长期保存。一个进程可以执行一个或多个程序,反之,同一个程序也可被多个进程同时执行。

2.操作系统的特征(1)并发(Concurrence)

并发是指在某一时间间隔内计算机系统内存在着多个程序活动。并发与并行是有区别的。并行是指在同一时刻计算机内有多个程序都在执行,这只有在多CPU的系统中才能实现。在单CPU的计算机系统中,多个程序是不可能同时执行的。并发是从宏观上(这种“宏观”也许不到一秒的时间)看多个程序的运行活动,这些程序在串行地、交错地运行,由操作系统负责这些程序之间的运行切换,人们从外部宏观上观察,有多个程序都在系统中运行。(2)共享(Sharing)

共享是指多个用户或程序共享系统的软、硬件资源。共享首先出于经济方面的考虑,因为向每一个用户分别提供所有的资源是非常浪费的。共享可以提高各种系统设备和系统软件的使用效率。在合作开发某一项目时,同组用户共享软件和数据库可以大大提高开发效率和速度。

共享方式可分为互斥共享和同时共享。互斥共享的设备有打印机、磁带机、绘图仪等,这些设备不允许两个作业同时访问,当一个作业使用完毕并释放了所占的资源后,才允许另一个作业访问。有些快速设备如磁盘,尽管也只能允许多个作业串行地访问,但由于作业访问和释放该资源时间极短,在宏观上可看成允许多个作业同时访问,这类设备的共享方式也认为是同时共享。

软件的共享方式也可分为互斥的和同时的。一般来说,只读的数据、数据结构、只读的文件和纯可执行的文件可同时共享,而可写数据、数据结构和文件只能互斥共享。(3)虚拟

操作系统向用户提供了比直接使用裸机简单方便得多的高级的抽象服务,从而为程序员隐藏了硬件操作复杂性,这就相当于在原先的物理计算机上覆盖了一至多层系统软件,将其改造成一台功能更强大而且易于使用的扩展机或虚拟机。例如,分时系统就是把一个计算机系统虚拟为多台逻辑上独立、功能相同的系统,SPOOLING系统可以将一台I/O设备虚拟为多台逻辑设备,或将一台互斥共享设备虚拟成同时共享设备。一条物理信道也可虚拟为具有很多“端口”的多个逻辑信道。(4)不确定性

不确定性是指使用同样一个数据集的同一个程序在同样的计算机环境下运行,每次执行的顺序和所需的时间都不相同。产生这种现象是由于多道程序环境下的操作系统内部的活动是极其复杂的,这些活动之间又有错综复杂的联系。系统内活跃作业数量的变化及它们之间复杂的联系、程序的输入/输出请求、从外部设备发出的中断等大量事件的发生时间都是不可预测的,外部设备的速度也存在细微的不确定的变化,因此作业就在不可预测的次序中前进,即程序的执行过程是不可预测的。

操作系统的不确定性不是指程序执行结果的不确定。程序执行结果不确定性的原因往往是由于程序设计本身的错误或由于用户的各程序之间的配合(同步、互斥)不当而引起的。由于这种结果的不确定又是在操作系统复杂的不确定性的环境下发生的,使得程序每次执行的情况不易复现,更增加了程序调试排错的困难。

从另一方面来说,操作系统是一个极其庞大、复杂的软件系统,也不会是十全十美的。在某些特殊情况下,一些较隐蔽的问题可能暴露出来,这种错误同样不易复现和难以测试。好比城市交通,由于受到很多不可预测的因素的影响,交通事故也是不可能复现的一样。一个大型的操作系统在经过测试和交付用户使用以后,还可能隐含有几百上千个潜在的缺陷(bug),操作系统的这种缺陷往往需要几年、十几年的维护时间来修复,并且很难彻底消除。

3.操作系统的功能(1)CPU管理

CPU是整个计算机系统中的核心硬件资源。CPU的性能和使用情况对整个计算机系统的性能有关键的影响。CPU是较为昂贵的资源,其速度一般比其他硬件设备的工作速度要快得多,其他设备的正常运行往往也离不开CPU。因此,有效管理CPU、充分利用CPU资源也是操作系统最重要的管理任务。

在多道程序的环境中,CPU分配的主要对象是进程(或线程),操作系统通过选择一个合适的进程占有CPU来实现对CPU的管理,因此,对CPU的管理归根结底就是对进程的管理。操作系统有关进程方面的管理任务很多,主要有进程调度、进程控制、进程同步与互斥、进程通信、死锁的检测与处理等。(2)存储管理

存储器可以说是一种最重要的系统资源,存储器对作业的重要程度就如同土地对于人类。一个作业要在CPU上运行,它的代码和数据就要全部或部分地驻在内存中。操作系统也要占据相当大的内存空间。在多道程序系统中,并发运行的程序都要占有自己的内存空间,因此内存空间总是一种紧张的系统资源。存储管理的任务是对要运行的作业分配内存空间,当一个作业运行结束时要收回其所占用的内存空间。为了使并发运行的作业相互之间不受干涉,不能有意或无意地存取自己作业空间之外的存储区,从而干扰、破坏其他作业的运行,操作系统要对每一个作业的内存空间和系统内存空间实施保护。

在现代的计算机系统中,并发运行的作业越来越多,单个作业也越来越大。尽管近年来计算机中的内存也在不断扩大,但是有限的内存还是不能满足系统中增长更快的并发作业对内存的需求。为了解决这个问题,让更多的作业在系统中并发运行,操作系统使用虚拟存储管理技术可向作业提供大于实际物理内存的存储空间。运行作业的一部分代码和数据可先装入内存,另一部分则驻在外存,当作业到达某个运行阶段需要访问这部分程序空间时,再将它们从外存调入内存。运行作业在内存部分和在外存部分的交换还要涉及地址变换技术。(3)设备管理

计算机系统的外围设备种类繁多、控制复杂、价格昂贵,相对CPU来说,运转速度又比较慢,如何提高CPU和设备的并行性,充分利用各种设备资源,便于用户和程序对设备的操作和控制,长期以来一直是操作系统要解决的主要任务。

计算机设备大致可分为字符块设备和字符设备两大类型。主机与字符块设备之间每次传输一个“块”大小的数据,块一般为512字节、1024字节、2048字节或4096字节等。主要的块设备有硬盘、软盘、磁带和光盘等。主机与字符设备之间每次传输一字节,常见的字符设备是终端、屏幕、打印机、绘图仪、串行口、并行口和通信口等。

为了提高CPU与设备运行的并行程度,CPU与设备进行数据传输时一般经过通道、控制器和中断进行。时钟是一种较为特殊的I/O设备,一般也把它归为字符设备。

设备管理的主要任务有设备的分配和回收、设备的控制和信息传输即设备驱动。由于系统要支持众多的各种各样的设备,而且各类设备的控制和信息传输操作差别极大,因此设备管理方面的系统代码在操作系统核心中占有相当大的部分。一般与各种设备密切相关的代码是由设备制造商或专门的软件生产商编制,以可装卸的形式植入操作系统的内核。

设备管理还涉及以下两部分:① 虚拟设备管理,将一些独占的物理设备改造成共享的逻辑设备,以提高设备使用率和程序执行速度,也可将一台物理设备虚拟成多台同类逻辑设备;② 缓冲管理,管理设备与CPU交换信息时所用到的缓冲,以解决CPU与I/O设备速度不匹配问题。(4)文件管理

文件是计算机中信息的主要存放形式,也是用户存放在计算机中最重要的资源或财富。文件管理的主要目的是将文件长期、有组织、有条理地存放在系统之中,并向用户和程序提供方便的建立、打开、关闭、撤销等存取接口,便于用户共享文件。文件管理的主要功能有文件存储空间的分配和回收、目录管理、文件的存取操作与控制、文件的安全与维护、文件逻辑地址与物理地址的映像、文件系统的安装、拆除和检查等。(5)用户接口

配置操作系统的很重要的目的就是为了方便用户使用计算机。操作系统内核通过系统调用向应用程序提供了很友好的接口,方便用户程序对文件和目录的操作,申请和释放内存,对各类设备进行I/O操作,以及对进程进行控制。此外,操作系统还提供了命令级的接口,向用户提供了几百条程序命令,使用户方便地与系统交互。这些程序有的通过系统调用或系统调用的组合完成更为复杂的功能,有的不必与系统的核心交互,它们都极大地丰富了操作系统的软件宝库,方便交互用户操作文件和设备,以及控制作业运行。

为了便于系统的维护、管理和便于用户利用命令界面自动地完成复杂的作业以及运行和控制任务,操作系统一般都提供作业运行控制或命令程序接口,典型的是UNIX的Shell程序。由于命令程序的基本执行单位是命令,故其一条语句所能完成的工作比若干条普通高级语言语句强得多。一些系统的自举过程主要是由命令程序完成的,这样也便于系统管理员通过修改这些程序来裁剪自己的系统配置。超级用户能利用命令文件自动地完成系统维护工作,普通用户也能利用命令文件进行软件设计与编制或进行大型软件系统的原型设计。

近年来图形用户界面发展得很快,如X Window、Windows 3.x、Windows NT、Windows 98、Windows 2000/XP/2003等,这种以图形和菜单作为主要的显示界面以及鼠标作为主要的输入方式受到了广大计算机用户的欢迎,并对计算机的普及起到了关键性的作用。1.5 UNIX操作系统概述

1.UNIX系统历史

UNIX诞生于世界最著名的研究机构之一——贝尔电话实验室。1965年,贝尔电话实验室、通用电气公司以及麻省理工学院的MAC课题组一起开发了一个称为Multics的操作系统,该系统的设计目的是要向庞大的社会团体提供多用户、多任务、交互式分时系统。由于Multics的系统设计要达到目标的野心过于庞大,所以直到1969年,虽然在GE65计算机上开始运行了,但远没有达到原先的开发目标。最后,一同参加设计的贝尔实验室的K.Thompson和D.M.Ritchie等退出了这一项目。

为了创建自己较好的开发环境,1969年,Thompson在PDP-7上着手设计了自己的系统,并于1970年实现了包括进程子系统和文件系统的早期版本。这个系统被命名为“UNIX”,这是针对Multics的反义语,表示新系统是它的简化。1971年,UNIX移植到PDP-11上。

早期的UNIX版本是用汇编语言写的,后来大部分代码用解释性的B语言重写。B语言写的UNIX操作系统运行效率较低。Ritchie开发了编译的C语言,并在1973年将UNIX系统大部分内核代码用C语言重新编写(V5版),这是一个用高级语言编写操作系统的第一次尝试。用高级语言编制操作系统开发速度快、易于改进和增强功能、可移植性好,这是UNIX能迅速流行的主要原因。

1975年发表的UNIX V6版是比较成熟的版本,贝尔实验室免费向美国各大学提供该版本,并开始广泛地配备于各大学的PDP-11系列计算机上。1977年,UNIX首次移植到非PDP类型的计算机上。1978年,V7发表。20世纪70年代末,AT&T引入了命名UNIX系统版本的新方法。1981年发表了S3(System III)。1983年发表了S4(System IV只在AT&T贝尔实验室内部使用,从未公开发表过)。20世纪90年代以后发表了系统V版本3,缩写为SVR3,不久又发表了SVR4。

后来贝尔实验室又开发了新一代版本UNIX第10版,该版本是作为研究用的,目前已广泛分发到各大学中,其中的革新部分将定期在系统V中实现。

除了贝尔实验室外,另一个使用比较广泛的UNIX版本是美国加州大学贝克利分校开发的BSD UNIX,该版本大量安装在SUN工作站上。1993年推出了4.4BSD版本。BSD是网络的主要平台,对DARPA的TCP/IP提供了支持,其中的网络文件系统(NFS)提供了与很多计算机机种的连接,NFS及AT&T开发的远程文件共享(RFS)使UNIX系统在网络支持方面保持领先地位。

SCO公司对UNIX稍做裁剪,开发了可装于微机上的SCO XENIX系统V版本。XENIX曾风云一时,目前它已与主干UNIX融合起来。

Solaris曾是使用最广泛、最成功的商业UNIX实现版本。Sun公司的操作系统最初叫做SunOS,主要基于BSD UNIX版本。从SunOS 5.0开始,基于与AT&T公司的合作,Sun公司对操作系统的开发转向了System V Release 4,并且给新操作系统起了一个新的名字,即Solaris 2.0。

自Solaris 2.6以后,Sun公司删除了操作系统版本号中的“2”,如此,SunOS 5.10被改名为Solaris l0,并且把“SunOS”一词专门用来描述Solaris操作系统的内核。在这样的命名体系下,可以认为,Solaris是由SunOS操作系统内核、图形化桌面计算环境以及网络增强模块等部分组成的一个UNIX操作系统的现代衍生版本。

1992年,基于UNIX SVR4的Solaris 2发布,其后支持第一款多处理机工作站、多线程技术和对称多处理机技术。1998年,Solaris 7采用64位技术,支持Java。2005年,Solaris l0虚拟化OE,增加DTrace等;6月,Solaris 10成为开源软件,更名为OpenSolaris。

随着UNIX在全球装机数量的迅猛增加及UNIX版本的不断涌现,各种版本之间存在的或多或少的差别影响到应用软件的移植性,因此

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载