第一章 绪论 1
1-1 何谓作业系统 1
1-2 早期的系统 4
1-3 简单的监督程式 6
1-4 线外作业 9
1-5 缓冲区及线上同时周边处理 12
1-5-1 I/O系统架构 12
1-5-2 缓冲区 15
1-5-3 线上同时周边处理 16
1-6 多元程式系统 18
1-7 分时系统 19
1-8 保护 22
1-8-1 I/O保护 23
1-8-2 记忆体保护 26
1-8-3 CPU保护 28
1-9 系统架构 29
1-10 电脑的分级 33
1-10-1 多元处理机系统 33
1-10-2 个人电脑 35
1-10-3 即时系统 37
1-11 摘要 37
习题 39
参考文献引注 41
第二章 作业系统结构 43
2-1 作业构成要素 43
2-1-1 作业处理管理 44
2-1-2 记忆体管理 45
2-1-3 次储存体管理 46
2-1-4 I/O系统 46
2-1-5 档案管理 47
2-1-6 保护系统 48
2-1-7 网路 48
2-2 作业系统的运作项目 49
2-1-8 指令解译程式系统 49
2-2-1 运作项目 50
2-2-2 系统呼叫 51
2-2-3 系统程式 57
2-3 系统结构 59
2-3-1 层次方法 60
2-3-2 系统核心 62
2-4 虚拟机器 63
2-5 系统设计与制作 66
2-5-1 目标 67
2-5-2 机械装置 67
2-5-3 系统制作 68
2-6 系统建立 69
2-7 摘要 72
参考文献引注 73
第三章 同作处理 75
3-1 作业处理概念 75
3-1-1 作业处理的状态 76
3-1-2 作业处理的控制区 77
3-1-3 作业处理的关系 80
3-1-4 作业处理的关系 81
3-2 生产者/消费者问题 82
3-3 临界区间问题 86
3-3-1 以软体解决两个处理之临界区间问题的方案 87
3-3-2 以软体解决N个处理之临界区间问题的方案 93
3-3-3 利用硬体的解决方法 97
3-4 号志 100
3-4-1 号志的用途 100
3-4-2 建立号志的方法 101
3-4-3 死结与迟带 104
3-4-4 依时性错误 105
3-5 处理间协调问题之探讨 107
3-5-1 设限缓冲区问题 107
3-5-2 读者/作家问题 109
3-5-3 哲单家进餐的问题 111
3-6 语言结构 113
3-6-1 临界区域 114
3-6-2 监督器 123
3-6-3 Ada的task 131
3-6-4 CSP 133
3-7 处理间之沟通 136
3-7-1 正名 138
3-7-2 缓冲功能 142
3-7-3 意外情况 145
3-7-4 范例Accent 147
3-8 摘要 150
习题 151
参考文献引注 157
第四章 CPU排程 161
4-1 多元程式设计概念的回顾 161
4-2 排程的概念 164
4-2-1 基本要素 164
4-2-2 CPU与I/O间的交替运作 165
4-2-3 排程的伫列 166
4-2-4 排程器 169
4-2-5 配送器 171
4-3 效益的标准 172
4-4-1 先到先做 174
4-4 排程的演绎法则 174
4-4-2 最短的工作优先处理 176
4-4-3 优先等级 178
4-4-4 可插队的排程演绎法则 180
4-4-5 巡回型的排程 182
4-4-6 多阶型的等候伫列 186
4-4-7 多阶型回馈等候伫列 188
4-5 排程演绎法则的评估 190
4-5-1 解析评估法 191
4-5-2 模拟评估法 195
4-5-3 实作评估法 197
4-6 多重处理机的排程 198
4-7 摘要 200
习题 202
参考文献引注 206
第五章 死结 209
5-1 系统模式 210
5-2 死结之特徵 212
5-2-1 必要条件 212
5-2-2 资源配置图 213
5-2-3 处理死结的方法 217
5-3 预防死结 217
5-3-1 互斥条件 217
5-3-2 持住但仍须等待条件 218
5-3-3 不可插队 219
5-3-4 环状等待条件 220
5-4 避免死结 221
5-4-1 资源型态内含有多个实质装置 224
5-4-2 资源型态内只含有单一的实质装置 228
5-5 侦测死结 230
5-5-1 资源型态内含有多个实质装置 230
5-5-2 资源型态内只含有单一的实质装置 233
5-5-3 采行侦侧演绎法则的时机 234
5-6 回复 235
5-6-1 处理之中止 236
5-6-2 资源的插队取得 237
5-7 结合前述之各种方法来处理死结问题 238
5-8 摘要 240
习题 242
参考文献引注 247
第六章 记忆体的管理 249
6-1 前言 249
6-1-1 位址定位 250
6-1-2 叠层 252
6-1-3 动态载入 254
6-2 阳春机组 255
6-1-4 记忆体管理 255
6-3 驻存监督器 256
6-4 固定段落的多元程式设计 260
6-4-1 工作排程 261
6-4-2 工作调换 265
6-4-3 工作大小 268
6-4-4 段落大小的选择 270
6-4-5 主记忆体的碎裂现象 271
6-5 可变段落的多元程式设计 272
6-5-1 工作排程 275
6-5-2 紧凑法 277
6-6 多重基址暂存器 280
6-7 分页 281
6-7-1 有关的硬体设备 281
6-7-2 工作的排程 284
6-7-3 页表的建置 286
6-7-4 共用页面 288
6-7-5 记忆体的保护作用 290
6-7-6 记忆体的两种看法 291
6-8 分段 294
6-8-1 使用者对於记忆体的看法 294
6-8-2 分段式记忆体管理方法的硬体架构 296
6-8-3 段表的建置 297
6-8-4 分段法的保护作用和共用区段 299
6-8-5 分段法的碎裂现象 302
6-9 分页式的分段 303
6-10 摘要 306
习题 309
参考文献引注 313
第七章 虚拟记忆体 315
7-1 为何要使用虚拟记忆体 315
7-2 需求分页 318
7-3 需求分页的绩效 325
7-4 页面替换 328
7-5 页面替换的演绎法则 333
7-5-1 FIFO 335
7-5-2 最佳的页面替换法则 337
7-5-3 最近罕用的页面替换法则 338
7-5-4 近似LRU的页面替换演绎法则 342
7-5-5 特别的演绎法则 346
7-6 页框的配置 347
7-6-1 最少的页框数 348
7-6-2 配置的演绎法则 350
7-7 猛移现象 352
7-7-1 工作集模式 356
7-7-2 发生寻觅缺失的频率 359
7-8 其他需要考量的因素 360
7-8-1 全盘性与局部性的配置 360
7-8-2 预先分页 361
7-8-3 页面的大小 362
7-8-4 程式要结构 364
7-8-5 I/O的联锁 366
7-9 摘要 370
习题 372
参考文献引注 381
8-1 概述 383
第八章 辅助储存体的管理 383
8-2 硬体特性 384
8-3 装置目录表 388
8-4 可用空间之管理 388
8-4-1 位元向量 389
8-4-2 可用空间串列 389
8-4-3 组合 390
8-4-4 计数 390
8-5 配置方法 391
8-5-1 比连式配置 391
8-5-2 联结式配置 394
8-5-3 索引式配置 396
8-5-4 效能分析 398
8-6 磁碟排程 400
8-6-1 先来先服务 401
8-6-2 寻找时间最短者优先排程 402
8-6-3 扫描法 404
8-6-4 C-SCAN 405
8-6-5 观察法 406
8-7 扇区伫列排程演绎法则 407
8-8 选择符合需要的磁碟排程演绎法则 408
8-9 记忆体的层次 409
8-10 摘要 412
习题 413
参考文献引注 417
第九章 档案系统 419
9-1 档案观念 419
9-2 档案运作 422
9-3 存取方法 424
9-3-1 循序存取 424
9-3-2 直接存取 425
9-3-3 其他存取方法 426
9-4 目录系统 429
9-5 目录结构 431
9-5-1 单层目录表 432
9-5-2 双层目录表 433
9-5-3 树状结构目录 435
9-5-4 非循环式图表目录 437
9-5-5 一般图形目录 440
9-6 档案保护 442
9-6-1 名称保护 443
9-6-2 密码保护 444
9-6-3 字取串列 444
9-6-4 存取团队 444
9-7 制作问题 446
9-8 摘要 449
习题 451
参考文献引注 453
第十章 保护措施 455
10-1 保护之目的 456
10-2 机作与政策 457
10-3 保护的定义域 457
10-4 存取矩阵 459
10-5 存取矩阵之建立 460
10-5-1 全盘表 460
10-5-2 存取串列 461
10-5-3 能力串列 461
10-5-5 比较 463
10-5-4 锁/钥机械装置 463
10-5-6 政策 465
10-6 动态保护结构 465
10-7 存取权之撤销 470
10-8 现有的系统 473
10-8-1 Unix系统 474
10-8-2 Multics系统 474
10-8-3 Hydra系统 477
10-8-4 Cambridge CAP系统 478
10-9 以语言为基础的保护措施 480
10-10 保护问题 485
10-11 安全 487
10-12 编码法 489
10-13 摘要 492
习题 493
参考文献引注 495
第十一章 分散式处理系统 497
11-1 动机 497
11-1-1 资源共用 498
11-1-2 加速运用 498
11-1-3 提高可靠性 498
11-1-4 传输 499
11-2-1 完全联结 500
11-2 拓朴架构 500
11-2-2 部分联结 501
11-2-3 阶层式网路 502
11-2-4 星状网路 502
11-2-5 环状网路 503
11-2-6 多向存取网路 504
11-3 通信 505
11-3-1 联接策略 506
11-3-2 竞争问题 507
11-3-3 设计策略 508
11-3-4 电脑网路 509
11-4-1 区域网路 510
11-4 系统型态 510
11-4-2 Arpanet FTP 512
11-5 档案系统 513
11-5-1 集中式处理 513
11-5-2 分散式处理 514
11-5-3 资料转移 515
11-6 计算模式 515
11-6-1 资料转移 515
11-6-2 运算转移 516
11-6-3 工作转移 517
11-7 事件顺序 517
11-7-1 发生在前关系 518
11-7-2 制作 519
11-8 同步化 520
11-8-1 集中式处理 521
11-8-2 完全分散处理 521
11-8-3 许可证传送方法 524
11-9 死结处理 525
11-9-1 时间标签顺序方法 526
11-9-2 死结侦测 527
11-10 强韧性 534
11-10-1 故障侦测 534
11-10-2 重新架构 535
11-10-3 故障後的复原 536
11-11 达成协议 536
11-11-1 不可靠的通信 537
11-11-2 不可靠的处理 538
11-12 选举法则 539
11-12-1 欺负弱小法则 540
11-12-2 环状法则 541
11-13 摘要 543
习题 545
参考文献引注 546
12-1 发展历史 549
第十二章 Unix作业系统 549
12-2 设计原则 554
12-3 程式设计员介面 556
12-3-1 档案运用 557
12-3-2 处理的控制 561
12-3-3 讯号 563
12-3-4 资讯之运用 564
12-3-5 库存常式 564
12-4 使用者介面 565
12-4-1 Shells及命令 566
12-4-2 标准I/O档案 568
12-4-3 管线、过滤器及Shell Scripts 569
12-5 处理之管理 570
12-5-1 处理控制区块 571
12-5-2 CPU排程 574
12-6 储存体之管理 576
12-6-1 调换 576
12-6-2 分页Cpaging 578
12-7 档案系统 581
12-7-1 区块与碎片 581
12-7-2 Inodes 583
12-7-3 目录 584
12-7-4 将档案识别记号对应至Inode上 585
12-7-5 磁碟结构 587
12-7-6 实施 589
12-7-7 布置及配置策略 589
12-8 I/O系统 592
12-8-1 区块缓冲区快取记忆体 594
12-8-2 原始装置介面 596
12-8-3 C-Lists 597
12-9 处理间之沟通 597
12-9-1 插座 598
12-9-2 网路功能 601
12-10 摘要 605
参考文献引注 606
第十三章 历史的回顾 609
13-1 Atlas 609
13-2 XDS-940 611
13-3 THE 612
13-4 RC 4000 613
13-5 CTSS 615
13-6 Multics 615
13-7 OS/360 616
13-8 其他系统 618
中英名词对照表 621