《计算机操作系统教程 核心与设计原理》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:范策,许宪成主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302147620
  • 页数:357 页
图书介绍:本书介绍计算机操作系统的核心与设计原理,包括进程管理,中断与调度,死锁,文件管理,用户接口等知识。

第1章 操作系统概述 1

1.1 什么是操作系统 1

1.2 操作系统的目标和功能 4

1.2.1 操作系统的目标 4

1.2.2 操作系统的功能 5

1.3 操作系统的发展历程 7

1.3.1 操作系统的形成 8

1.4.1 多道批处理操作系统 11

1.4 操作系统的分类 11

1.3.2 操作系统的完善 11

1.4.2 分时操作系统 14

1.4.3 实时操作系统 16

1.4.4 通用操作系统 17

1.4.5 网络操作系统 18

1.4.6 分布式操作系统 18

1.4.7 微机操作系统 19

1.4.8 嵌入式操作系统 19

1.4.9 多处理机操作系统 20

1.5 支持操作系统的硬件环境 22

1.6 操作系统的特征和服务 24

1.6.1 操作系统的特征 25

1.6.2 操作系统的服务 26

1.7 典型的现代操作系统 26

1.7.1 Windows 26

1.7.2 UNIX系统 28

1.7.3 Linux系统 28

习题1 29

第2章 作业管理 31

2.1 作业的基本概念 31

2.1.1 作业的定义 31

2.1.2 作业的分类 32

2.2 批处理作业控制 33

2.2.1 作业状态 33

2.2.2 作业控制块 34

2.2.3 作业控制过程 35

2.3.1 作业调度算法的目标与设计因素 36

2.3 调度算法 36

2.3.2 单道批处理作业调度算法 37

2.3.3 多道批处理作业调度算法 39

2.4 交互式作业控制 40

2.4.1 命令接口的结构 40

2.4.2 联机命令 40

2.4.3 命令解释程序 42

2.4.4 终端处理程序 42

2.4.5 交互式系统实例——分时系统 43

习题2 44

第3章 进程管理 45

3.1 多道程序设计 45

3.2 进程的概念 46

3.2.1 前驱图和程序执行 47

3.2.2 进程的描述 54

3.3 进程控制块和状态转换 55

3.3.1 进程控制块(PCB) 56

3.3.2 进程状态及其转换 58

3.4.1 操作系统控制结构 64

3.4 进程控制 64

3.4.2 进程创建与终止 67

3.4.3 进程的阻塞与唤醒 69

3.4.4 进程的挂起与激活 70

3.4.5 进程间的相互关系 70

3.5 线程 71

3.5.1 线程的引入 72

3.5.2 线程的结构与线程控制块(TCB) 72

3.5.3 线程与进程 73

3.5.4 线程的实现 74

3.5.5 线程的应用 76

习题3 79

第4章 中断和处理机调度 81

4.1 中断 81

4.1.1 中断和指令周期 81

4.1.2 中断处理 83

4.1.3 多个中断 86

4.2 处理机调度 88

4.2.1 高级、中级和低级调度 88

4.1.4 多道程序设计 88

4.2.2 进程调度方式 92

4.2.3 调度算法 93

4.2.4 调度时机 102

4.3 实时调度 102

4.3.1 实现实时调度的基本条件 102

4.3.2 实时调度算法的分类 104

4.3.3 实时调度算法 105

4.4.1 多处理机系统的类型 107

4.4 多处理机调度 107

4.4.2 自调度 108

4.4.3 组调度 108

习题4 108

第5章 并发性:互斥、同步和通信 111

5.1 并发的原理 111

5.1.1 与时间有关的错误 111

5.1.2 互斥与同步的概念 112

5.1.3 临界区与进程互斥 113

5.1.4 硬件支持互斥的方法 114

5.2 信号量机制 116

5.2.1 信号量的概念 116

5.2.2 信号量的应用 117

5.2.3 生产者-消费者问题 119

5.2.4 哲学家进餐问题 121

5.2.5 读者-写者问题 122

5.3 管程机制 124

5.3.1 管程的概念 125

5.3.2 生产者-消费者问题 127

5.3.3 哲学家进餐问题 128

5.4 进程通信 130

5.4.1 进程通信的方式 130

5.4.2 消息缓冲通信 131

5.4.3 信箱通信 132

5.4.4 共享文件通信 133

5.4.5 消息传递系统的若干问题 133

习题5 135

6.1 死锁的概念 137

第6章 并发性:死锁 137

6.2 产生死锁的条件和处理 139

6.2.1 必要条件 139

6.2.2 处理死锁的基本方法 139

6.3 死锁的预防 140

6.3.1 预先分配策略 141

6.3.2 有序分配策略 141

6.4.1 系统安全状态 142

6.4 死锁的避免 142

6.4.2 银行家算法 143

6.5 死锁的检测与解除 145

6.5.1 死锁的检测 145

6.5.2 死锁的解除 148

6.6 死锁的综合处理策略 149

习题6 150

第7章 内存管理 152

7.1 内存管理的功能 152

7.1.1 内存分配 152

7.1.2 地址变换 153

7.1.3 存储保护 154

7.1.4 存储共享 154

7.1.5 存储扩充 155

7.2 程序的加载和链接 155

7.2.1 程序的加载 155

7.2.2 程序的链接 157

7.3 连续分配方式 159

7.3.1 单一连续分配 159

7.3.2 固定分区分配 160

7.3.3 动态分区分配 161

7.3.4 可重定位分区分配 163

7.3.5 交换和覆盖 164

7.4 基本分页分配方式 166

7.4.1 页面与页表 166

7.4.2 地址变换机构 168

7.4.3 页面大小 170

7.5 基本分段分配方式 171

7.5.1 段表 171

7.5.2 地址变换机构 172

7.5.3 共享与保护 173

7.6 虚拟页式分配 174

7.6.1 虚拟存储器 174

7.5.4 分页与分段的区别 174

7.6.2 请求分页概念 176

7.6.3 请求分页硬件支持 176

7.6.4 内存分配策略 177

7.6.5 内存分配方法 180

7.6.6 缺页处理 180

7.7.1 最优页面置换算法 181

7.7 页面置换算法 181

7.7.2 先进先出置换算法 182

7.7.3 最近最少使用置换算法 184

7.7.4 用软件模拟LRU算法 185

7.7.5 时钟算法 186

7.7.6 改进时钟算法 187

7.7.7 工作集模型 188

7.8 虚拟段式分配 189

7.8.3 缺段中断 190

7.8.1 请求分段中的硬件支持 190

7.8.2 地址变换机构 190

7.9 段页式分配方式 191

7.9.1 段页式分配的原理 191

7.9.2 段页式分配的地址变换 192

7.9.3 分段和分页的结合:Inter Pentium 193

习题7 195

8.1 I/O系统 197

8.1.1 设备的分类 197

第8章 设备与I/O管理 197

8.1.2 设备的标识 200

8.1.3 I/O系统的结构 201

8.2 I/O设备数据传输控制方式 202

8.2.1 程序直接控制方式 202

8.2.2 中断控制方式 203

8.2.3 DMA控制方式 204

8.2.4 通道控制方式 205

8.3 设备管理与功能 208

8.4.1 设备分配中的数据结构 210

8.4 设备分配 210

8.4.2 设备分配应考虑的因素和分配技术 211

8.4.3 设备分配算法 215

8.4.4 SPOOLING系统 215

8.5 缓冲技术 218

8.5.1 缓冲的引入 219

8.5.2 单缓冲 221

8.5.3 双缓冲 222

8.5.4 循环缓冲 223

8.5.5 缓冲池 225

8.6 设备驱动程序 228

8.6.1 设备驱动程序的功能和特点 228

8.6.2 设备驱动程序的处理过程 229

8.7 磁盘存储器管理 230

8.7.1 磁盘I/O 231

8.7.2 磁盘调度算法 236

8.8 RAID技术 240

8.8.1 RAID技术的引入 240

8.8.2 RAID分级 241

习题8 242

第9章 文件管理 244

9.1 文件系统的概念 244

9.1.1 文件和文件系统 244

9.1.2 文件分类 245

9.1.3 文件操作 247

9.2 文件的逻辑结构 248

9.2.1 文件逻辑结构的类型 248

9.2.3 索引文件 249

9.2.2 顺序文件 249

9.2.4 索引顺序文件 250

9.2.5 直接文件和散列文件 250

9.3 文件的物理结构 251

9.3.1 顺序结构 251

9.3.2 链接结构 253

9.3.3 索引结构 255

9.4 文件的存取方法 258

9.4.1 顺序存取 258

9.4.3 按键存取 259

9.4.2 直接存取 259

9.5 文件目录 261

9.5.1 文件控制块与索引结点 262

9.5.2 文件目录与目录文件 264

9.5.3 目录结构 264

9.5.4 目录查询技术 268

9.6 文件存储空间管理 269

9.6.1 空闲表和空闲链表 269

9.6.2 位示图 270

9.6.3 UNIX成组链接 271

9.7.1 文件共享的模式 273

9.7 文件共享和保护 273

9.7.2 文件的保护 276

习题9 279

第10章 操作系统接口 280

10.1 作业级接口 280

10.1.1 脱机用户接口 280

10.1.2 联机用户接口 281

10.2 图形用户接口 283

10.3.1 Shell命令语言 284

10.3 Shell语言 284

10.3.2 Shell过程 289

10.4 系统调用 291

10.4.1 系统调用简介 291

10.4.2 系统调用的类型 291

10.4.3 系统调用的实现 292

习题10 295

11.1 网络操作系统概述 296

11.1.1 计算机网络 296

第11章 网络操作系统 296

11.1.2 网络操作系统的功能 301

11.1.3 网络操作系统的特性 302

11.2 网络操作系统的工作模式 303

11.3 基本通信技术 304

11.3.1 消息传递 304

11.3.2 远程过程调用 306

11.3.3 socket系统调用 309

11.4.2 数据和软件资源共享 314

11.4 网络资源共享技术 314

11.4.1 硬件资源共享 314

11.5 网络文件系统 315

11.5.1 NFS组成 316

11.5.2 NFS体系结构 316

11.5.3 NFS实现分析 318

习题11 319

12.1 Linux系统特征与结构 320

12.1.1 Linux简介 320

第12章 Linux/UNIX系统 320

12.1.2 内核结构 322

12.2 进程管理 324

12.2.1 进程控制块结构 324

12.2.2 进程调度算法和调度策略 326

12.2.3 进程使用的文件 327

12.2.4 进程使用的虚拟内存 328

12.2.5 系统调用 329

12.2.6 进程的创建与终止 330

12.3.1 信号 331

12.3 进程间通信机制 331

12.3.2 管道 332

12.3.3 消息队列 334

12.3.4 信号量 335

12.3.5 共享内存 336

12.4 存储管理 337

12.4.1 进程的虚存空间 337

12.4.2 Linux的多级页表 338

12.4.3 物理内存管理 339

12.4.4 页面更换 340

12.5 I/O管理 341

12.5.1 设备管理概述 341

12.5.2 设备驱动程序与内核接口 342

12.6 文件系统 344

12.6.1 第二扩展文件系统(ext2) 345

12.6.2 虚拟文件系统(VFS) 348

习题12 356

参考文献 358