操作系统教程 / 计算机类本科规划教材
¥36.00定价
作者: 屠立忠
出版时间:2013-08
出版社:电子工业出版社
- 电子工业出版社
- 9787121205095
- 1-1
- 175299
- 47151167-5
- 平装
- 16开
- 2013-08
- 410
- 256
- 工学
- 软件工程
- TP316
- 编译与操作系统
- 本科
内容简介
操作系统是管理和控制计算机硬件与软件资源的计算机程序,是计算机系统的核心系统软件。操作系统课程是计算机类专业的核心课程和必修课程,操作系统的原理、相关管理技术和调度策略是计算机应用系统开发专业人员必须掌握的专业知识。
屠立忠、徐金宝主编的《操作系统教程》共分6章,第1章为操作系统概论,第2章~第5章分别介绍操作系统中处理器管理及并发进程、存储管理、设备管理和文件管理等内容,第6章介绍Windows和Linux操作系统。为方便读者学习,每章末尾均附有小结和习题。附录部分是验证和重现操作系统基本理论的实验和课程设计项目,供读者选用。
《操作系统教程》面向应用型本科学生,原理和理论叙述简单明了,实例分析联系实际,全书内容易于理解和掌握。本书可作为计算机类应用型本科专业操作系统相关课程的教材或参考书,也可作为从事操作系统原理研究与系统开发的工程技术人员的参考用书。
屠立忠、徐金宝主编的《操作系统教程》共分6章,第1章为操作系统概论,第2章~第5章分别介绍操作系统中处理器管理及并发进程、存储管理、设备管理和文件管理等内容,第6章介绍Windows和Linux操作系统。为方便读者学习,每章末尾均附有小结和习题。附录部分是验证和重现操作系统基本理论的实验和课程设计项目,供读者选用。
《操作系统教程》面向应用型本科学生,原理和理论叙述简单明了,实例分析联系实际,全书内容易于理解和掌握。本书可作为计算机类应用型本科专业操作系统相关课程的教材或参考书,也可作为从事操作系统原理研究与系统开发的工程技术人员的参考用书。
目录
第1章 操作系统概论 1
1.1 操作系统的概念 1
1.1.1 操作系统的定义和目标 1
1.1.2 操作系统的形成和发展 2
1.1.3 操作系统的主要特性 5
1.2 操作系统的功能 6
1.2.1 处理器管理 6
1.2.2 存储管理 6
1.2.3 设备管理 7
1.2.4 文件管理 8
1.3 操作系统的接口 8
1.3.1 操作接口和操作命令 9
1.3.2 程序接口与系统调用 9
1.4 操作系统的结构 10
1.4.1 整体式结构 10
1.4.2 层次式结构 11
1.4.3 客户/服务器结构 11
1.4.4 虚拟机结构 11
1.5 流行操作系统简介 12
1.5.1 Windows操作系统 12
1.5.2 UNIX操作系统 13
1.5.3 Linux操作系统 13
1.5.4 iOS操作系统 13
1.5.5 Android操作系统 15
本章小结 15
习题 16
第2章 处理器管理及并发进程 17
2.1 多道程序设计 17
2.1.1 程序的顺序执行 17
2.1.2 程序的并发执行 18
2.1.3 多道程序设计 18
2.1.4 并发程序执行的条件 19
2.2 进程 20
2.2.1 进程的定义及其属性 20
2.2.2 进程的状态及其转换 21
2.2.3 进程控制块 23
2.2.4 进程队列 24
2.3 进程的控制 25
2.3.1 操作系统内核 25
2.3.2 原语 26
2.3.3 进程控制原语 26
2.4 进程调度 28
2.4.1 进程调度简介 28
2.4.2 进程调度的算法 28
2.5 线程及其实现 32
2.5.1 为什么要引入多线程概念 33
2.5.2 多线程环境下的进程和线程 33
2.5.3 多线程的优点及其应用 35
2.5.4 多线程实现的三种方式 36
2.5.5 Java环境下多线程设计举例 37
2.6 并发进程的概念 38
2.6.1 相关进程及其关系 38
2.6.2 与时间有关的错误 39
2.6.3 临界区概念及其管理要求 41
2.6.4 临界区管理的尝试 42
2.6.5 信号量与PV操作 46
2.7 进程的互斥和同步 47
2.7.1 进程的互斥 47
2.7.2 进程的同步 50
2.7.3 进程互斥和同步的关系 59
2.8 管程 60
2.8.1 管程的概念 60
2.8.2 管程的特点及其组成 61
2.8.3 汉森(Brinch Hansen)方法实现管程 62
2.8.4 汉森方法实现管程的实例 63
2.9 进程通信 66
2.9.1 消息传递概述 66
2.9.2 消息传递的两种方式 67
2.9.3 消息传递应用举例 69
2.9.4 信号量机制、管程和消息传递机制的关系 70
2.10 死锁 70
2.10.1 死锁的定义与产生的原因 70
2.10.2 死锁的防止 72
2.10.3 死锁的避免与银行家算法 73
2.10.4 死锁的检测与解除 77
本章小结 78
习题2 79
第3章 存储管理 81
3.1 存储系统的基本概念 81
3.1.1 存储器的分类 81
3.1.2 物理地址和逻辑地址 81
3.1.3 地址重定位和存储保护 82
3.2 存储管理的基本概念 82
3.2.1 存储管理的功能 82
3.2.2 内存扩充技术 83
3.2.3 存储管理的分类 84
3.3 分区存储管理 85
3.3.1 单一连续区 86
3.3.2 固定分区存储管理 86
3.3.3 可变分区存储管理 88
3.4 简单分页存储管理 94
3.4.1 基本原理 94
3.4.2 地址转换 95
3.4.3 相联存储器和快表 97
3.4.4 页的分配与回收 97
3.4.5 页的共享和保护 98
3.4.6 两级和多级页表 98
3.5 简单分段存储管理 100
3.5.1 基本原理 100
3.5.2 地址转换 101
3.5.3 段的共享 102
3.5.4 分段存储管理的优点 103
3.6 虚拟存储管理 104
3.7 请求分页虚拟存储管理 105
3.7.1 基本原理 105
3.7.2 主存页面分配策略 106
3.7.3 页面调入策略 107
3.7.4 页面置换算法 107
3.7.5 缺页中断率分析 109
3.8 请求分段虚拟存储管理 111
3.8.1 基本原理 111
3.8.2 地址转换 112
3.8.3 段的动态链接 112
3.8.4 段的动态增长 113
3.9 请求段页式虚拟存储管理 113
本章小结 113
习题3 113
第4章 设备管理 116
4.1 设备管理概述 116
4.1.1 设备管理的任务与目标 116
4.1.2 设备管理的功能 117
4.1.3 外部设备的分类 117
4.2 设备I/O控制方式 119
4.2.1 程序查询方式 119
4.2.2 中断方式 120
4.2.3 DMA(直接内存存取)方式 120
4.2.4 I/O通道控制方式 121
4.3 设备I/O软件原理 123
4.3.1 I/O软件的目标 124
4.3.2 I/O中断处理程序 124
4.3.3 设备驱动程序 125
4.3.4 与设备无关的I/O软件 125
4.3.5 用户级的I/O软件 125
4.4 缓冲技术 126
4.4.1 单缓冲技术 127
4.4.2 双缓冲技术 127
4.4.3 多缓冲技术 127
4.4.4 缓冲池技术 128
4.5 外围的设备分配、回收与启动 128
4.5.1 设备类相对号和绝对号 128
4.5.2 外部设备的分配和回收 129
4.6 磁盘驱动调度 130
4.6.1 磁盘结构 131
4.6.2 磁盘调度 132
4.6.3 磁盘移臂调度 133
4.6.4 磁盘的旋转调度 134
4.7 虚拟设备 136
4.7.1 脱机工作方式 136
4.7.2 Spooling技术 137
4.7.3 虚拟设备 138
本章小结 138
习题4 139
第5章 文件管理 141
5.1 文件系统 141
5.1.1 文件和文件系统 141
5.1.2 文件的分类 142
5.1.3 文件系统的功能 143
5.2 文件目录 143
5.2.1 目录内容 144
5.2.2 目录结构 144
5.3 文件结构与存取方法 147
5.3.1 文件的逻辑结构及存取方法 147
5.3.2 文件的物理结构及存取方法 148
5.3.3 存储空间管理 151
5.4 文件的使用 152
5.4.1 文件访问 152
5.4.2 文件控制 154
5.4.3 目录管理 155
5.4.4 文件的共享 155
5.5 安全性和保护 156
5.5.1 文件的访问权限 156
5.5.2 文件的存取控制 156
5.5.3 文件的完整性 158
本章小结 158
习题5 158
第6章 Windows和Linux操作系统 160
6.1 Windows 2000/XP操作系统 160
6.1.1 Windows 2000/XP简介 160
6.1.2 Windows操作系统总体架构 161
6.1.3 用户模式和内核模式 165
6.1.4 Windows操作系统和应用程序 167
6.2 Linux操作系统 171
6.2.1 Linux简介 171
6.2.2 Linux Shell 172
6.2.3 vi文本编辑器 174
6.2.4 gcc编译器和gdb调试 177
本章小结 181
习题6 182
附录1 操作系统参考实验项目 183
第一部分 基本实验部分 183
实验1 进程管理 183
实验2 进程调度 184
实验3 存储管理 185
实验4 独占设备的静态分配模拟 185
实验5 文件管理 186
第二部分 创新实验部分(Linux) 187
实验6 more命令实现 187
实验7 文件列表命令实现 191
实验8 文件系统路径命令实现 197
实验9 操作系统引导程序的实现 203
实验10 操作系统内核加载程序的实现 210
附录2 操作系统课程设计参考案例 217
案例
1.1 操作系统的概念 1
1.1.1 操作系统的定义和目标 1
1.1.2 操作系统的形成和发展 2
1.1.3 操作系统的主要特性 5
1.2 操作系统的功能 6
1.2.1 处理器管理 6
1.2.2 存储管理 6
1.2.3 设备管理 7
1.2.4 文件管理 8
1.3 操作系统的接口 8
1.3.1 操作接口和操作命令 9
1.3.2 程序接口与系统调用 9
1.4 操作系统的结构 10
1.4.1 整体式结构 10
1.4.2 层次式结构 11
1.4.3 客户/服务器结构 11
1.4.4 虚拟机结构 11
1.5 流行操作系统简介 12
1.5.1 Windows操作系统 12
1.5.2 UNIX操作系统 13
1.5.3 Linux操作系统 13
1.5.4 iOS操作系统 13
1.5.5 Android操作系统 15
本章小结 15
习题 16
第2章 处理器管理及并发进程 17
2.1 多道程序设计 17
2.1.1 程序的顺序执行 17
2.1.2 程序的并发执行 18
2.1.3 多道程序设计 18
2.1.4 并发程序执行的条件 19
2.2 进程 20
2.2.1 进程的定义及其属性 20
2.2.2 进程的状态及其转换 21
2.2.3 进程控制块 23
2.2.4 进程队列 24
2.3 进程的控制 25
2.3.1 操作系统内核 25
2.3.2 原语 26
2.3.3 进程控制原语 26
2.4 进程调度 28
2.4.1 进程调度简介 28
2.4.2 进程调度的算法 28
2.5 线程及其实现 32
2.5.1 为什么要引入多线程概念 33
2.5.2 多线程环境下的进程和线程 33
2.5.3 多线程的优点及其应用 35
2.5.4 多线程实现的三种方式 36
2.5.5 Java环境下多线程设计举例 37
2.6 并发进程的概念 38
2.6.1 相关进程及其关系 38
2.6.2 与时间有关的错误 39
2.6.3 临界区概念及其管理要求 41
2.6.4 临界区管理的尝试 42
2.6.5 信号量与PV操作 46
2.7 进程的互斥和同步 47
2.7.1 进程的互斥 47
2.7.2 进程的同步 50
2.7.3 进程互斥和同步的关系 59
2.8 管程 60
2.8.1 管程的概念 60
2.8.2 管程的特点及其组成 61
2.8.3 汉森(Brinch Hansen)方法实现管程 62
2.8.4 汉森方法实现管程的实例 63
2.9 进程通信 66
2.9.1 消息传递概述 66
2.9.2 消息传递的两种方式 67
2.9.3 消息传递应用举例 69
2.9.4 信号量机制、管程和消息传递机制的关系 70
2.10 死锁 70
2.10.1 死锁的定义与产生的原因 70
2.10.2 死锁的防止 72
2.10.3 死锁的避免与银行家算法 73
2.10.4 死锁的检测与解除 77
本章小结 78
习题2 79
第3章 存储管理 81
3.1 存储系统的基本概念 81
3.1.1 存储器的分类 81
3.1.2 物理地址和逻辑地址 81
3.1.3 地址重定位和存储保护 82
3.2 存储管理的基本概念 82
3.2.1 存储管理的功能 82
3.2.2 内存扩充技术 83
3.2.3 存储管理的分类 84
3.3 分区存储管理 85
3.3.1 单一连续区 86
3.3.2 固定分区存储管理 86
3.3.3 可变分区存储管理 88
3.4 简单分页存储管理 94
3.4.1 基本原理 94
3.4.2 地址转换 95
3.4.3 相联存储器和快表 97
3.4.4 页的分配与回收 97
3.4.5 页的共享和保护 98
3.4.6 两级和多级页表 98
3.5 简单分段存储管理 100
3.5.1 基本原理 100
3.5.2 地址转换 101
3.5.3 段的共享 102
3.5.4 分段存储管理的优点 103
3.6 虚拟存储管理 104
3.7 请求分页虚拟存储管理 105
3.7.1 基本原理 105
3.7.2 主存页面分配策略 106
3.7.3 页面调入策略 107
3.7.4 页面置换算法 107
3.7.5 缺页中断率分析 109
3.8 请求分段虚拟存储管理 111
3.8.1 基本原理 111
3.8.2 地址转换 112
3.8.3 段的动态链接 112
3.8.4 段的动态增长 113
3.9 请求段页式虚拟存储管理 113
本章小结 113
习题3 113
第4章 设备管理 116
4.1 设备管理概述 116
4.1.1 设备管理的任务与目标 116
4.1.2 设备管理的功能 117
4.1.3 外部设备的分类 117
4.2 设备I/O控制方式 119
4.2.1 程序查询方式 119
4.2.2 中断方式 120
4.2.3 DMA(直接内存存取)方式 120
4.2.4 I/O通道控制方式 121
4.3 设备I/O软件原理 123
4.3.1 I/O软件的目标 124
4.3.2 I/O中断处理程序 124
4.3.3 设备驱动程序 125
4.3.4 与设备无关的I/O软件 125
4.3.5 用户级的I/O软件 125
4.4 缓冲技术 126
4.4.1 单缓冲技术 127
4.4.2 双缓冲技术 127
4.4.3 多缓冲技术 127
4.4.4 缓冲池技术 128
4.5 外围的设备分配、回收与启动 128
4.5.1 设备类相对号和绝对号 128
4.5.2 外部设备的分配和回收 129
4.6 磁盘驱动调度 130
4.6.1 磁盘结构 131
4.6.2 磁盘调度 132
4.6.3 磁盘移臂调度 133
4.6.4 磁盘的旋转调度 134
4.7 虚拟设备 136
4.7.1 脱机工作方式 136
4.7.2 Spooling技术 137
4.7.3 虚拟设备 138
本章小结 138
习题4 139
第5章 文件管理 141
5.1 文件系统 141
5.1.1 文件和文件系统 141
5.1.2 文件的分类 142
5.1.3 文件系统的功能 143
5.2 文件目录 143
5.2.1 目录内容 144
5.2.2 目录结构 144
5.3 文件结构与存取方法 147
5.3.1 文件的逻辑结构及存取方法 147
5.3.2 文件的物理结构及存取方法 148
5.3.3 存储空间管理 151
5.4 文件的使用 152
5.4.1 文件访问 152
5.4.2 文件控制 154
5.4.3 目录管理 155
5.4.4 文件的共享 155
5.5 安全性和保护 156
5.5.1 文件的访问权限 156
5.5.2 文件的存取控制 156
5.5.3 文件的完整性 158
本章小结 158
习题5 158
第6章 Windows和Linux操作系统 160
6.1 Windows 2000/XP操作系统 160
6.1.1 Windows 2000/XP简介 160
6.1.2 Windows操作系统总体架构 161
6.1.3 用户模式和内核模式 165
6.1.4 Windows操作系统和应用程序 167
6.2 Linux操作系统 171
6.2.1 Linux简介 171
6.2.2 Linux Shell 172
6.2.3 vi文本编辑器 174
6.2.4 gcc编译器和gdb调试 177
本章小结 181
习题6 182
附录1 操作系统参考实验项目 183
第一部分 基本实验部分 183
实验1 进程管理 183
实验2 进程调度 184
实验3 存储管理 185
实验4 独占设备的静态分配模拟 185
实验5 文件管理 186
第二部分 创新实验部分(Linux) 187
实验6 more命令实现 187
实验7 文件列表命令实现 191
实验8 文件系统路径命令实现 197
实验9 操作系统引导程序的实现 203
实验10 操作系统内核加载程序的实现 210
附录2 操作系统课程设计参考案例 217
案例