1、新世纪计算机类本科规划教材 部级优秀教材 计算机操作系统(第 三 版)汤小丹 梁红兵 哲凤屏 汤子瀛 西安电子科技大学出版社 2 0 0 7 编著 内 容 简 介 本书全面介绍了计算机系统中的一个重要软件操作系统(OS),本书是第三版,对 2001 年出版的修订版的各章内容均作了较多的修改,基本上能反映当前操作系统发展的现状,但章节名称基本保持不变。全书仍分为 10 章,第一章介绍了 OS 的发展、特征、功能以及 OS 结构;第二、三章深入地阐述了进程和线程的基本概念、同步与通信、调度与死锁;第四章对连续和离散存储器管理方式及虚拟存储器进行了介绍;第五章为设备管理,对 I/O 软件的层次结构作
2、了较深入的阐述;第六、七章分别是文件管理和用户接口;第八章介绍了计算机网络、网络体系结构、网络提供的功能和服务以及 Internet;第九章对保障系统安全的各种技术和计算机病毒都作了较详细的介绍;第十章是一个典型的 OS 实例UNIX 系统内核 结构。本书可作为计算机硬件和软件以及计算机通信专业的本科生教材,也可作为从事计算机及通信工作的相关科技人员的参考书。图书在版编目(CIP)数据 计算机操作系统汤小丹等编著.3 版.西安:西安电子科技大学出版社,2007.5 新世纪计算机类本科规划教材 ISBN 978 7 5606 0496 1.计 .汤 .操作系统高等学校教材 .TP316 中国版本
3、图书馆 CIP 数据核字(2007)第 039199 号 责任编辑 李惠萍 出版发行 西安电子科技大学出版社(西安市太白南路 2 号)电 话 (029)88242885 88201467 邮 编 710071 http:/ E-mail: 经 销 新华书店 印刷单位 西安文化彩印厂 版 次 1996 年 12 月第 1 版 2001 年 8 月第 2 版 2007 年 5 月第 3 版 2007 年 5 月第 21 次印刷 开 本 787 毫米1092 毫米 1/16 印张 25.25 字 数 598 千字 印 数 166 001170 000 册 定 价 30.00 元 ISBN 978 7
4、 5606 0496 1TP0232 XDUP 0766A13-21*如有印装问题可调换*本社图书封面为激光防伪覆膜,谨防盗版。第 三 版 前 言 本书从 1996 年出版至今,这是第二次修订(2001 年修订过一次)。在本次修订中,仍将全书分为 10 章,虽然每章的标题没有改变,但却增、删或更新了其中的一部分内容,使其能更好地反映操作系统的发展现状和前沿技术。本书 10 章内容的具体安排如下:第一章为操作系统引论,介绍了 OS 的发展、特征、功能等。在 OS 的发展中增加了微处理机的发展,对 OS 结构设计的内容进行了更新,篇幅也有较大的扩充。第二章深入地阐述了进程和线程的基本概念以及同步与
5、通信,对进程的内容进行了适当增添,对管程以及线程的内容进行了较大的更新。第三章为处理机调度与死锁,对其中的作业调度、进程调度以及实时调度的内容都有一定的增加和修改。由于篇幅的限制,删除了多处理机调度的内容。第四章对连续和离散存储器管理方式及虚拟存储器进行了介绍,对其中的分配算法方面的内容有一定的增加和修改,并增添了对存储器的层次结构的介绍。第五章为设备管理,对 I/O 软件的层次结构作了较深入的阐述。第六章是文件管理,对其中的外存分配方式以及磁盘容错技术等内容进行了更新和扩充。第七章是用户与操作系统的接口,对接口方式以及系统调用等部分内容进行了较大的更新及修改。第八章为网络操作系统,在本章中我
6、们对各节都作了修改,并增加了许多内容,使其能反映 21 世纪网络在硬件和软件方面的发展现状。同样是因为篇幅的限制而删除了 Windows NT 的内容。第九章较详细地介绍了保障系统安全的各种技术。由于近年来计算机病毒已严重地威胁到系统的安全,故我们特增加了一节,对计算机病毒作了较全面的介绍。第十章是一个典型的 OS 实例UNIX系统内核结构。在本书的编写过程中,得到了西安电子科技大学出版社,特别是责任编辑李惠萍老师的大力支持与合作。此外,王侃雅和汤蓓莉等同志在校对、整理等工作中,都付出了辛勤的劳动。在此谨向以上各位表以衷心的感谢。虽然本书经过了反复修改,我们也希望能把它写得更好,但限于编者的水
7、平,书中仍难免会有错误和不当之处,恳请读者批评指正。编 者 2007 年 2 月 第 二 版 前 言 操作系统(OS)是最重要的计算机系统软件,同时也是最活跃的学科之一,其发展极为迅速。为使本教材内容能紧跟时代潮流,从 1981 年至今,我们已对本教材做过多次修改。2000 年我们又对 1996 年出版的计算机操作系统教材进行了重写。为了适当压缩篇幅,我们调整了该教材的结构,从原来的 15 章改为 10 章。即将原来的第二、三章合并为“进程管理”一章;原来的第五、六章合并为“存储器管理”一章;第八、九章合并为“文件管理”一章;第十一、十二章合并为“网络操作系统”一章。另外,考虑到在大学低年级的
8、教学实践中,学生已经学习过 Windows OS 的使用,故本次修订时删去了原版第十五章。我们在本教材中,介绍了许多在 20 世纪 90 年代引入或广泛使用的技术,如微内核 OS结构、线程的控制与通信、数据一致性、系统容错技术等,又因为 20 世纪 90 年代是计算机网络特别是 Internet 大发展的年代,故我们对网络操作系统一章做了较大的修改。还应强调说明的是,随着网络的广泛应用,系统安全性问题提到了头等重要的地位。事实上,若不能确保系统(网络)的安全性,则系统(网络)是难以被人接受的。故在国内外的 OS 教科书中,大多都增加了一章或几章内容用于介绍系统的安全性保障。我们在第九章中对系统
9、安全性做了较全面的阐述。本次再版的计算机操作系统一书共分 10 章。第一章仍为操作系统引论,介绍 OS的发展过程、基本特征和功能,新增加了 OS 的结构设计;第二、三章详细地阐述了进程和线程的基本概念、进程控制、同步与通信以及调度与死锁,增加了线程的控制、线程的同步与通信;第四章为存储器管理,内容有连续分配、离散式分配存储管理方式和虚拟存储器;第五、六章分别为设备管理和文件管理;第七章介绍操作系统接口,其中,增加了UNIX 系统的 Shell 语言和系统调用的实现方法;第八章为网络操作系统,扼要地介绍了计算机网络的基本概念,网络 OS 的工作模式、功能和提供的服务,以及 Internet/In
10、tranet;第九章对保障系统和网络安全的存取控制、认证、数据加密和防火墙四大技术做了较详细的阐述;第十章介绍了当前广泛使用的 OS 实例UNIX 系统内核结构。本教材在编写过程中,得到了西安电子科技大学出版社的大力支持与合作。此外,汤蓓莉、王侃雅等同志在整理、校对、绘图等工作中,都付出了艰辛的劳动,使本教材能如期地与读者见面。在此谨向以上各位表示衷心感谢。本教材虽经多次修改,突出了操作系统的基本概念,反映了当代操作系统的新技术,但限于编者水平,在本次编写的教材中,仍难免会有错误和不当之处,恳请读者批评指正。编 者 2000 年 12 月 1 目 录 第一章 操作系统引论 1.1 操作系统的目
11、标和作用.1 1.1.1 操作系统的目标.1 1.1.2 操作系统的作用.2 1.1.3 推动操作系统发展的主要动力.4 1.2 操作系统的发展过程.5 1.2.1 无操作系统的计算机系统.5 1.2.2 单道批处理系统.6 1.2.3 多道批处理系统.7 1.2.4 分时系统.9 1.2.5 实时系统.11 1.2.6 微机操作系统的发展.12 1.3 操作系统的基本特性.14 1.3.1 并发性.14 1.3.2 共享性.15 1.3.3 虚拟技术.16 1.3.4 异步性.17 1.4 操作系统的主要功能.18 1.4.1 处理机管理功能.18 1.4.2 存储器管理功能.19 1.4.
12、3 设备管理功能.21 1.4.4 文件管理功能.21 1.4.5 操作系统与用户之间的接口.22 1.5 OS 结构设计.24 1.5.1 传统的操作系统结构.24 1.5.2 客户/服务器模式.26 1.5.3 面向对象的程序设计.27 1.5.4 微内核 OS 结构.29 习题.33 第二章 进 程 管 理 2.1 进程的基本概念.34 2.1.1 程序的顺序执行及其特征.34 2.1.2 前趋图.35 2.1.3 程序的并发执行及其特征.36 2.1.4 进程的特征与状态.37 2.1.5 进程控制块.41 2.2 进程控制.43 2.2.1 进程的创建.43 2.2.2 进程的终止.
13、45 2.2.3 进程的阻塞与唤醒.46 2.2.4 进程的挂起与激活.47 2.3 进程同步.47 2.3.1 进程同步的基本概念.47 2.3.2 信号量机制.50 2.3.3 信号量的应用.53 2.3.4 管程机制.55 2.4 经典进程的同步问题.58 2.4.1 生产者消费者问题.58 2.4.2 哲学家进餐问题.61 2.4.3 读者写者问题.63 2.5 进程通信.65 2.5.1 进程通信的类型.65 2.5.2 消息传递通信的实现方法.66 2.5.3 消息传递系统实现中的若干问题.68 2.5.4 消息缓冲队列通信机制.69 2.6 线程.71 2.6.1 线程的基本概念
14、.72 2.6.2 线程间的同步和通信.75 2.6.3 线程的实现方式.77 2.6.4 线程的实现.78 习题.81 2 第三章 处理机调度与死锁 3.1 处理机调度的层次.84 3.1.1 高级调度.84 3.1.2 低级调度.86 3.1.3 中级调度.87 3.2 调度队列模型和调度准则.88 3.2.1 调度队列模型.88 3.2.2 选择调度方式和调度算法的若干 准则.90 3.3 调度算法.91 3.3.1 先来先服务和短作业(进程)优先 调度算法.91 3.3.2 高优先权优先调度算法.93 3.3.3 基于时间片的轮转调度算法.95 3.4 实时调度.97 3.4.1 实现
15、实时调度的基本条件.97 3.4.2 实时调度算法的分类.99 3.4.3 常用的几种实时调度算法.100 3.5 产生死锁的原因和必要条件.103 3.5.1 产生死锁的原因.103 3.5.2 产生死锁的必要条件.105 3.5.3 处理死锁的基本方法.105 3.6 预防死锁的方法.106 3.6.1 预防死锁.106 3.6.2 系统安全状态.107 3.6.3 利用银行家算法避免死锁.108 3.7 死锁的检测与解除.111 3.7.1 死锁的检测.111 3.7.2 死锁的解除.113 习题.114 第四章 存 储 器 管 理 4.1 存储器的层次结构.116 4.1.1 多级存储
16、器结构.116 4.1.2 主存储器与寄存器.117 4.1.3 高速缓存和磁盘缓存.117 4.2 程序的装入和链接.118 4.2.1 程序的装入.118 4.2.2 程序的链接.120 4.3 连续分配方式.121 4.3.1 单一连续分配.121 4.3.2 固定分区分配.122 4.3.3 动态分区分配.123 4.3.4 伙伴系统.126 4.3.5 哈希算法.126 4.3.6 可重定位分区分配.127 4.3.7 对换.129 4.4 基本分页存储管理方式.130 4.4.1 页面与页表.130 4.4.2 地址变换机构.131 4.4.3 两级和多级页表.133 4.5 基本分段存储管理方式.135 4.5.1 分段存储管理方式的引入.135 4.5.2 分段系统的基本原理.136 4.5.3 信息共享.138 4.5.4 段页式存储管理方式.140 4.6 虚拟存储器的基本概念.141 4.6.1 虚拟存储器的引入.142 4.6.2 虚拟存储器的实现方法.143 4.6.3 虚拟存储器的特征.144 4.7 请求分页存储管理方式.144 4.7.1 请求分页中的硬