基本信息出版社:电子工业出版社
页码:393 页
出版日期:2009年11月
ISBN:7121088584/9787121088582
条形码:9787121088582
版本:第2版
装帧:平装
开本:16
正文语种:中文
丛书名:普通高等教育“十一五”国家级规划教材,北京高等教育精品教材,高等学校计算机规划教材
内容简介 《操作系统(第2版)》是普通高等教育“十一五”国家级规划教材,北京高等教育精品教材。全书共分14章,分别介绍操作系统引论,进程和线程,死锁,调度,存储管理,文件系统,输入/输出管理,用户接口服务,嵌入式操作系统,分布式操作系统,安全性与保护机制,实例研究1:UNIX, 实例研究2:Linux和实例研究3:Windows 2000。附录分别给出实验指导、Linux常用系统调用、部分习题参考答案,并为教师免费提供电子教案。
《操作系统(第2版)》可作为大学本科及专科计算机专业教材或考研参考书,也可作为计算机工作者的自学用书。
编辑推荐 《操作系统(第2版)》:普通高等教育“十一五”国家级规划教材,北京高等教育精品教材,高等学校计算机规划教材
目录
第1章 操作系统引论
1.1 计算机硬件结构
1.1.1 处理器
1.1.2 存储器
1.1.3 I/O设备
1.1.4 总线
1.2 什么是操作系统
1.2.1 操作系统概念
1.2.2 操作系统的主要功能
1.2.3 操作系统的地位
1.3 操作系统的发展历程
1.3.1 操作系统的形成
1.3.2 操作系统的发展
1.3.3 推动操作系统发展的动力
1.4 操作系统的类型
1.4.1 批处理系统
1.4.2 分时系统
1.4.3 实时系统
1.4.4 网络操作系统
1.4.5 分布式操作系统
1.4.6 其他操作系统
1.5 操作系统的特征
1.6 操作系统结构设计
1.6.1 整体结构
1.6.2 层次结构
1.6.3 虚拟机结构
1.6.4 客户-服务器结构
1.7 本章小结
习题
第2章 进程和线程
2.1 进程概念
2.1.1 多道程序设计
2.1.2 进程概念
2.2 进程的状态和组成
2.2.1 进程的状态及其转换
2.2.2 进程描述
2.2.3 进程队列
2.3 进程管理
2.3.1 进程图
2.3.2 进程创建
2.3.3 进程终止
2.3.4 进程阻塞
2.3.5 进程唤醒
2.4 线程
2.4.1 线程概念
2.4.2 线程的实现
2.5 进程的同步和通信
2.5.1 进程的同步与互斥
2.5.2 临界资源和临界区
2.5.3 互斥实现方式
2.5.4 信号量
2.5.5 信号量的一般应用
2.6 经典进程同步问题
2.7 管程
2.8 进程通信
2.8.1 消息传递系统
2.8.2 客户-服务器系统中的通信
2.9 本章小结
习题
第3章 死锁
3.1 资源
3.1.1 资源使用模式
3.1.2 可剥夺资源与不可剥夺资源
3.2 死锁概念
3.2.1 什么是死锁
3.2.2 死锁的条件
3.2.3 资源分配图
3.2.4 处理死锁的方法
3.3 死锁的预防
3.3.1 破坏互斥条件
3.3.2 破坏占有且等待条件
3.3.3 破坏非抢占条件
3.3.4 破坏循环等待条件
3.4 死锁的避免
3.4.1 安全状态
3.4.2 资源分配图算法
3.4.3 银行家算法
3.5 死锁的检测和恢复
3.5.1 对单体资源类的死锁检测
3.5.2 对多体资源类的死锁检测
3.5.3 从死锁中恢复
3.5.4 “饥饿”状态
3.6 处理死锁的综合方式
3.7 本章小结
习题
第4章 调度
4.1 调度类型
4.2 作业调度
4.2.1 作业状态
4.2.2 作业控制块和作业调度的功能
4.3 进程调度
4.3.1 进程调度的功能
4.3.2 进程调度的时机
4.3.3 进程调度的基本方式
4.3.4 交互式系统中常用的调度算法
4.3.5 两级调度模型
4.4 调度准则
4.4.1 影响调度算法选择的主要因素
4.4.2 调度性能评价准则
4.5 调度算法
4.5.1 先来先服务法
4.5.2 短作业优先法
4.5.3 最短剩余时间优先法
4.5.4 优先级法
4.5.5 轮转法
4.5.6 多级队列法
4.5.7 多级反馈队列法
4.5.8 高响应比优先法
4.5.9 公平共享法
4.5.10 几种常用调度算法的 比较
4.6 线程调度
4.7 多处理器调度
4.7.1 多处理器系统的类型
4.7.2 多处理器调度方法
4.8 实时调度
4.8.1 实时任务类型
4.8.2 实时调度算法
4.9 UNIX/Linux进程调度
4.9.1 UNIX进程调度
4.9.2 Linux进程调度
4.10 中断处理
4.10.1 中断概述
4.10.2 中断的处理过程
4.10.3 中断优先级和多重中断
4.11 信号机制
4.11.1 信号机制概念
4.11.2 信号的分类、产生和传送
4.11.3 信号的处理方式
4.11.4 信号的检测和处理
4.12 本章小结
习题4
第5章 存储管理
5.1 引言
5.1.1 用户程序的地址空间
5.1.2 重定位
5.1.3 对换技术
5.2 分区法
5.2.1 固定分区法
5.2.2 动态分区法
5.2.3 可重定位分区分配
5.3 分页技术
5.3.1 分页存储管理的基本概念
5.3.2 分页系统中的地址映射
5.3.3 页面尺寸
5.3.4 硬件支持
5.3.5 保护方式
5.3.6 页表的构造
5.3.7 页面共享
5.4 分段技术
5.4.1 分段存储管理的基本概念
5.4.2 地址转换
5.4.3 段的共享和保护
5.5 段页式技术
5.5.1 段页式存储管理的基本原理
5.5.2 地址转换过程
5.6 虚拟存储器
5.6.1 虚拟存储器的概念
5.6.2 虚拟存储器的特征
5.7 请求分页技术
5.7.1 请求分页存储管理的基本思想
5.7.2 硬件支持及缺页处理
5.7.3 请求分页技术的性能
5.8 页面置换算法
5.8.1 页面置换
5.8.2 先进先出法
5.8.3 最佳置换法
5.8.4 最近最少使用置换法
5.8.5 第二次机会置换法
5.8.6 时钟置换法
5.8.7 最少使用置换法
5.8.8 页面缓冲算法
5.9 内存块的分配和抖动问题
5.9.1 内存块的分配
5.9.2 抖动问题
5.10 请求分段技术
5.10.1 请求分段存储管理的硬件支持
5.10.2 动态链接和链接中断处理
5.11 Linux系统的存储管理
5.11.1 Linux的多级页表结构
5.11.2 内存页的分配与释放
5.11.3 内存交换
5.12 本章小结
习题5
第6章 文件系统
6.1 概述
6.1.1 文件及其分类
6.1.2 文件命名
6.1.3 文件属性
6.1.4 文件存取方法
6.1.5 文件结构
6.2 文件系统的功能和结构
6.2.1 文件系统的功能
6.2.2 文件系统的结构
6.3 目录结构和目录查询
6.3.1 文件控制块和文件目录
6.3.2 单级目录结构
6.3.3 二级目录结构
6.3.4 树形目录结构
6.3.5 非循环图目录结构
6.3.6 目录查询方法
6.4 文件和目录操作
6.4.1 文件操作
6.4.2 目录操作
6.5 文件系统的实现
6.5.1 文件系统的格式
6.5.2 文件存储分配
6.5.3 空闲存储空间的管理
6.6 管道文件
6.7 文件系统的可靠性
6.7.1 磁盘坏块管理
6.7.2 后备
6.7.3 文件系统和一致性
6.8 本章小结
习题6
第7章 输入/输出管理
7.1 I/O管理概述
7.1.1 I/O设备分类和标识
7.1.2 I/O系统结构
7.1.3 设备控制器
7.1.4 I/O系统的控制方式
7.1.5 I/O管理的功能
7.2 设备分配
7.2.1 与设备分配相关的因素
7.2.2 设备分配技术
7.2.3 设备分配算法
7.2.4 SPOOLing系统
7.3 I/O软件层次
7.3.1 中断处理程序
7.3.2 设备驱动程序
7.3.3 与设备无关的操作系统I/O软件
7.3.4 用户级I/O软件
7.4 磁盘调度和管理
7.4.1 磁盘调度
7.4.2 磁盘管理
7.5 本章小结
习题7
第8章 用户接口服务
8.1 用户接口的发展
8.2 系统调用
8.2.1 系统调用和库函数
8.2.2 系统调用使用方式
8.2.3 系统调用的处理方式
8.3 命令行接口
8.3.1 命令的一般使用方式
8.3.2 命令解释程序
8.3.3 shell程序设计
8.4 图形用户界面
8.4.1 图形界面简介
8.4.2 X Window系统
8.5 本章小结
习题8
第9章 嵌入式操作系统
9.1 嵌入式系统概述
9.2 嵌入式操作系统概述
9.2.1 嵌入式软件系统的体系结构
9.2.2 嵌入式操作系统
9.3 实时内核及其实现
9.3.1 任务管理与调度
9.3.2 中断和时间管理
9.3.3 任务的同步和通信
9.3.4 内存管理
9.3.5 I/O管理
9.4 实例简介——?CLinux
9.5 本章小结
习题9
第10章 分布式操作系统
10.1 分布式系统概述
10.1.1 分布式系统特征
10.1.2 分布式系统的优点
10.2 分布式操作系统概述
10.2.1 分布式操作系统简介
10.2.2 4种多机系统的比较
10.2.3 分布式系统的设计目标
10.3 分布式系统的实现
10.3.1 通信问题
10.3.2 进程管理
10.3.3 死锁问题
10.3.4 文件系统
10.3.5 中间件
10.4 本章小结
习题10
第11章 安全性与保护机制
11.1 安全性概述
11.1.1 信息安全问题
11.1.2 安全环境
11.2 常见的安全性攻击
11.2.1 常见的攻击点
11.2.2 网络威胁
11.2.3 计算机病毒
11.3 一般性安全机制
11.3.1 安全措施
11.3.2 一般性安全机制
11.4 保护机制
11.4.1 保护域
11.4.2 存取控制表
11.4.3 权力
11.4.4 可信系统
11.4.5 安全性能评测标准
11.5 本章小结
习题11
第12章 实例研究1:UNIX
12.1 UNIX历史简介
12.2 UNIX核心结构
12.3 进程管理
12.3.1 进程及其映像
12.3.2 UNIX进程管理
12.3.3 线程管理中的系统调用
12.3.4 进程调度
12.4 文件系统
12.4.1 UNIX文件系统结构
12.4.2 文件的打开与关闭
12.4.3 主要数据结构之间的联系
12.4.4 管道文件
12.5 存储管理
12.5.1 进程的数据结构
12.5.2 对换
12.5.3 请求分页
12.6 I/O管理
12.6.1 UNIX系统的缓冲技术
12.6.2 块设备管理
12.6.3 字符设备管理
12.7 本章小结
第13章 实例研究2:Linux
13.1 Linux系统的特点
13.2 Linux体系结构
13.3 进程管理
13.3.1 进程状态及运行模式
13.3.2 进程的结构
13.3.3 进程的操作
13.3.4 进程的调度
13.4 文件系统
13.4.1 虚拟文件系统
13.4.2 ext2文件系统
13.4.3 管道文件
13.5 I/O管理
13.5.1 设备管理概述
13.5.2 设备驱动程序和内核之间的接口
13.6 网络系统
13.6.1 socket
13.6.2 网络分层结构
13.7 本章小结
第14章 实例研究3:Windows 2000
14.1 Windows 2000的历史和设计原则
14.1.1 Windows 2000的历史
14.1.2 Windows 2000的设计原则
14.2 Windows 2000体系结构
14.2.1 硬件抽象层
14.2.2 内核
14.2.3 执行体
14.3 环境子系统
14.4 虚拟存储管理
14.4.1 进程的虚拟地址空间
14.4.2 虚拟分页地址转换机构
14.5 本章小结
附录A 实验指导
实验一 进程同步和互斥
实验二 进程及其资源管理
实验三 存储管理
实验四 页面置换算法
实验五 进程调度
实验六 银行家算法
实验七 磁盘调度算法
实验八 设备处理程序设计
实验九 文件系统
附录B Linux常用系统调用
B.1 有关文件操作的系统调用
B.2 有关进程控制的系统调用
B.3 有关进程通信的函数
B.4 有关内存管理的函数
附录C 部分习题参考答案
第1章
第2章
第3章
第4章
第5章
第6章
第7章
第8章
第9章
第10章
第11章
……
序言 “操作系统”课程是计算机科学与技术及相关专业的必修专业基础课。前一版《操作系统》教材是2002年北京市高等教育精品教材建设重点项目之一,2004年由电子工业出版社出版,2006年评为北京高等教育精品教材。
本书是普通高等教育“十一五”国家级规划教材,在前一版《操作系统》的基础上认真修订而成。在修订时,我们一方面总结教学中的经验和体会,归纳了众多师生的反馈意见,学习了兄弟院校的教学大纲和教学经验;另一方面,分析了国内外操作系统理论、技术和应用的快速发展的现状,了解了各部门、行业对软件人员包括毕业生的需求情况。与前一版相比,本书进行了一系列重大修改,有删有增。主要修改包括以下几方面:
1将前一版第8章“中断和信号机制”改为“用户接口服务”,讲述一般操作系统中为用户提供的三种接口的管理方式及其应用。将中断和信号机制的内容并入第4章。
2将前一版第9章“网络操作系统”改为“嵌入式操作系统”,以适应当代信息技术广泛应用的潮流。
3对前一版的第10、12、13和14各章进行适当压缩,以缩减篇幅。
4在附录A中提供实验指导,以加强学生的实践能力;在附录B中给出Linux常用系统调用,供上机编程时参考。
全书共分14章:
第1章概述操作系统的定义、功能、特征、发展历程和结构;
第2章至第8章分别讲述进程和线程管理、死锁、调度、存储管理、文件系统、输入/输出管理和用户接口服务;
第9章介绍嵌入式操作系统;
第10章讲述分布式操作系统;
第11章讲述系统的安全性与保护机制;
第12章至第14章分别介绍UNIX, Linux和Windows 2000三个常用操作系统的实现技术。
三个附录分别给出实验指导、Linux常用系统调用、部分习题参考答案,并为教师提供电子教案。任课老师可登录华信教育资源网http://www.huaxin.edu.cn免费注册下载。
由于各学校课程设置、学时安排及学生程度等方面存在差异,所以在应用本教材授课时,可以对内容酌情进行取舍。如果课时较充分如70个学时左右,可以讲授全部内容。如果课时较少如50个学时左右,可对各章内容重点讲解,突出基本内容,对于较深入的算法和具体实现可以略讲或不讲,由学生自学。本书附录C中给出了各章的部分习题涉及重点、难点问题的参考答案,其出发点是为了便于自学自测,提高教学效果。请读者正确使用这部分内容,自觉主动地学习,避免对它的依赖性。
本书可作为大学本科及专科计算机软件和计算机应用专业学生的教科书或考研参考书,以及计算机工作者的自学用书。
本书主要由孟庆昌、牛欣源编写,参加编写、整理、录入工作的还有刘振英、孟欣、肖林、袁薇、孟平等。
由于编者水平有限,时间又很紧,对广大读者的需求尚缺乏广泛深入的了解,书中难免存在不妥甚至错误之处,恳请广大读者批评指正,并及时反馈用书信息。
文摘 插图:

为选中的作业分配内存和外设等资源。
④为选中的作业建立相应的进程,并把该进程放入就绪队列中。何时创建新进程一般由多道程序决定,因为创建的进程越多,每个进程占用CPU的百分比就越小。为了给当前的一组进程提供良好的服务,作业调度程序要限制多道程序度。
⑤作业结束后进行善后处理工作,如输出必要的信息,收回该作业所占用的全部资源,撤销与该作业相关的全部进程和该作业的JCB。
实际上,内存和外设的分配与释放分别由存储管理程序和设备管理程序完成,通过作业调度程序调用它们来实现。
作业概念主要用于批处理系统,这类系统的设计目标是最大限度地发挥各种资源的利用率和保持系统内各种活动的充分并行。用户不能直接和系统交互作用,他们要把用某种高级语言或汇编语言编写的源程序和数据穿成卡片,或者存放在磁带上,然后把它们连同操作说明书(控制卡或作业说明书)一起交给操作员。用户提交的作业进入系统后,由系统根据操作说明书来控制作业的运行。这种技术虽然依据优先级做出响应,但基本目标是最大限度减少因大量作业并行、交叉使用硬件所带来的开销。这种多道程序技术的成功取决于选择且对资源需求不同的作业进行合理搭配。为使系统中各部分资源得到均衡使用,应做到处于并行状态的作业是不同类别的作业。