当前位置:首页 > 工业技术
操作系统原理
操作系统原理

操作系统原理PDF电子书下载

工业技术

  • 电子书积分:10 积分如何计算积分?
  • 作 者:苏开根,何炎祥编著
  • 出 版 社:武汉:武汉大学出版社
  • 出版年份:1988
  • ISBN:7307002752
  • 页数:250 页
图书介绍:
《操作系统原理》目录

第一章 引言 1

1.1 什么是操作系统 1

1.2 早期的系统 2

1.3 简单的监控程序 3

1.4 性能 5

1.5 批量系统与spooling技术 6

1.6 多道程序系统 7

1.7 分时系统 7

1.8 实时系统 8

1.9 多处理机系统 9

1.10 操作系统的外部环境 9

1.10.1 操作系统与硬件的关系 9

1.10.2 操作系统与其它系统软件的关系 10

1.10.3 操作系统与用户的关系 10

1.11 练习 10

第二章 操作系统的服务 11

2.1 服务的种类 11

2.2 用户观点 11

2.2.1 系统调用 12

2.2.2 系统调用的实现 13

2.2.3 系统程序 14

2.3 操作系统观点 16

2.3.1 系统调用 16

2.3.2 I/O设备中断 16

2.3.3 程序错误 18

2.3.4 一般流程 18

2.4 小结 19

第三章 文件系统 20

3.1 文件概念 20

3.1.1 文件类型 20

3.1.2 基于磁带的系统 21

3.1.3 基于磁盘的系统 21

3.1.4 分块 22

3.1.5 文件操作 23

3.2 文件支持 23

3.2.1 文件操作 23

3.2.2 设备目录 24

33 存取方式 25

3.3.1 顺序存取 25

3.3.2 直接存取 25

3.3.3 其它存取方式 26

3.4 分配方式 26

3.4.1 空闲空间管理 27

3.4.2 毗连分配 27

3.4.3 链接分配 29

3.4.4 索引分配 30

3.4.5 性能 30

3.5 目录系统 31

3.5.1 单级目录 32

3.5.2 二级目录 32

3.5.3 树结构目录 33

3.5.4 非循环图目录 34

3.5.5 普通图目录 35

3.6 文件保护 36

3.6.1 命名 37

3.6.2 口令 37

3.6.3 存取控制 37

3.7 实现问题 37

3.8 小结 38

3.9 练习 39

第四章 处理机调度 41

4.1 多道程序概念的回顾 41

4.2 调度的概念 42

4.2.1 基本构成 42

4.2.2 调度队列 45

4.2.3 调度程序 46

4.3 调度算法 47

4.3.1 性能准则 47

4.3.2 先来先服务 48

4.3.3 最短作业优先调度算法 48

4.3.4 优先数 50

4.3.5 抢占算法 50

4.3.6 轮转算法 51

4.3.7 多队列调度 53

4.3.8 多级反馈队列 53

4.4 算法评估 54

4.4.1 分析评估法 55

4.4.2 模拟方法 56

4.4.3 实现法 57

4.5 多处理机调度 58

4.6 小结 58

4.7 练习 59

第五章 存贮管理 61

5.1 预备知识 61

5.2 裸机 62

5.3 常驻监控程序 62

5.3.1 保护设施 62

5.3.2 重定位 63

5.4 交换 65

5.4.1 后援存贮器 65

5.4.2 交换时间 65

5.4.3 重叠交换 66

5.5 多重分割 66

5.5.1 保护设施 67

5.5.2 固定区 67

5.5.3 可变分割 70

5.6 分页管理 74

5.6.1 硬件 75

5.6.2 作业调度 76

5.6.3 页表的实现 77

5.6.4 共享页面 78

5.6.5 保护 78

5.6.6 两种存贮观点 79

5.7 分段存贮管理 80

5.7.1 用户的内存观点 80

5.7.2 硬件 81

5.7.3 段表的实现 81

5.7.4 保护和共享 82

5.7.5 碎片 83

5.8 联合系统 83

5.8.1 分段分页技术 84

5.8.2 分页分段存贮管理 84

5.9 小结 85

5.10 练习 86

第六章 虚拟存贮器 88

6.1 复盖 88

6.2 请求式页面调度 90

6.3 请式调页的性能 93

6.4 页面替换 94

6.5 虚拟存贮器概念 95

6.6 页面替换算法 96

6.6.1 FIFO 97

6.6.2 最佳替换 97

6.6.3 LRU算法 98

6.6.4 LRU的近似法 99

6.7 分配算法 101

6.7.1 块的极小数 102

6.7.2 全局分配与局部分配 103

6.7.3 分配算法 103

6.8 颠簸 104

6.8.1 局部性 105

6.8.2 工作集模型 105

6.8.3 缺页中断率 106

6.9 其它考虑 106

6.9.1 预分页 106

6.9.2 I/O互锁 107

6.9.3 页面大小 108

6.9.4 程序结构 109

6.9.5 存贮层次 110

6.10 小结 110

6.11 练习 111

第七章 磁盘调度 114

7.1 物理特性 114

7.2 先来先服务调度 115

7.3 最短查找时间优先 116

7.4 SCAN 116

7.5 盘调度算法的选择 117

7.6 扇区排队 118

7.7 小结 118

7.8 练习 119

第八章 死锁处理 120

8.1 死锁问题 120

8.1.1 系统模型 121

8.1.2 死锁定义 121

8.2 死锁特性 121

8.2.1 必要条件 122

8.2.2 资源分配图 122

8.2.3 解决死锁的方法 124

8.3 死锁预防 124

8.3.1 互斥 124

8.3.2 占用并等待 124

8.3.3 非抢占 125

8.3.4 循环等待 125

8.4 死锁避免 125

8.4.1 多个示例的资源类 127

8.4.2 单一示例的资源类 129

8.5 死锁检测 129

8.5.1 资源类型中含若干示例 129

8.5.2 每类资源仅有单个示例 130

8.5.3 检测算法的应用 131

8.6 死锁恢复 131

8.6.1 终止进程 132

8.6.2 资源抢占 132

8.7 处理死锁的混合方法 133

8.8 小结 133

8.9 练习 134

第九章 并发进程 136

9.1 优先图 136

9.1.1 定义 136

9.1.2 并发条件 136

9.2 规格说明 137

9.21 Fork和Join结构 137

9.2.2 并发语句 139

9.2.3 比较 140

9.3 进程概念的回顾 140

9.3.1 进程的状态 140

9.3.2 与优先图的关系 141

9.4 进程层次 141

9.4.1 进程上的操作 142

9.4.2 静态和动态进程 143

9.5 临界段问题 143

9.5.1 临界段问题的定义 145

9.5.2 两进程的软件解决方法 146

9.5.3 N进程的软件解决方法 148

9.5.4 硬件解决方法 150

9.6 信号量 152

9.6.1 用法 152

9.6.2 实现 153

9.7 经典的进程协同问题 154

9.7.1 有界缓冲区问题 154

9.7.2 Readers/Writers问题 155

9.7.3 哲学家用餐问题 156

9.8 进程间通讯 157

9.8.1 命名方式 158

9.8.2 缓冲 160

9.8.3 异常条件的处理 161

9.9 小结 162

9.10 练习 162

第十章 并发程序设计 165

10.1 动机 165

10.2 模块化 165

10.2.1 进程 165

10.2.2 过程 165

10.2.3 抽象数据类型 166

10.3 同步 167

10.3.1 临界域 167

10.3.2 条件临界域 169

10.3.3 管程 172

10.4 练习 177

第十一章 保护 178

11.1 保护目标 178

11.2 机制和策略 178

11.3 保护领域 178

11.4 存取矩阵 179

11.5 存取矩阵的实现 180

11.5.1 全局表 180

11.5.2 存取表 180

11.5.3 权能表 180

11.5.4 锁钥机制 181

11.5.5 比较 181

11.5.6 策略 182

11.6 动态保护结构 182

11.7 取消 184

11.8 几个系统的保护方案 185

11.8.1 Unix 185

11.8.2 Multics 186

11.8.3 Hydra 187

11.9 基于语言的保护 187

11.10 保护问题 189

11.11 安全性 190

11.12 小结 191

11.13 练习 191

第十二章 设计原理 193

12.1 目标 193

12.1.1 使用者目标 193

12.1.2 系统目标 193

12.2 机制与策略 193

12.3 分层方法 194

12.4 虚拟机 195

12.5 多处理器 196

12.6 实现 197

12.7 系统生成 198

12.8 小结 199

12.9 练习 199

第十三章 分布式系统 200

13.1 为什么需要分布式系统 200

13.1.1 资源共享 200

13.1.2 计算机速度的提高 200

13.1.3 可靠性 200

13.1.4 通讯 201

13.2 拓扑结构 201

13.2.1 全互连结构 201

13.2.2 部分互连结构 201

13.2.3 层次结构 202

13.2.4 星结构 202

13.2.5 环结构 203

13.2.6 多存取总线结构 203

13.3 通讯 203

13.3.1 发送策略 203

13.3.2 连结策略 204

13.3.3 争夺 204

13.3.4 保密 205

13.3.5 设计观点 205

13.4 系统类型 206

13.4.1 计算机网络 206

13.4.2 局部网络 206

13.5 文件系统 207

13.5.1 Arpanet FTP 207

13.5.2 集中式途径 207

13.5.3 分布式途径 208

13.6 资源共享 208

13.6.1 数据迁移 208

13.6.2 作业迁移 208

13.7 事件定序 208

13.7.1 事发前关系 209

13.7.2 实现 209

13.8 同步 210

13.8.1 集中式途径 210

13.8.2 全分布途径 211

13.8.3 令牌传递途径 212

13.9 死锁处理 212

13.9.1 时间戳定序途径 213

13.9.2 死锁检测 214

13.10 坚固性 216

13.10.1 故障检测 216

13.10.2 重构 217

13.10.3 故障恢复 217

13.11 选择算法 218

13.11.1 恶霸算法 218

13.11.2 环算法 219

13.12 小结 219

13.13 练习 220

第十四章 Unix操作系统 221

14.1 Unix的历史 221

14.2 设计思想 223

14.3 程序员界面 224

14.3.1 文件操作 224

14.3.2 进程控制 226

14.3.3 信号 227

14.3.4 信息操作 228

14.3.5 库子程序 228

14.4 用户界面 228

14.4.1 shell和命令 229

14.4.2 标准I/O 230

14.4.3 管道、过滤和shell脚本 230

14.5 文件系统 231

14.5.1 块和段 231

14.5.2 索引结 231

14.5.3 目录 232

14.5.4 文件描述字与索引结之间的映象 233

14.5.5 磁盘结构 233

14.5.6 实现 234

14.5.7 设计和分配策略 234

14.6 进程管理 235

14.6.1 进程控制块 235

14.6.2 cpu调度 237

14.7 内存管理 238

14.7.1 交换 238

14.7.2 分页 239

14.8 I/O系统 240

14.8.1 高速块缓存 241

14.8.2 原始设备界面 241

14.8.3 C—表 242

14.9 进程间通讯 242

14.9.1 socket 242

14.9.2 网络支持 244

14.10 小结 245

附录 历史回顾 247

1 Atlas 247

2 XDS—940 247

3 THE 248

4 RC4000 248

5 CTSS 249

6 Multics 249

7 OS/360 250

8 其它系统 251

参考文献 251

相关图书
作者其它书籍
返回顶部