《操作系统教程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:武伟,徐克奇,林捷主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302231929
  • 页数:282 页
图书介绍:本书详细介绍了操作系统的基本原理,剖析了两个典型的操作系统 Linux和Windows。

第1章 引论 1

1.1 计算机系统组成 1

1.1.1 计算机硬件系统结构 1

1.1.2 计算机软件系统 3

1.1.3 计算机系统结构 3

1.2 操作系统的作用和定义 3

1.2.1 操作系统的作用 3

1.2.2 操作系统的定义 5

1.3 操作系统的发展过程 5

1.4 操作系统的分类 7

1.4.1 批处理系统 8

1.4.2 分时操作系统 10

1.4.3 实时操作系统 11

1.4.4 多模式操作系统 12

1.4.5 微机操作系统 12

1.4.6 网络操作系统 13

1.4.7 分布式操作系统 15

1.4.8 嵌入式操作系统 16

1.4.9 智能卡操作系统 17

1.5 操作系统的功能和特性 17

1.5.1 操作系统的功能 17

1.5.2 操作系统的特性 19

1.6 操作系统的结构模型 20

1.6.1 整体式模型 20

1.6.2 层次式模型 21

1.6.3 客户/服务器系统模型 22

1.6.4 面向对象的程序设计 23

本章小结 23

习题 24

第2章 用户与操作系统的接口 26

2.1 作业控制级接口 26

2.1.1 作业 26

2.1.2 作业的类型 27

2.1.3 联机用户接口 27

2.1.4 脱机用户接口 29

2.2 程序级接口 30

2.2.1 用户态和核心态 30

2.2.2 特权指令和访管指令 30

2.2.3 系统调用 31

2.2.4 系统调用的使用和执行过程 32

本章小结 32

习题 33

第3章 进程的描述与控制 35

3.1 程序执行方式 35

3.1.1 程序顺序执行 35

3.1.2 程序并发执行 36

3.2 进程描述 39

3.2.1 进程定义 39

3.2.2 进程特性 39

3.2.3 进程与程序的区别 40

3.2.4 进程控制块 40

3.3 进程状态 42

3.3.1 进程执行 42

3.3.2 进程的基本状态 42

3.3.3 进程的挂起 44

3.4 进程控制 45

3.4.1 内核 45

3.4.2 微内核 46

3.4.3 进程控制 47

3.5 线程 48

3.5.1 线程引入 49

3.5.2 线程定义 49

3.5.3 线程的状态 50

3.5.4 线程和进程的比较 50

3.5.5 线程分类 51

3.5.6 线程的模型 52

3.6 Linux进程管理 53

3.6.1 Linux进程状态 53

3.6.2 task struct结构 54

3.6.3 Linux进程的创建 55

3.6.4 进程使用的虚拟内存 57

3.6.5 Linux的进程调度 58

3.7 Windows的进程管理 58

3.7.1 Windows的进程和线程模型总述 59

3.7.2 Windows中进程的实现 59

3.7.3 Windows中线程的实现 59

3.7.4 Windows的线程调度 60

本章小结 64

习题 65

第4章 进程通信 67

4.1 进程的同步与互斥 67

4.1.1 进程合作 67

4.1.2 共享资源 68

4.1.3 与时间有关的错误 68

4.1.4 临界资源与临界区 70

4.1.5 同步机构设计准则 71

4.2 互斥的软件方法 71

4.3 硬件指令机制 75

4.3.1 测试与设置技术 75

4.3.2 TS指令 75

4.3.3 利用TS实现进程互斥 75

4.4 信号量机制 76

4.4.1 整型信号量 77

4.4.2 结构型信号量 77

4.4.3 AND型信号量集 78

4.5 用信号量机制实现互斥与同步 79

4.5.1 用信号量实现互斥 79

4.5.2 用信号量实现同步 79

4.6 经典进程同步问题 81

4.6.1 生产者—消费者问题 82

4.6.2 哲学家就餐问题 83

4.6.3 读者—写者问题 85

4.6.4 睡眠的理发师问题 88

4.7 进程通信方式 89

4.7.1 共享存储区系统 89

4.7.2 管道通信系统 90

4.7.3 消息传递系统 91

本章小结 94

习题 95

第5章 处理器调度 98

5.1 三级调度的概念 98

5.1.1 作业的状态及其转换 98

5.1.2 调度的层次 100

5.1.3 调度模型 100

5.1.4 作业和进程的关系 102

5.2 作业调度 102

5.2.1 作业调度的功能 103

5.2.2 作业调度的目标与性能衡量 103

5.3 进程调度 105

5.3.1 进程调度的功能 105

5.3.2 进程调度的方式 106

5.3.3 进程调度的时机 107

5.4 常用的调度算法 107

5.4.1 先来先服务调度算法 107

5.4.2 短作业(进程)优先调度算法 109

5.4.3 时间片轮转调度算法 110

5.4.4 高优先权优先调度算法 112

5.4.5 最高响应比优先调度算法 113

5.4.6 多级队列调度算法 114

5.4.7 多级反馈队列调度算法 114

5.5 实例分析:UNIX进程调度 115

5.5.1 调度时机 115

5.5.2 调度标记设置 116

5.5.3 优先数计算 116

5.5.4 调度的实现 116

本章小结 117

习题 117

第6章 死锁 120

6.1 死锁的基本概念 120

6.1.1 死锁的定义 120

6.1.2 死锁产生的原因 120

6.1.3 死锁的必要条件 122

6.1.4 处理死锁的策略 123

6.2 死锁预防 123

6.3 死锁避免 125

6.3.1 安全状态和不安全状态 125

6.3.2 利用银行家算法避免死锁 126

6.4 死锁检测 129

6.5 死锁解除 131

6.6 死锁综合处理 132

本章小结 132

习题 133

第7章 实存储管理技术 135

7.1 存储管理的基本概念 135

7.1.1 存储管理要解决的问题 135

7.1.2 存储管理的分类 135

7.1.3 地址重定位 137

7.2 连续分配存储管理方式 139

7.2.1 单一连续分配方式 139

7.2.2 固定分区存储管理方式 139

7.2.3 可变分区存储管理方式 141

7.3 离散分配存储管理方式 147

7.3.1 分页存储管理方式 148

7.3.2 分段存储管理方式 154

7.3.3 段页式存储管理方式 158

本章小结 160

习题 161

第8章 虚拟存储管理技术 164

8.1 虚拟存储器的基本概念 164

8.1.1 局部性原理 164

8.1.2 虚拟存储器 165

8.2 请求分页式存储管理方式 165

8.2.1 请求分页式存储管理的基本概念 166

8.2.2 页面分配策略 168

8.2.3 页面调入时机 169

8.2.4 页面置换算法 169

8.2.5 请求分页系统的性能分析 173

8.3 请求分段式存储管理方式 175

8.3.1 请求分段式存储管理的基本概念 175

8.3.2 分段共享与保护 177

8.4 Linux存储管理 178

8.4.1 Linux的内存空间 178

8.4.2 Linux的页表机制 178

8.4.3 Linux内存页的分配 178

8.4.4 Linux内存页的置换算法 179

8.5 Windows存储管理 179

8.5.1 Windows的虚拟地址空间 179

8.5.2 页面状态 180

8.5.3 地址转换机制 180

8.5.4 页面目录、页表和PTE的结构 182

8.5.5 页面调度策略与工作集管理 183

8.5.6 Windows的存储保护 184

本章小结 184

习题 184

第9章 设备管理 187

9.1 I/O设备管理的基本概念 187

9.2 I/O系统的组成 188

9.2.1 I/O设备概述 188

9.2.2 设备控制器 189

9.2.3 I/O通道 190

9.3 I/O控制方式 191

9.3.1 程序I/O方式 191

9.3.2 中断驱动I/O方式 191

9.3.3 直接存储器存取方式 192

9.3.4 I/O通道方式 193

9.4 缓冲管理 193

9.4.1 缓冲的引入 193

9.4.2 缓冲区及其管理 194

9.5 设备分配 197

9.5.1 设备分配中的数据结构 197

9.5.2 设备分配策略 198

9.5.3 设备独立性 199

9.5.4 独占设备分配方法 200

9.5.5 SPOOLing技术 202

9.6 I/O软件的组成 203

9.6.1 中断处理程序 204

9.6.2 设备驱动程序 206

9.6.3 与设备无关的系统软件 208

9.6.4 用户空间的I/O软件 209

9.7 磁盘I/O 210

9.7.1 磁盘性能概述 210

9.7.2 数据的组织 210

9.7.3 磁盘访问时间 211

9.7.4 磁盘调度算法 212

9.8 Linux的设备管理 214

9.8.1 设备和设备特殊文件 214

9.8.2 设备驱动程序的动态安装 215

9.8.3 设备驱动程序 215

9.8.4 设备文件的存取权限和系统安全 217

9.9 Windows的设备管理 218

9.9.1 Windows的I/O设计目标 218

9.9.2 Windows的I/O结构 218

9.9.3 Windows的设备驱动程序 219

9.9.4 Windows的I/O处理 222

本章小结 222

习题 223

第10章 文件系统 225

10.1 文件和文件系统 225

10.1.1 文件 225

10.1.2 文件系统 226

10.1.3 文件的分类 227

10.1.4 文件系统的功能和基本操作 228

10.2 文件的逻辑结构 229

10.2.1 文件的逻辑结构 229

10.2.2 文件的组织和存取 230

10.3 外存分配 233

10.3.1 文件的物理结构 233

10.3.2 连续分配 234

10.3.3 链接分配 234

10.3.4 索引分配 235

10.3.5 文件分配表FAT 237

10.4 文件目录 240

10.4.1 文件控制块 240

10.4.2 索引结点 241

10.4.3 单级目录结构 242

10.4.4 二级目录结构 242

10.4.5 多级目录结构 243

10.4.6 目录查询技术 244

10.5 文件存储空间的管理 245

10.5.1 空闲表法 245

10.5.2 空闲链表法 246

10.5.3 位示图 246

10.5.4 成组链接法 248

10.6 文件的共享 249

10.6.1 目录结构中的共享 249

10.6.2 打开文件结构中的共享 251

10.6.3 管道文件 252

10.7 文件系统的安全性 254

10.7.1 文件的存取控制 254

10.7.2 文件的转储和恢复 257

10.8 Linux文件系统 257

10.9 Windows NTFS 259

10.9.1 NTFS的重要特征 259

10.9.2 NTFS的磁盘组织 260

10.9.3 NTFS的文件组织 260

10.9.4 NTFS的可恢复性 261

本章小结 262

习题 263

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

11.1 操作系统安全性概述 265

11.1.1 操作系统安全性的内容 266

11.1.2 操作系统安全性的特性 267

11.2 操作系统的安全管理与保护 267

11.3 数据的安全管理与保护 271

11.3.1 文件的存取控制 271

11.3.2 数据加密技术 271

11.3.3 认证技术 275

11.4 计算机病毒 277

11.4.1 计算机病毒概述 277

11.4.2 计算机病毒的分类 278

11.4.3 常用反病毒技术 279

11.4.4 未来计算机病毒的发展趋势 280

本章小结 281

习题 281

参考文献 282