书 名: 计算机操作系统(修订版)——新世纪计算机类本科系列教材
作 者: 汤子瀛、哲凤屏、汤小丹
出版社: 西安电子科技大学出版社
ISBN: 756060496X
出版时间: 2001-8第2版
印刷时间: 2006-3第17次印刷
内容概要
本教材介绍了计算机系统中的一个重要系统软件——操作系统(OS)。全书共分10章,第1章介绍OS的发展过程、基本特征、功能以及OS的结构设计;第2、3章详细地阐述了进程和线程的基本概念、同步与通信、调度与死锁;第4章介绍连续式、离散式存储器的管理方式及虚拟存储器;第5、6、7章分别介绍设备管理、文件管理和用户接口;第8章介绍了计算机网络系统、网络OS所提供的功能和服务,以及Internet和Intranet;第9章对保障系统安全的访问控制、认证、数据加密和防火墙四大技术作了较详细的阐述;第10章介绍了一个OS的实例——UNIX系统Ⅴ的内核结构。
本教材可作为计算机科学与工程和计算机应用专业本科生的教科书,也可作为从事计算机工作的科技人员学习OS的参考书。
目录
第一章 操作系统引论
1.1 操作系统的目标和作用
1.1.1 操作系统的目标
1.1.2 操作系统的作用
1.1.3 推动操作系统发展的主要动力
1.2 操作系统的发展过程
1.2.1 无操作系统的计算机系统
1.2.2 单道批处理系统
1.2.3 多道批处理系统
1.2.4 分时系统
1.2.5 实时系统
1.3 操作系统的基本特性
1.3.1 并发(Concurrence)
1.3.2 共享(Sharing)
1.3.3 虚拟(Virtual)
1.3.4 异步性(Asynchronism)
1.4 操作系统的主要功能
1.4.1 处理机管理功能
1.4.2 存储器管理功能
1.4.3 设备管理功能
1.4.4 文件管理功能
1.4.5 用户接口
1.5 操作系统的结构设计
1.5.1 软件工程的基本概念
1.5.2 传统的操作系统结构
1.5.3 微内核OS结构
习题
第二章 进程管理
2.1 进程的基本概念
2.1.1 程序的顺序执行及其特征
2.1.2 前趋图
2.1.3 程序的并发执行及其特征
2.1.4 进程的特征与状态
2.1.5 进程控制块
2.2 进程控制
2.2.1 进程的创建
2.2.2 进程的终止
2.2.3 进程的阻塞与唤醒
2.2.4 进程的挂起与激活
2.3 进程同步
2.3.1 进程同步的基本概念
2.3.2 信号量机制
2.3.3 信号量的应用
2.4 经典进程的同步问题
2.4.1 生产者—消费者问题
2.4.2 哲学家进餐问题
2.4.3 读者—写者问题
2.5 管程机制
2.5.1 管程的基本概念
2.5.2 利用管程解决生产者—消费者问题
2.6 进程通信
2.6.1 进程通信的类型
2.6.2 消息传递通信的实现方法
2.6.3 消息传递系统实现中的若干问题
2.6.4 消息缓冲队列通信机制
2.7 线程
2.7.1 线程的基本概念
2.7.2 线程间的同步和通信
2.7.3 内核支持线程和用户级线程
2.7.4 线程控制
习题
第三章 处理机调度与死锁
3.1 处理机调度的基本概念
3.1.1 高级、中级和低级调度
3.1.2 调度队列模型
3.1.3 选择调度方式和调度算法的若干准则
3.2 调度算法
3.2.1 先来先服务和短作业(进程)优先调度算法
3.2.2 高优先权优先调度算法
3.2.3 基于时间片的轮转调度算法
3.3 实时调度
3.3.1 实现实时调度的基本条件
3.3.2 实时调度算法的分类
3.3.3 常用的几种实时调度算法
3.4 多处理机系统中的调度
3.4.1 多处理器系统的类型
3.4.2 进程分配方式
3.4.3 进程(线程)调度方式
3.5 产生死锁的原因和必要条件
3.5.1 产生死锁的原因
3.5.2 产生死锁的必要条件
3.5.3 处理死锁的基本方法
3.6 预防死锁的方法
3.6.1 预防死锁
3.6.2 系统安全状态
3.6.3 利用银行家算法避免死锁
3.7 死锁的检测与解除
3.7.1 死锁的检测
3.7.2 死锁的解除
习题
第四章 存储器管理
4.1 程序的装入和链接
4.1.1 程序的装入
4.1.2 程序的链接
4.2 连续分配方式
4.2.1 单一连续分配
4.2.2 固定分区分配
4.2.3 动态分区分配
4.2.4 可重定位分区分配
4.2.5 对换(Swapping)
4.3 基本分页存储管理方式
4.3.1 页面与页表
4.3.2 地址变换机构
4.3.3 两级和多级页表
4.4 基本分段存储管理方式
4.4.1 分段存储管理方式的引入
4.4.2 分段系统的基本原理
4.4.3 信息共享
4.4.4 段页式存储管理方式
4.5 虚拟存储器的基本概念
4.5.1 虚拟存储器的引入
4.5.2 虚拟存储器的实现方法
4.5.3 虚拟存储器的特征
4.6 请求分页存储管理方式
4.6.1 请求分页中的硬件支持
4.6.2 内存分配策略和分配算法
4.6.3 调页策略
4.7 页面置换算法
4.7.1 最佳置换算法和先进先出置换算法
4.7.2 最近最久未使用LRU置换算法
4.7.3 Clock置换算法
4.7.4 其它置换算法
4.8 请求分段存储管理方式
4.8.1 请求分段中的硬件支持
4.8.2 分段的共享与保护
习题
第五章 设备管理
5.1 I/O系统
5.1.1 I/O设备
5.1.2 设备控制器
5.1.3 I/O通道
5.1.4 总线系统
5.2 I/O控制方式
5.2.1 程序I/O方式
5.2.2 中断驱动I/O控制方式
5.2.3 直接存储器访问DMAI/O控制方式
5.2.4 I/O通道控制方式
5.3 缓冲管理
5.3.1 缓冲的引入
5.3.2 单缓冲和双缓冲
5.3.3 循环缓冲
5.3.4 缓冲池(BufferPool)
5.4 设备分配
5.4.1 设备分配中的数据结构
5.4.2 设备分配时应考虑的因素
5.4.3 设备独立性
5.4.4 独占设备的分配程序
5.4.5 SPOOLing技术
5.5 设备处理
5.5.1 设备驱动程序的功能和特点
5.5.2 设备驱动程序的处理过程
5.5.3 中断处理程序的处理过程
5.6 磁盘存储器管理
5.6.1 磁盘性能简述
5.6.2 磁盘调度
5.6.3 磁盘高速缓存(DiskCache)
5.6.4 提高磁盘I/O速度的其它方法
5.6.5 廉价磁盘冗余阵列
习题
第六章 文件管理
6.1 文件和文件系统
6.1.1 文件、记录和数据项
6.1.2 文件类型和文件系统模型
6.1.3 文件操作
6.2 文件的逻辑结构
6.2.1 文件逻辑结构的类型
6.2.2 顺序文件
6.2.3 索引文件
6.2.4 索引顺序文件
6.2.5 直接文件和哈希文件
6.3 外存分配方式
6.3.1 连续分配
6.3.2 链接分配
6.3.3 索引分配
6.4 目录管理
6.4.1 文件控制块和索引结点
6.4.2 目录结构
6.4.3 目录查询技术
6.5 文件存储空间的管理
6.5.1 空闲表法和空闲链表法
6.5.2 位示图法
6.5.3 成组链接法
6.6 文件共享与文件保护
6.6.1 基于索引结点的共享方式
6.6.2 利用符号链实现文件共享
6.6.3 磁盘容错技术
6.7 数据一致性控制
6.7.1 事务
6.7.2 检查点
6.7.3 并发控制
6.7.4 重复数据的数据一致性问题
习题
第七章 操作系统接口
7.1 联机命令接口
7.1.1 联接命令的类型
7.1.2 键盘终端处理程序
7.1.3 命令解释程序
7.2 Shell命令语言
7.2.1 简单命令
7.2.2 重定向与管道命令
7.2.3 通信命令
7.2.4 后台命令
7.3 系统调用
7.3.1 系统调用的基本概念
7.3.2 系统调用的类型
7.3.3 系统调用的实现
7.4 UNIX系统调用
7.4.1 UNIX系统调用的类型
7.4.2 被中断进程的环境保护
7.4.3 系统调用陷入后需处理的若干公共问题
7.5 图形用户接口
7.5.1 桌面、图标和任务栏
7.5.2 窗口
7.5.3 对话框
习题
第八章 网络操作系统
8.1 计算机网络概述
8.1.1 计算机网络的拓扑结构
8.1.2 计算机广域网络
8.1.3 计算机局域网络
8.1.4 开放系统互连参考模型
8.2 客户/服务器模式
8.2.1 客户/服务器模式的形成及其优点
8.2.2 两层结构的客户/服务器模式
8.2.3 三层结构的客户/服务器模式的引入
8.2.4 两层C/S与三层C/S的比较
8.3 网络操作系统的功能
8.3.1 数据通信功能
8.3.2 资源共享功能
8.3.3 网络管理功能
8.3.4 应用互操作功能
8.4 网络操作系统提供的服务
8.4.1 电子邮件服务
8.4.2 文件传输服务
8.4.3 目录服务
8.5 支持Internet与Intranet的功能和服务
8.5.1 Internet简介
8.5.2 Internet提供的信息服务
8.5.3 Intranet及其特征
8.6 WindowsNT
8.6.1 WindowsNT的发展过程
8.6.2 WindowsNT的优良性能
8.6.3 网络文件/打印服务
8.6.4 目录服务
8.6.5 数据安全管理
习题
第九章 系统安全性
9.1 引言
9.1.1 系统安全性的内容和性质
9.1.2 对系统安全威胁的类型
9.1.3 对各类资源的威胁
9.1.4 信息技术安全评价公共准则
9.2 数据加密技术
9.2.1 数据加密的基本概念
9.2.2 对称加密算法与非对称加密算法
9.2.3 数字签名和数字证明书
9.2.4 网络加密技术
9.3 认证技术
9.3.1 基于口令的身份认证技术
9.3.2 基于物理标志的认证技术
9.3.3 基于公共密钥的认证技术
9.4 访问控制技术
9.4.1 访问矩阵(AccessMatrix)
9.4.2 访问矩阵的修改
9.4.3 访问控制矩阵的实现
9.5 防火墙技术
9.5.1 包过滤防火墙
9.5.2 代理服务技术
9.5.3 规则检查防火墙
习题
第十章 UNIX系统内核结构
10.1 UNIX系统概述
10.1.1 UNIX系统的发展史
10.1.2 UNIX系统的特征
10.1.3 UNIX系统的内核结构
10.2 进程的描述和控制
10.2.1 进程控制块PCB
10.2.2 进程状态与进程映像
10.2.3 进程控制
10.2.4 进程调度与切换
10.3 进程的同步与通信
10.3.1 sleep与wakeup同步机制
10.3.2 信号(signal)机制
10.3.3 管道机制
10.3.4 消息机制
10.3.5 共享存储区机制
10.3.6 信号量集机制
10.4 存储器管理
10.4.1 请求调页管理的数据结构
10.4.2 换页进程
10.4.3 请求调页
10.5 设备管理
10.5.1 字符设备缓冲区管理
10.5.2 块设备缓冲区管理
10.5.3 内核与驱动程序接口
10.5.4 磁盘驱动程序
10.5.5 磁盘读、写程序
10.6 文件管理
10.6.1 UNIX文件系统概述
10.6.2 文件的物理结构
10.6.3 索引结点的管理
10.6.4 空闲磁盘空间的管理
10.6.5 文件表的管理
10.6.6 目录管理
习题
参考文献
前言
再版前言
操作系统(OS)是最重要的计算机系统软件,同时也是最活跃的学科之一,其发展极为迅速。为使本教材内容能及时地紧跟时代潮流,从1981年至今,我们已对本教材做过多次修改。2000年我们又对1996年出版的《计算机操作系统》教材进行了重写。为了适当压缩篇幅,我们调整了该教材的结构,从原来的15章改为10章,即将原来的第2、3章合并为“进程的描述与控制”一章;原来的第5、6章合并为“存储器管理”一章;第8、9章合并为“文件管理”一章;第11、12章合并为“网络操作系统”一章;另外,还考虑到在大学低年级的实践中,学生已经学习过WindowsOS的使用,故本书将原第15章删掉。
我们在本教材中,介绍了许多在90年代引入或广泛使用的技术,如微内核OS结构、线程的控制与通信、数据一致性、系统容错技术等,又因为20世纪90年代是计算机网络特别是Internet大发展的年代,故我们对网络操作系统一章做了较大的修改。还应强调说明的是,随着网络的广泛应用,系统安全性问题提到了头等重要的地位。事实上,若不能确保系统(网络)的安全性,则系统(网络)是难以被人接受的,故在国内外的OS教科书中,大多增加了一章或几章内容用于介绍系统的安全性保障。我们在第9章中,对系统安全性做了较全面的阐述。
本次再版的《计算机操作系统》一书共分10章。第1章仍为OS引论,介绍OS的发展过程、基本特征和功能,新增加了OS的结构设计;第2、3章详细地阐述了进程和线程的基本概念、进程控制、同步与通信以及调度与死锁,增加了线程的控制、线程的同步与通信;第4章为存储管理,内容有连续分配、离散式分配存储管理方式和虚拟存储器;第5、6章分别为设备管理和文件管理;第7章介绍操作系统接口,其中,增加了UNIX系统的Shell语言和系统调用的实现方法;第8章为网络操作系统,扼要地介绍了计算机网络的基本概念、网络OS的工作模式、功能和提供的服务,以及Internet/Intranet;第9章对保障系统和网络安全的存取控制、认证、数据加密和防火墙四大技术,做了较详细的阐述;第10章介绍了当前广泛使用的OS实例——UNIX系统Ⅴ的内核结构。
本教材在编写过程中,得到了西安电子科技大学出版社的大力支持与合作。此外,汤蓓莉、王侃雅等同志在整理、校对、绘图等工作中,都付出了艰辛的劳动,使本教材能如期地与读者见面。在此谨向以上各位表示衷心感谢。
本教材虽经多次反复修改,突出了操作系统的基本概念,反映了当代操作系统的新技术,但限于编者水平,在本次编写的教材中,仍难免会有错误和不当之处,恳请读者批评指正。