书籍详情
操作系统(第3版)
作者:孟庆昌等
出版社:电子工业出版社
出版时间:2017-01-01
ISBN:9787121307409
定价:¥45.00
购买这本书可以去
内容简介
本书是普通高等教育"十一五”*规划教材,北京高等教育精品教材,全面系统地介绍现代操作系统的基本理论和*技术。全书共分11章:第1章概述操作系统的定义、功能、特征、发展历程和结构;第2章至第8章分别讲述进程和线程管理、死锁、调度、存储管理、文件系统、输入/输出管理和用户接口服务;第9章介绍嵌入式操作系统;第10章讲述分布式操作系统;第11章讲述系统的安全性与保护机制。二个附录分别给出实验指导和部分习题参考答案,并为教师免费提供电子教案。
作者简介
孟庆昌,北京信息科技大学计算机科学与工程系教授,先后编著、翻译、审校书籍(正式出版)三十多本,并在国内刊物上发表了多篇论文。多年来,一直从事UNIX和Linux的教学和培训工作,在国内颇具影响。
目录
第1章 操作系统引论1
1.1 计算机硬件结构1
1.1.1 处理器2
1.1.2 存储器2
1.1.3 I/O设备3
1.1.4 总线3
1.2 什么是操作系统4
1.2.1 操作系统概念4
1.2.2 操作系统的主要功能5
1.2.3 操作系统的地位8
1.3 操作系统的发展历程9
1.3.1 操作系统的形成9
1.3.2 操作系统的发展12
1.3.3 推动操作系统发展的动力12
1.4 操作系统的类型12
1.4.1 批处理系统13
1.4.2 分时系统14
1.4.3 实时系统15
1.4.4 网络操作系统16
1.4.5 分布式操作系统18
1.4.6 其他操作系统18
1.5 操作系统的特征20
1.6 操作系统结构设计20
1.6.1 整体结构21
1.6.2 层次结构21
1.6.3 虚拟机结构23
1.6.4 客户-服务器结构24
1.7 操作系统初启过程25
1.8 本章小结26
习题126
第2章 进程和线程28
2.1 进程概念28
2.1.1 多道程序设计28
2.1.2 进程概念29
2.2 进程的状态和组成31
2.2.1 进程的状态及其转换31
2.2.2 进程描述34
2.2.3 进程队列36
2.3 进程管理37
2.3.1 进程图37
2.3.2 进程创建38
2.3.3 进程终止40
2.3.4 进程阻塞40
2.3.5 进程唤醒41
2.4 线程41
2.4.1 线程概念41
2.4.2 线程的实现44
2.5 进程的同步和互斥45
2.5.1 进程同步与互斥的概念45
2.5.2 临界资源和临界区47
2.5.3 互斥实现方式48
2.5.4 信号量50
2.5.5 信号量的一般应用53
2.6 经典进程同步问题54
2.7 管程59
2.8 进程通信61
2.8.1 消息传递系统62
2.8.2 客户-服务器系统中的通信64
2.9 本章小结65
习题266
第3章 死锁69
3.1 资源69
3.1.1 资源使用模式69
3.1.2 可抢占资源与不可抢占资源70
3.2 死锁概念70
3.2.1 什么是死锁71
3.2.2 死锁的条件73
3.2.3 资源分配图73
3.2.4 处理死锁的方法75
3.3 死锁的预防75
3.3.1 破坏互斥条件75
3.3.2 破坏占有且等待条件75
3.3.3 破坏非抢占条件76
3.3.4 破坏循环等待条件76
3.4 死锁的避免77
3.4.1 安全状态77
3.4.2 资源分配图算法79
3.4.3 银行家算法79
3.5 死锁的检测和恢复81
3.5.1 对单体资源类的死锁检测82
3.5.2 对多体资源类的死锁检测82
3.5.3 从死锁中恢复83
3.5.4 “饥饿”和活锁的概念85
3.6 处理死锁的综合方式86
3.7 本章小结87
习题388
第4章 调度90
4.1 调度类型90
4.2 作业调度92
4.2.1 作业状态92
4.2.2 作业控制块和作业调度的
功能92
4.3 进程调度94
4.3.1 进程调度的功能94
4.3.2 进程调度的时机94
4.3.3 进程调度的基本方式94
4.3.4 交互式系统中常用的调度
算法95
4.3.5 两级调度模型95
4.4 调度准则96
4.4.1 影响调度算法选择的主要
因素96
4.4.2 调度性能评价准则96
4.5 调度算法97
4.5.1 先来先服务法97
4.5.2 短作业优先法98
4.5.3 最短剩余时间优先法99
4.5.4 优先级法100
4.5.5 轮转法101
4.5.6 多级队列法103
4.5.7 多级反馈队列法103
4.5.8 高响应比优先法104
4.5.9 公平共享法105
4.5.10 几种常用调度算法的比较105
4.6 线程调度106
4.7 多处理器调度107
4.7.1 多处理器系统的类型107
4.7.2 多处理器调度方法107
4.8 实时调度108
4.8.1 实时任务类型108
4.8.2 实时调度算法108
4.9 UNIX/Linux进程调度109
4.9.1 UNIX进程调度109
4.9.2 Linux进程调度110
4.10 中断处理112
4.10.1 中断概述112
4.10.2 中断的处理过程113
4.10.3 中断优先级和多重中断116
4.11 信号机制119
4.11.1 信号机制概念119
4.11.2 信号的分类、产生和传送120
4.11.3 信号的处理方式121
4.11.4 信号的检测和处理121
4.12 本章小结122
习题4123
第5章 存储管理125
5.1 引言125
5.1.1 用户程序的地址空间125
5.1.2 重定位126
5.1.3 对换技术128
5.2 分区法130
5.2.1 固定分区法130
5.2.2 动态分区法131
5.2.3 可重定位分区分配134
5.3 分页技术135
5.3.1 分页存储管理的基本概念135
5.3.2 分页系统中的地址映射137
5.3.3 页面尺寸138
5.3.4 硬件支持138
5.3.5 保护方式140
5.3.6 页表的构造140
5.3.7 页面共享143
5.4 分段技术144
5.4.1 分段存储管理的基本概念145
5.4.2 地址转换146
5.4.3 段的共享和保护147
5.5 段页式技术148
5.5.1 段页式存储管理的基本
原理148
5.5.2 地址转换过程149
5.6 虚拟存储器150
5.6.1 虚拟存储器的概念150
5.6.2 虚拟存储器的特征151
5.7 请求分页技术151
5.7.1 请求分页存储管理的基本
思想151
5.7.2 硬件支持及缺页处理152
5.7.3 请求分页技术的性能153
5.8 页面置换算法155
5.8.1 页面置换155
5.8.2 先进先出法156
5.8.3 最佳置换法157
5.8.4 最近最久未使用置换法157
5.8.5 最近未使用置换法158
5.8.6 第二次机会置换法159
5.8.7 时钟置换法160
5.8.8 最少使用置换法160
5.8.9 页面缓冲算法160
5.9 内存块的分配和抖动问题161
5.9.1 内存块的分配161
5.9.2 抖动问题163
5.10 请求分段技术166
5.11 Linux系统的存储管理167
5.11.1 Linux的多级页表结构167
5.11.2 内存页的分配与释放168
5.11.3 内存交换169
5.12 本章小结169
习题5171
第6章 文件系统173
6.1 概述173
6.1.1 文件及其分类173
6.1.2 文件命名175
6.1.3 文件属性176
6.1.4 文件存取方法177
6.1.5 文件结构178
6.2 文件系统的功能和结构180
6.2.1 文件系统的功能180
6.2.2 文件系统的结构180
6.3 目录结构和目录查询181
6.3.1 文件控制块和文件目录181
6.3.2 单级目录结构183
6.3.3 二级目录结构184
6.3.4 树形目录结构185
6.3.5 非循环图目录结构186
6.3.6 目录查询方法187
6.4 文件和目录操作188
6.4.1 文件操作188
6.4.2 目录操作190
6.4.3 UNIX系统中文件操作示例191
6.5 文件系统的实现193
6.5.1 文件系统的格式193
6.5.2 文件存储分配195
6.5.3 空闲存储空间的管理200
6.6 管道文件203
6.7 文件系统的可靠性204
6.7.1 磁盘坏块管理204
6.7.2 后备205
6.7.3 文件系统和一致性206
6.8 本章小结207
习题6208
第7章 输入/输出管理210
7.1 I/O管理概述210
7.1.1 I/O设备分类和标识210
7.1.2 I/O系统结构211
7.1.3 设备控制器212
7.1.4 I/O系统的控制方式213
7.1.5 I/O管理的功能217
7.2 设备分配218
7.2.1 与设备分配相关的因素218
7.2.2 设备分配技术219
7.2.3 设备分配算法220
7.2.4 SPOOLing系统220
7.3 I/O软件层次221
7.3.1 中断处理程序222
7.3.2 设备驱动程序222
7.3.3 与设备无关的操作系统I/O
软件225
7.3.4 用户级I/O软件228
7.4 磁盘调度和管理228
7.4.1 磁盘调度229
7.4.2 磁盘管理232
7.5 本章小结234
习题7235
第8章 用户接口服务237
8.1 用户接口的发展237
8.2 系统调用238
8.2.1 系统调用和库函数238
8.2.2 系统调用使用方式239
8.2.3 系统调用的处理方式241
8.3 命令行接口244
8.3.1 命令的一般使用方式244
8.3.2 命令解释程序245
8.3.3 shell程序设计246
8.4 图形用户界面247
8.4.1 图形界面简介247
8.4.2 X Window系统249
8.5 本章小结252
习题8253
第9章 嵌入式操作系统254
9.1 嵌入式系统概述254
9.2 嵌入式操作系统概述255
9.2.1 嵌入式软件系统的体系
结构255
9.2.2 嵌入式操作系统256
9.3 实时内核及其实现257
9.3.1 任务管理与调度257
9.3.2 中断和时间管理259
9.3.3 任务的同步和通信259
9.3.4 内存管理262
9.3.5 I/O管理264
9.4 实例简介——CLinux264
9.5 本章小结267
习题9267
第10章 分布式操作系统268
10.1 分布式系统概述268
10.1.1 分布式系统特征268
10.1.2 分布式系统的优点269
10.2 分布式操作系统概述269
10.2.1 分布式操作系统简介269
10.2.2 分布式系统的设计目标270
10.3 分布式系统的实现272
10.3.1 通信问题272
10.3.2 进程管理272
10.3.3 死锁问题275
10.3.4 文件系统275
10.3.5 中间件277
10.4 4种多机系统的比较278
10.5 云计算系统279
10.5.1 云计算简述279
10.5.2 云操作系统简述282
10.6 本章小结282
习题10283
第11章 安全性与保护机制284
11.1 安全性概述284
11.1.1 信息安全问题284
11.1.2 安全环境284
11.2 常见的安全性攻击286
11.2.1 常见的攻击点286
11.2.2 网络威胁286
11.2.3 计算机病毒287
11.3 一般性安全机制290
11.3.1 安全措施290
11.3.2 一般性安全机制290
11.4 保护机制291
11.4.1 保护域292
11.4.2 存取控制表294
11.4.3 权力295
11.4.4 可信系统296
11.4.5 安全性能评测标准
1.1 计算机硬件结构1
1.1.1 处理器2
1.1.2 存储器2
1.1.3 I/O设备3
1.1.4 总线3
1.2 什么是操作系统4
1.2.1 操作系统概念4
1.2.2 操作系统的主要功能5
1.2.3 操作系统的地位8
1.3 操作系统的发展历程9
1.3.1 操作系统的形成9
1.3.2 操作系统的发展12
1.3.3 推动操作系统发展的动力12
1.4 操作系统的类型12
1.4.1 批处理系统13
1.4.2 分时系统14
1.4.3 实时系统15
1.4.4 网络操作系统16
1.4.5 分布式操作系统18
1.4.6 其他操作系统18
1.5 操作系统的特征20
1.6 操作系统结构设计20
1.6.1 整体结构21
1.6.2 层次结构21
1.6.3 虚拟机结构23
1.6.4 客户-服务器结构24
1.7 操作系统初启过程25
1.8 本章小结26
习题126
第2章 进程和线程28
2.1 进程概念28
2.1.1 多道程序设计28
2.1.2 进程概念29
2.2 进程的状态和组成31
2.2.1 进程的状态及其转换31
2.2.2 进程描述34
2.2.3 进程队列36
2.3 进程管理37
2.3.1 进程图37
2.3.2 进程创建38
2.3.3 进程终止40
2.3.4 进程阻塞40
2.3.5 进程唤醒41
2.4 线程41
2.4.1 线程概念41
2.4.2 线程的实现44
2.5 进程的同步和互斥45
2.5.1 进程同步与互斥的概念45
2.5.2 临界资源和临界区47
2.5.3 互斥实现方式48
2.5.4 信号量50
2.5.5 信号量的一般应用53
2.6 经典进程同步问题54
2.7 管程59
2.8 进程通信61
2.8.1 消息传递系统62
2.8.2 客户-服务器系统中的通信64
2.9 本章小结65
习题266
第3章 死锁69
3.1 资源69
3.1.1 资源使用模式69
3.1.2 可抢占资源与不可抢占资源70
3.2 死锁概念70
3.2.1 什么是死锁71
3.2.2 死锁的条件73
3.2.3 资源分配图73
3.2.4 处理死锁的方法75
3.3 死锁的预防75
3.3.1 破坏互斥条件75
3.3.2 破坏占有且等待条件75
3.3.3 破坏非抢占条件76
3.3.4 破坏循环等待条件76
3.4 死锁的避免77
3.4.1 安全状态77
3.4.2 资源分配图算法79
3.4.3 银行家算法79
3.5 死锁的检测和恢复81
3.5.1 对单体资源类的死锁检测82
3.5.2 对多体资源类的死锁检测82
3.5.3 从死锁中恢复83
3.5.4 “饥饿”和活锁的概念85
3.6 处理死锁的综合方式86
3.7 本章小结87
习题388
第4章 调度90
4.1 调度类型90
4.2 作业调度92
4.2.1 作业状态92
4.2.2 作业控制块和作业调度的
功能92
4.3 进程调度94
4.3.1 进程调度的功能94
4.3.2 进程调度的时机94
4.3.3 进程调度的基本方式94
4.3.4 交互式系统中常用的调度
算法95
4.3.5 两级调度模型95
4.4 调度准则96
4.4.1 影响调度算法选择的主要
因素96
4.4.2 调度性能评价准则96
4.5 调度算法97
4.5.1 先来先服务法97
4.5.2 短作业优先法98
4.5.3 最短剩余时间优先法99
4.5.4 优先级法100
4.5.5 轮转法101
4.5.6 多级队列法103
4.5.7 多级反馈队列法103
4.5.8 高响应比优先法104
4.5.9 公平共享法105
4.5.10 几种常用调度算法的比较105
4.6 线程调度106
4.7 多处理器调度107
4.7.1 多处理器系统的类型107
4.7.2 多处理器调度方法107
4.8 实时调度108
4.8.1 实时任务类型108
4.8.2 实时调度算法108
4.9 UNIX/Linux进程调度109
4.9.1 UNIX进程调度109
4.9.2 Linux进程调度110
4.10 中断处理112
4.10.1 中断概述112
4.10.2 中断的处理过程113
4.10.3 中断优先级和多重中断116
4.11 信号机制119
4.11.1 信号机制概念119
4.11.2 信号的分类、产生和传送120
4.11.3 信号的处理方式121
4.11.4 信号的检测和处理121
4.12 本章小结122
习题4123
第5章 存储管理125
5.1 引言125
5.1.1 用户程序的地址空间125
5.1.2 重定位126
5.1.3 对换技术128
5.2 分区法130
5.2.1 固定分区法130
5.2.2 动态分区法131
5.2.3 可重定位分区分配134
5.3 分页技术135
5.3.1 分页存储管理的基本概念135
5.3.2 分页系统中的地址映射137
5.3.3 页面尺寸138
5.3.4 硬件支持138
5.3.5 保护方式140
5.3.6 页表的构造140
5.3.7 页面共享143
5.4 分段技术144
5.4.1 分段存储管理的基本概念145
5.4.2 地址转换146
5.4.3 段的共享和保护147
5.5 段页式技术148
5.5.1 段页式存储管理的基本
原理148
5.5.2 地址转换过程149
5.6 虚拟存储器150
5.6.1 虚拟存储器的概念150
5.6.2 虚拟存储器的特征151
5.7 请求分页技术151
5.7.1 请求分页存储管理的基本
思想151
5.7.2 硬件支持及缺页处理152
5.7.3 请求分页技术的性能153
5.8 页面置换算法155
5.8.1 页面置换155
5.8.2 先进先出法156
5.8.3 最佳置换法157
5.8.4 最近最久未使用置换法157
5.8.5 最近未使用置换法158
5.8.6 第二次机会置换法159
5.8.7 时钟置换法160
5.8.8 最少使用置换法160
5.8.9 页面缓冲算法160
5.9 内存块的分配和抖动问题161
5.9.1 内存块的分配161
5.9.2 抖动问题163
5.10 请求分段技术166
5.11 Linux系统的存储管理167
5.11.1 Linux的多级页表结构167
5.11.2 内存页的分配与释放168
5.11.3 内存交换169
5.12 本章小结169
习题5171
第6章 文件系统173
6.1 概述173
6.1.1 文件及其分类173
6.1.2 文件命名175
6.1.3 文件属性176
6.1.4 文件存取方法177
6.1.5 文件结构178
6.2 文件系统的功能和结构180
6.2.1 文件系统的功能180
6.2.2 文件系统的结构180
6.3 目录结构和目录查询181
6.3.1 文件控制块和文件目录181
6.3.2 单级目录结构183
6.3.3 二级目录结构184
6.3.4 树形目录结构185
6.3.5 非循环图目录结构186
6.3.6 目录查询方法187
6.4 文件和目录操作188
6.4.1 文件操作188
6.4.2 目录操作190
6.4.3 UNIX系统中文件操作示例191
6.5 文件系统的实现193
6.5.1 文件系统的格式193
6.5.2 文件存储分配195
6.5.3 空闲存储空间的管理200
6.6 管道文件203
6.7 文件系统的可靠性204
6.7.1 磁盘坏块管理204
6.7.2 后备205
6.7.3 文件系统和一致性206
6.8 本章小结207
习题6208
第7章 输入/输出管理210
7.1 I/O管理概述210
7.1.1 I/O设备分类和标识210
7.1.2 I/O系统结构211
7.1.3 设备控制器212
7.1.4 I/O系统的控制方式213
7.1.5 I/O管理的功能217
7.2 设备分配218
7.2.1 与设备分配相关的因素218
7.2.2 设备分配技术219
7.2.3 设备分配算法220
7.2.4 SPOOLing系统220
7.3 I/O软件层次221
7.3.1 中断处理程序222
7.3.2 设备驱动程序222
7.3.3 与设备无关的操作系统I/O
软件225
7.3.4 用户级I/O软件228
7.4 磁盘调度和管理228
7.4.1 磁盘调度229
7.4.2 磁盘管理232
7.5 本章小结234
习题7235
第8章 用户接口服务237
8.1 用户接口的发展237
8.2 系统调用238
8.2.1 系统调用和库函数238
8.2.2 系统调用使用方式239
8.2.3 系统调用的处理方式241
8.3 命令行接口244
8.3.1 命令的一般使用方式244
8.3.2 命令解释程序245
8.3.3 shell程序设计246
8.4 图形用户界面247
8.4.1 图形界面简介247
8.4.2 X Window系统249
8.5 本章小结252
习题8253
第9章 嵌入式操作系统254
9.1 嵌入式系统概述254
9.2 嵌入式操作系统概述255
9.2.1 嵌入式软件系统的体系
结构255
9.2.2 嵌入式操作系统256
9.3 实时内核及其实现257
9.3.1 任务管理与调度257
9.3.2 中断和时间管理259
9.3.3 任务的同步和通信259
9.3.4 内存管理262
9.3.5 I/O管理264
9.4 实例简介——CLinux264
9.5 本章小结267
习题9267
第10章 分布式操作系统268
10.1 分布式系统概述268
10.1.1 分布式系统特征268
10.1.2 分布式系统的优点269
10.2 分布式操作系统概述269
10.2.1 分布式操作系统简介269
10.2.2 分布式系统的设计目标270
10.3 分布式系统的实现272
10.3.1 通信问题272
10.3.2 进程管理272
10.3.3 死锁问题275
10.3.4 文件系统275
10.3.5 中间件277
10.4 4种多机系统的比较278
10.5 云计算系统279
10.5.1 云计算简述279
10.5.2 云操作系统简述282
10.6 本章小结282
习题10283
第11章 安全性与保护机制284
11.1 安全性概述284
11.1.1 信息安全问题284
11.1.2 安全环境284
11.2 常见的安全性攻击286
11.2.1 常见的攻击点286
11.2.2 网络威胁286
11.2.3 计算机病毒287
11.3 一般性安全机制290
11.3.1 安全措施290
11.3.2 一般性安全机制290
11.4 保护机制291
11.4.1 保护域292
11.4.2 存取控制表294
11.4.3 权力295
11.4.4 可信系统296
11.4.5 安全性能评测标准
猜您喜欢