《计算机操作系统》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:何炎祥,李飞,李宁等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2011
  • ISBN:9787302245636
  • 页数:348 页
图书介绍:本书结合当今操作系统的设计并考虑操作系统的发展方向,着重讨论操作系统设计的基本概念、基本原理和典型技术。

第1章 操作系统概论 1

1.1 操作系统的作用 1

1.1.1 硬件系统和应用程序间的界面 1

1.1.2 资源管理者 2

1.1.3 推动操作系统发展的因素 2

1.2 操作系统的演变 3

1.2.1 串行处理系统 3

1.2.2 简单批处理系统 4

1.2.3 多道程序批处理系统 6

1.2.4 分时系统 8

1.2.5 实时系统 10

1.2.6 网络操作系统 11

1.2.7 分布式操作系统 11

1.2.8 嵌入式操作系统 12

1.3 操作系统的主要成就 13

1.3.1 进程 13

1.3.2 存储器管理 15

1.3.3 信息保护和安全性 16

1.3.4 调度和资源管理 17

1.3.5 系统结构 18

1.4 操作系统举例 20

1.4.1 Windows NT 20

1.4.2 UNIX System V 23

1.5 操作系统的主要研究课题 24

小结 25

习题 25

第2章 进程描述与控制 26

2.1 进程状态 26

2.1.1 进程产生和终止 27

2.1.2 进程状态模型 29

2.1.3 进程挂起 32

2.2 进程描述 36

2.2.1 操作系统控制结构 37

2.2.2 进程控制结构 37

2.2.3 进程属性 38

2.3 进程控制 40

2.3.1 执行模式 40

2.3.2 进程创建 41

2.3.3 进程切换 41

2.3.4 上下文切换 42

2.3.5 操作系统的运行 42

2.3.6 微核 44

2.4 线程和SMP 44

2.4.1 线程及其管理 44

2.4.2 多线程的实现 46

2.4.3 进程与线程的关系 47

2.4.4 SMP 48

2.5 系统举例 49

2.5.1 UNIX System V 49

2.5.2 Windows NT 52

2.5.3 Linux 56

小结 57

习题 58

第3章 并发控制——互斥与同步 61

3.1 并发原理 62

3.1.1 进程间的相互作用 64

3.1.2 进程间的相互竞争 65

3.1.3 进程间的相互合作 66

3.1.4 互斥的要求 67

3.2 互斥——用软件方法实现 68

3.2.1 Dekker算法 68

3.2.2 Peterson算法 72

3.3 互斥——用硬件方法解决 73

3.3.1 禁止中断 73

3.3.2 使用机器指令 73

3.4 信号量 75

3.4.1 用信号量解决互斥问题 77

3.4.2 用信号量解决生产者/消费者问题 78

3.4.3 信号量的实现 83

3.4.4 用信号量解决理发店问题 84

3.5 管程 87

3.5.1 带信号量的管程 87

3.5.2 用管程解决生产者/消费者问题 89

3.6 消息传递 90

3.6.1 消息传递原语 90

3.6.2 用消息传递实现同步 91

3.6.3 寻址方式 91

3.6.4 消息格式 92

3.6.5 排队规则 93

3.6.6 用消息传递实现互斥 93

3.7 读者/写者问题 95

3.7.1 读者优先 95

3.7.2 写者优先 96

3.8 系统举例 99

3.8.1 UNIX System V 99

3.8.2 Windows NT 101

小结 102

习题 103

第4章 死锁处理 105

4.1 死锁问题概述 105

4.1.1 可重用资源 105

4.1.2 消耗型资源 106

4.1.3 产生死锁的条件 107

4.2 死锁处理 108

4.2.1 死锁预防 108

4.2.2 死锁避免 109

4.2.3 死锁检测 113

4.2.4 死锁恢复 113

4.2.5 处理死锁的综合方法 114

4.3 哲学家用餐问题 114

小结 116

习题 116

第5章 内存管理 118

5.1 概述 118

5.1.1 基本概念 118

5.1.2 虚拟存储器 120

5.1.3 重定位 121

5.2 存储管理的基本技术 123

5.2.1 分区法 123

5.2.2 可重定位分区法 124

5.2.3 覆盖技术 125

5.2.4 交换技术 127

5.3 分页存储管理 127

5.3.1 基本概念 127

5.3.2 纯分页系统 130

5.3.3 请求式分页系统 131

5.3.4 硬件支持及缺页处理 132

5.3.5 页的共享和保护 133

5.4 分段存储管理 134

5.4.1 基本概念 134

5.4.2 基本原理 135

5.4.3 硬件支持和缺段处理 135

5.4.4 段的共享和保护 136

5.5 段页式存储管理 138

5.5.1 基本概念 138

5.5.2 地址转换 139

5.5.3 管理算法 140

5.6 虚拟内存的置换算法 140

5.6.1 先进先出页面置换算法 141

5.6.2 最佳页面置换算法 141

5.6.3 最近最少使用页面置换算法 141

5.6.4 第2次机会页面置换算法 142

5.6.5 时钟页面置换算法 143

5.6.6 其他页面置换算法 143

5.7 系统举例 144

5.7.1 UNIX系统中的存储管理技术 144

5.7.2 Linux系统中的存储管理技术 148

5.7.3 Windows NT系统中的存储管理技术 149

小结 150

习题 151

第6章 处理机调度 152

6.1 调度类型 152

6.1.1 长程调度 154

6.1.2 中程调度 154

6.1.3 短程调度 154

6.2 调度算法 154

6.2.1 短程调度标准 154

6.2.2 优先权的使用 156

6.2.3 调度策略 156

6.2.4 性能比较 164

6.2.5 模拟模型 165

6.2.6 公平分享调度策略 166

6.3 多处理机调度 167

6.3.1 粒度 168

6.3.2 设计要点 169

6.3.3 进程调度策略 170

6.4 实时调度 174

6.4.1 实时操作系统的特性 174

6.4.2 实时调度 177

6.4.3 期限调度 177

6.4.4 比率单调调度 180

6.5 响应时间 182

6.6 系统举例 183

6.6.1 UNIX System V 183

6.6.2 Windows NT 184

小结 186

习题 186

第7章 I/O设备管理 189

7.1 I/O系统硬件 189

7.1.1 I/O设备 189

7.1.2 设备控制器 190

7.1.3 I/O技术 191

7.2 I/O软件的层次结构 196

7.2.1 中断处理程序 196

7.2.2 设备驱动程序 197

7.2.3 与设备无关的I/O软件 198

7.2.4 用户空间的I/O软件 199

7.2.5 缓冲技术 201

7.3 磁盘调度 204

7.3.1 调度策略 205

7.3.2 磁盘高速缓存 208

7.4 系统举例 210

7.4.1 UNIX System V 210

7.4.2 Windows NT I/O分析 212

小结 215

习题 216

第8章 文件管理 218

8.1 文件与文件系统 218

8.1.1 文件及其分类 218

8.1.2 文件系统及其功能 219

8.2 文件的结构及存取方式 221

8.2.1 文件的逻辑结构及存取方式 221

8.2.2 文件的物理结构及存储设备 223

8.3 文件管理 228

8.3.1 文件目录结构 228

8.3.2 文件目录管理 233

8.4 文件存储空间的分配与管理 233

8.4.1 文件存储空间的分配 234

8.4.2 磁盘空间管理 235

8.5 系统举例——Windows NT 237

8.5.1 PE可移动执行的文件格式 238

8.5.2 PE文件首部 239

8.5.3 块表数据结构及辅助信息块 242

小结 246

习题 246

第9章 分布计算 247

9.1 客户/服务器计算 247

9.1.1 什么是客户/服务器计算 247

9.1.2 客户/服务器模式的应用 249

9.1.3 中间件 251

9.2 分布式消息传递 253

9.2.1 分布式消息传递的方法 253

9.2.2 消息传递的可靠性 254

9.3 远程过程调用 254

小结 255

习题 256

第10章 分布式进程管理 257

10.1 进程迁移 257

10.1.1 进程迁移的原因 257

10.1.2 进程迁移的机制 257

10.1.3 一种迁移方案 259

10.1.4 进程迁移的协商 260

10.1.5 进程驱逐 261

10.1.6 抢占及非抢占进程的迁移 261

10.2 分布式全局状态 262

10.2.1 全局状态及分布式快照 262

10.2.2 分布式快照算法 263

10.3 分布式进程管理——互斥 264

10.3.1 分布式互斥问题 265

10.3.2 分布式系统的事件定序——时戳方法 266

10.3.3 分布式互斥算法 268

10.4 分布式死锁 271

10.4.1 资源分配中的死锁 272

10.4.2 死锁预防 273

10.4.3 死锁避免 274

10.4.4 死锁检测 274

10.4.5 消息通信中的死锁 277

小结 279

习题 279

第11章 操作系统的安全性 281

11.1 安全性概述 281

11.1.1 安全性的内涵 281

11.1.2 操作系统的安全性 282

11.1.3 操作系统的安全性级别 284

11.2 安全保护机制 285

11.2.1 进程支持 285

11.2.2 内存及地址保护 286

11.2.3 存取控制 288

11.2.4 文件保护 292

11.2.5 用户身份鉴别 293

11.3 病毒及其防御 296

11.3.1 病毒概述 296

11.3.2 病毒的防御机制 297

11.3.3 特洛伊木马程序及其防御 298

11.4 加密技术 298

11.4.1 传统加密方法 299

11.4.2 公开密钥加密方法 300

11.4.3 密钥的管理 301

11.5 安全操作系统的设计 302

11.5.1 安全模型 303

11.5.2 安全操作系统的设计 305

11.6 系统举例——Windows 2000的安全性分析 308

小结 310

习题 311

第12章 一个小型操作系统的实现 312

12.1 MINIX概述 312

12.1.1 MINIX的组成结构 312

12.1.2 头文件 315

12.2 进程 317

12.2.1 进程概述 317

12.2.2 进程的具体实现 318

12.3 I/O系统 324

12.3.1 I/O系统概述 324

12.3.2 设备驱动程序的实现 325

12.4 内存管理 329

12.4.1 内存管理概述 329

12.4.2 内在管理的实现 332

12.5 文件系统 335

12.5.1 文件系统概述 335

12.5.2 实现 338

小结 342

习题 342

参考文献 344