《作业系统原理》本书详细讲述了从单处理机到分散式和并行计算机系统的基本思想、原则及概念,内容包括进程管理与协作、记忆体管理、档案系统与输入输出、系统保护与安全等。本书不仅从商用作业系统和研究型作业系统中选用了大量的例子来阐述有关的概念,而且针对各部分内容,给出了相应的编程实验练习,以增强读者的实际动手能力。本书可用作计算机科学或计算机工程等相关专业的“作业系统”教科书,也可作为从事计算机工作的科技人员学习计算机作业系统的参考书。
基本介绍
- 中文名:作业系统原理
- 出版日期:2004.01.01
- 作者:Bic, Shaw
- 定价:50元
书籍信息
印次:1-1
ISBN:9787302077244
印刷日期:2003.12.26
图书目录
第1章概述1
1.1作业系统的作用1
1.1.1弥补硬体和套用间的差距1
1.1.2作业系统的三种视图4
1.2作业系统的组织结构8
1.2.1结构化组织9
1.2.2硬体接口10
1.2.3编程接口11
1.2.4用户接口13
1.2.5运行时组织结构19
1.3作业系统的发展和概念20
1.3.1早期的系统20
1.3.2批处理作业系统21
1.3.3多道程式设计系统22
1.3.4互动式作业系统24
1.3.5个人计算机和工作站作业系统25
1.3.6实时作业系统26
1.3.7分散式作业系统27第1部分进程管理和同步
第2章基本概念:进程及其互动31
2.1进程的概念31
2.2进程定义及实例化32
2.2.1进程间的次序关係33
2.2.2进程的隐式创建35
2.2.3用fork和join显式地创建进程38
2.2.4进程声明与类集41
2.3基本的进程互动42
2.3.1竞争:临界区问题42
2.3.2协作48
2.4信号量49
2.4.1信号量操作与数据49
2.4.2使用信号量实现互斥50
2.4.3生产者/消费者情形中的信号量52
2.5事件同步53第3章高级同步与通信59
3.1共享记忆体的方法59
3.1.1管程60
3.1.2受保护类型64
3.2分散式同步与通信65
3.2.1基于讯息的通信66
3.2.2基于过程的通信70
3.2.3分散式互斥74
3.3其他经典同步问题76
3.3.1读者/写者问题76
3.3.2哲学家进餐问题78
3.3.3电梯(调度)算法80
3.3.4使用逻辑时钟对事件排序82第4章作业系统核心:进程和执行绪的实现90
4.1核心定义与目标90
4.2伫列结构92
4.2.1作业系统中的资源伫列92
4.2.2伫列的实现93
4.3执行绪95
4.4进程与执行绪的实现97
4.4.1进程和执行绪描述符97
4.4.2进程操作的实现102
4.4.3执行绪的操作105
4.5同步与通信机制的实现105
4.5.1信号量和锁106
4.5.2管程原语109
4.5.3时钟和时间管理111
4.5.4通信原语116
4.6中断处理119第5章进程和执行绪调度126
5.1调度器的组织方式126
5.1.1嵌入的和自治的调度器126
5.1.2优先权调度128
5.2调度方法129
5.2.1调度框架129
5.2.2常用调度算法132
5.2.3方法对比137
5.3优先权倒置144
5.4多处理器和分散式调度146第6章死锁152
6.1可重用资源、可消耗资源上的死锁152
6.1.1可重用资源和可消耗资源153
6.1.2计算机系统中的死锁153
6.2处理死锁问题的方法155
6.3一个系统模型156
6.3.1资源图156
6.3.2状态转换157
6.3.3死锁状态和安全状态158
6.4死锁检测160
6.4.1资源图的简化160
6.4.2死锁检测的特殊情况161
6.4.3分散式系统中的死锁检测162
6.5死锁恢复165
6.5.1进程终止165
6.5.2资源抢占166
6.6动态死锁避免166
6.6.1需求图166
6.6.2银行家算法167
6.7死锁预防169
6.7.1破坏互斥使用条件170
6.7.2破坏占有并等待条件170
6.7.3破坏循环等待条件171第2部分记忆体管理
第7章物理记忆体177
7.1使程式準备执行177
7.1.1程式转换177
7.1.2逻辑地址到物理地址的绑定178
7.2记忆体划分模式182
7.2.1固定分区182
7.2.2可变分区183
7.2.3伙伴系统186
7.3可变分区的分配策略188
记忆体利用率的衡量189
7.4记忆体不足时的管理191
7.4.1记忆体紧凑191
7.4.2交换192
7.4.3覆盖194第8章虚拟存储199
8.1虚拟存储的原理199
8.2虚拟存储的实现201
8.2.1分页机制201
8.2.2分段机制206
8.2.3段页机制208
8.2.4系统表的分页209
8.2.5变换索引缓冲区211
8.3分页系统的存储分配212
8.3.1全局页面置换算法214
8.3.2局部页面置换算法220
8.3.3装载控制和抖动225
8.3.4分页的评价228第9章主存中数据和代码的共享236
9.1单一副本的共享236
9.1.1共享的原因236
9.1.2共享的需求237
9.1.3连结与共享239
9.2无虚拟存储的系统中的共享239
9.3分页系统中的共享241
9.3.1数据的共享241
9.3.2代码的共享242
9.4分段系统中的共享244
9.4.1代码和数据的共享244
9.4.2无限制的动态连结245
9.5分散式共享存储的原理247
分散式共享存储的用户视图248
9.6分散式共享存储的实现250
9.6.1实现非结构化的分散式共享存储250
9.6.2实现结构化的分散式共享存储255第3部分档案系统和输入/输出
第10章档案系统261
10.1档案管理的基本功能261
10.2档案系统的层次模型262
10.3档案的用户视图264
10.3.1档案名称和类型265
10.3.2逻辑档案的组织结构266
10.3.3其他的档案属性269
10.3.4档案操作269
10.4档案目录270
10.4.1层次目录组织结构271
10.4.2目录操作276
10.4.3档案目录的实现279
10.5基本档案系统282
10.5.1档案描述符282
10.5.2打开和关闭档案283
10.6设备的组织方法286
10.6.1连续组织286
10.6.2连结组织287
10.6.3索引组织288
10.6.4空闲存储空间的管理289
10.7分散式档案系统的基本原理291
10.7.1目录结构和共享291
10.7.2档案共享的语义294
10.8实现分散式档案系统295
10.8.1基本结构295
10.8.2高速快取296
10.8.3无状态的伺服器与有状态的伺服器297
10.8.4档案複製300第11章输入/输出系统307
11.1设备管理中的基本问题307
11.2输入/输出系统的一种层次模型309
输入/输出系统接口310
11.3输入/输出设备312
11.3.1用户终端312
11.3.2印表机和扫瞄器314
11.3.3辅助存储设备315
11.3.4盘的性能特性318
11.3.5网路320
11.4设备驱动程式321
11.4.1记忆体映像与明确的设备接口322
11.4.2使用轮询的可程式输入/输出323
11.4.3使用中断的可程式输入/输出326
11.4.4直接记忆体访问329
11.5设备管理331
11.5.1缓冲和高速快取331
11.5.2错误处理337
11.5.3磁碟调度341
11.5.4设备共享343第4部分保护和安全
第12章保护和安全接口349
12.1安全威胁349
12.1.1危害种类350
12.1.2易受攻击/伤害的资源351
12.1.3攻击类型351
12.2保护系统应有的功能358
12.2.1外部安全措施358
12.2.2用户标识鉴别358
12.2.3通信安全措施359
12.2.4威胁监视360
12.3用户鉴别360
12.3.1鉴别方法360
12.3.2口令361
12.4安全通信365
12.4.1加密原理365
12.4.2密钥加密366
12.4.3公钥加密系统370第13章内部保护机制378
13.1访问控制环境378
13.2指令级访问控制379
13.2.1暂存器和输入/输出保护379
13.2.2主存保护380
13.3高层访问控制385
13.3.1访问矩阵模型385
13.3.2访问列表和权能列表386
13.3.3一个综合实例:客户端/伺服器保护393
13.3.4组合使用访问列表和权能列表395
13.4信息流控制396
13.4.1禁闭问题396
13.4.2层次化的信息流398
13.4.3选择禁闭问题399第5部分程式设计项目
I进程/执行绪的同步407
1项目概述407
2创建竞争条件407
3临界区问题的解决方法408
3.1使用互斥锁的解决方法409
3.2软体解决方法409
4实现一般信号量409
4.1使用互斥锁和条件变数的解决方法409
4.2软体解决方法410
5有界缓冲区410
6具体任务总结410
7附加任务的建议411II进程和资源管理412
1项目概述412
2进程和资源的基本管理器412
2.1进程状态412
2.2进程的表示413
2.3资源的表示413
2.4对进程和资源的操作414
2.5调度函式415
2.6演示shell程式416
3扩充的进程和资源管理器417
3.1逾时中断417
3.2输入/输出处理418
3.3扩充的shell419
4具体任务总结419
5附加任务的建议420III记忆体管理421
1项目概述421
2记忆体管理器421
2.1记忆体421
2.2用户接口422
3模拟试验422
3.1产生请求的大小423
3.2收集有关性能的数据424
3.3选择要释放的记忆体块424
4具体任务总结424
5附加任务的建议424IV页面置换算法426
1项目概述426
2全局页面置换算法426
3局部页面置换算法427
4产生引用串428
5性能评价429
6具体任务总结430
7附加任务的建议430V档案系统431
1项目概述431
2输入/输出系统431
3档案系统432
3.1用户和档案系统之间的接口432
3.2档案系统的组织433
3.3目录433
3.4创建和删除档案433
3.5打开和关闭档案434
3.6在档案中读、写和搜寻434
3.7列出目录435
4演示 shell程式435
5具体任务总结436
6附加任务的建议436VI其他编程项目437
1定时器工具437
2进程调度437
3银行家算法438
4磁碟调度算法438
5稳定存储439术语表440