《计算机操作系统教程 第4版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:张尧学,宋虹,张高编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302336686
  • 页数:299 页
图书介绍:操作系统是现代计算机系统中必不可少的基本系统软件,也是计算机专业的必修课程和从事计算机应用人员必不可少的知识。本书是编著者在清华大学计算机系多年教学和科研的基础上对其第3版改编而成的。主要内容包括操作系统用户界面、进程与线程管理、处理机管理、内存管理、文件系统与设备管理等基本原理及Linux和Windows两个主流操作系统的内核介绍。

第1章 绪论 1

1.1 操作系统概念 1

1.2 操作系统的历史 2

1.2.1 手工操作阶段 2

1.2.2 早期批处理 3

1.2.3 多道程序系统 5

1.2.4 分时操作系统 6

1.2.5 实时操作系统 6

1.2.6 通用操作系统 7

1.2.7 操作系统的进一步发展 7

1.3 操作系统的基本类型 8

1.3.1 批处理操作系统 8

1.3.2 分时系统 9

1.3.3 实时系统 9

1.3.4 通用操作系统 10

1.3.5 个人计算机上的操作系统 10

1.3.6 网络操作系统 10

1.3.7 分布式操作系统 11

1.4 操作系统功能 11

1.4.1 处理机管理 12

1.4.2 存储管理 12

1.4.3 设备管理 12

1.4.4 信息管理(文件系统管理) 12

1.4.5 用户接口 13

1.5 计算机硬件简介 13

1.5.1 计算机的基本硬件元素 13

1.5.2 与操作系统相关的几种主要寄存器 14

1.5.3 存储器的访问速度 15

1.5.4 指令的执行与中断 15

1.5.5 操作系统的启动 16

1.6 算法的描述 16

1.7 研究操作系统的几种观点 17

1.7.1 计算机资源管理者的观点 18

1.7.2 用户界面的观点 18

1.7.3 进程管理的观点 18

本章小结 18

习题 19

第2章 操作系统用户界面 20

2.1 简介 20

2.2 一般用户的输入输出界面 21

2.2.1 作业的定义 21

2.2.2 作业组织 21

2.2.3 一般用户的输入输出方式 22

2.3 命令控制界面 24

2.4 Linux与Windows的命令控制界面 25

2.4.1 Linux的命令控制界面 25

2.4.2 Windows的命令控制界面 27

2.5 系统调用 29

2.6 Linux和Windows的系统调用 31

2.6.1 Linux系统调用 31

2.6.2 Windows系统调用 32

本章小结 33

习题 34

第3章 进程管理 35

3.1 进程的概念 35

3.1.1 程序的并发执行 35

3.1.2 进程的定义 39

3.2 进程的描述 39

3.2.1 进程控制块 40

3.2.2 进程上下文 41

3.2.3 进程上下文切换 43

3.2.4 进程空间与大小 43

3.3 进程状态及其转换 44

3.3.1 进程状态 44

3.3.2 进程状态转换 44

3.4 进程控制 45

3.4.1 进程创建与撤销 45

3.4.2 进程的阻塞与唤醒 47

3.5 进程互斥 47

3.5.1 资源共享所引起的制约 47

3.5.2 互斥的加锁实现 50

3.5.3 信号量和P、V原语 51

3.5.4 用P、V原语实现进程互斥 54

3.6 进程同步 55

3.6.1 同步的概念 55

3.6.2 私用信号量 56

3.6.3 用P、V原语操作实现同步 57

3.6.4 生产者-消费者问题 58

3.7 进程通信 59

3.7.1 进程的通信方式 59

3.7.2 消息缓冲机制 60

3.7.3 邮箱通信 61

3.7.4 进程通信的实例——和控制台的通信 62

3.7.5 进程通信的实例——管道 66

3.8 死锁问题 69

3.8.1 死锁的概念 69

3.8.2 死锁的消除方法 70

3.9 线程的概念 71

3.9.1 为什么要引入线程 71

3.9.2 线程的基本概念 72

3.9.3 线程与进程的区别 72

3.9.4 线程的适用范围 73

3.1 0线程分类与执行 74

3.1 0.1 线程的分类 74

3.1 0.2 线程的执行特性 76

本章小结 77

习题 77

第4章 处理机调度 79

4.1 分级调度 79

4.1.1 作业的状态及其转换 79

4.1.2 调度的层次 80

4.1.3 作业与进程的关系 81

4.2 作业调度 81

4.2.1 作业调度功能 81

4.2.2 作业调度目标与性能衡量 82

4.3 进程调度 84

4.3.1 进程调度的功能 84

4.3.2 进程调度的时机 85

4.3.3 进程调度性能评价 86

4.4 调度算法 86

4.5 算法评价 90

4.5.1 FCFS方式的调度性能分析 90

4.5.2 轮转法调度性能评价 93

4.5.3 线性优先级法的调度性能 94

4.6 实时系统调度方法 95

4.6.1 实时系统的特点 95

4.6.2 实时调度算法的分类 97

4.6.3 时限调度算法与频率单调调度算法 97

本章小结 99

习题 99

第5章 存储管理 101

5.1 存储管理的功能 101

5.1.1 虚拟存储器 101

5.1.2 地址变换 102

5.1.3 内外存数据传输的控制 104

5.1.4 内存的分配与回收 104

5.1.5 内存信息的共享与保护 105

5.2 分区存储管理 106

5.2.1 分区管理基本原理 106

5.2.2 分区的分配与回收 108

5.2.3 有关分区管理其他问题的讨论 111

5.3 覆盖与交换技术 112

5.3.1 覆盖技术 112

5.3.2 交换技术 113

5.4 页式管理 115

5.4.1 页式管理的基本原理 115

5.4.2 静态页面管理 115

5.4.3 动态页式管理 118

5.4.4 请求页式管理中的置换算法 120

5.4.5 存储保护 123

5.4.6 页式管理的优缺点 123

5.5 段式与段页式管理 124

5.5.1 段式管理的基本思想 124

5.5.2 段式管理的实现原理 124

5.5.3 段式管理的优缺点 128

5.5.4 段页式管理的基本思想 129

5.5.5 段页式管理的实现原理 129

5.6 局部性原理和抖动问题 131

本章小结 134

习题 134

第6章 进程与存储管理示例 136

6.1 Linux进程和存储管理简介 136

6.2 Linux进程结构 139

6.2.1 进程的概念 139

6.2.2 进程的虚拟地址结构 140

6.2.3 进程上下文 141

6.2.4 进程的状态和状态转换 143

6.2.5 小结 145

6.3 Linux进程控制 145

6.3.1 Linux启动及进程树的形成 145

6.3.2 进程控制 146

6.4 Linux进程调度 149

6.5 Linux进程通信 152

6.5.1 Linux的低级通信 152

6.5.2 进程间通信 153

6.6 Linux存储管理 161

6.6.1 虚存空间和管理 161

6.6.2 请求调页技术 163

本章小结 165

习题 166

第7章 Windows的进程与内存管理 167

7.1 Windows NT的特点及相关的概念 167

7.1.1 Windows NT体系结构的特点 167

7.1.2 Windows的管理机制 168

7.2 Windows进程和线程 169

7.2.1 Windows的进程和线程的定义 170

7.2.2 进程和线程的关联 170

7.2.3 Windows进程的结构 170

7.2.4 Windows线程的结构 171

7.2.5 Windows进程和线程的创建 172

7.3 Windows处理器调度机制 173

7.3.1 调度优先级 174

7.3.2 线程状态 174

7.3.3 线程调度机制 175

7.4 Windows的内存管理 176

7.4.1 内存管理器 177

7.4.2 内存管理的机制 177

7.5 虚拟地址空间 178

7.5.1 虚拟地址空间布局 178

7.5.2 虚拟地址转换 179

7.6 页面调度 181

7.6.1 缺页处理 181

7.6.2 工作集及页面调度策略 182

7.6.3 页框号和物理内存管理 182

本章小结 183

习题 184

第8章 文件系统 185

8.1 文件系统的概念 185

8.2 文件的逻辑结构与存取方法 187

8.2.1 逻辑结构 187

8.2.2 存取方法 189

8.3 文件的物理结构与存储设备 191

8.3.1 文件的物理结构 192

8.3.2 文件存储设备 194

8.4 文件存储空间管理 195

8.5 文件目录管理 197

8.5.1 文件的组成 198

8.5.2 文件目录 198

8.5.3 便于共享的文件目录 200

8.5.4 目录管理 201

8.6 文件存取控制 203

8.7 文件的使用 205

8.8 文件系统的层次模型 205

本章小结 207

习题 208

第9章 设备管理 210

9.1 引言 210

9.1.1 设备的类别 210

9.1.2 设备管理的功能和任务 211

9.2 数据传送控制方式 212

9.2.1 程序直接控制方式 212

9.2.2 中断方式 213

9.2.3 DMA方式 215

9.2.4 通道控制方式 217

9.3 中断技术 219

9.3.1 中断的基本概念 219

9.3.2 中断的分类与优先级 219

9.3.3 软中断 220

9.3.4 中断处理过程 220

9.4 缓冲技术 222

9.4.1 缓冲的引入 222

9.4.2 缓冲的种类 222

9.4.3 缓冲池的管理 223

9.5 设备分配 225

9.5.1 设备分配用数据结构 225

9.5.2 设备分配的原则 227

9.5.3 设备分配算法 228

9.6 I/O进程控制 228

9.6.1 I/O控制的引入 228

9.6.2 I/O控制的功能 228

9.6.3 I/O控制的实现 229

9.7 设备驱动程序 230

本章小结 230

习题 231

第10章 Linux文件系统 233

10.1 Linux文件系统的特点与文件类别 233

10.1.1 特点 233

10.1.2 文件类型 234

10.2 Linux的虚拟文件系统 235

10.2.1 虚拟文件系统框架 235

10.2.2 Linux虚拟文件系统的数据结构 235

10.2.3 VFS的系统调用 241

10.3 文件系统的注册和挂装 242

10.3.1 文件系统注册 242

10.3.2 已挂装文件系统描述符链表 243

10.3.3 挂装根文件系统 244

10.3.4 挂装一般文件系统 245

10.3.5 卸载文件系统 246

10.4 进程与文件系统的联系 246

10.4.1 系统打开文件表 246

10.4.2 用户打开文件表 246

10.4.3 进程的当前目录和根目录 247

10.5 ext2文件系统 247

10.5.1 ext2文件系统的存储结构 247

10.5.2 ext2文件系统主要的磁盘数据结构 248

10.5.3 ext2文件系统的内存数据结构 251

10.5.4 数据块寻址 252

10.6 块设备驱动 253

10.6.1 设备配置 253

10.6.2 设备驱动程序的接口 254

10.7 字符设备驱动 255

本章小结 256

习题 257

第11章 Windows的设备管理和文件系统 258

11.1 Windows I/O系统的结构 258

11.1.1 设计目标 258

11.1.2 设备管理服务 258

11.2 设备驱动程序和I/O处理 259

11.2.1 设备驱动类型和结构 260

11.2.2 Windows的I/O处理 260

11.3 Windows的文件系统 262

11.3.1 Windows磁盘管理 263

11.3.2 Windows文件系统格式 263

11.3.3 Windows文件系统驱动 264

11.4 NTFS文件系统 264

11.4.1 NTFS的特点 264

11.4.2 NTFS的磁盘结构 265

11.4.3 NTFS的文件系统恢复 266

本章小结 267

习题 268

第12章 嵌入式操作系统简介 269

12.1 嵌入式操作系统的总体架构 269

12.1.1 嵌入式操作系统特点及分类 269

12.1.2 嵌入式操作系统的总体架构 270

12.2 嵌入式操作系统的任务管理 273

12.2.1 多任务机制 273

12.2.2 任务状态和任务状态迁移 274

12.2.3 任务调度 275

12.2.4 任务间通信 276

12.2.5 VxWorks任务管理 278

12.3 内存管理 281

12.3.1 动态内存管理机制 282

12.3.2 VxWorks动态内存管理函数 282

12.3.3 虚拟内存管理机制 283

12.3.4 VxWorks虚拟内存管理 284

12.4 设备管理与文件系统 285

12.4.1 I/O系统内部结构 285

12.4.2 实时内核的中断管理 286

12.4.3 基本I/O操作流程 287

12.4.4 VxWorks的I/O接口 287

12.4.5 文件系统架构及操作 288

12.4.6 VxWorks文件系统 289

12.5 嵌入式操作系统的开发 290

12.5.1 集成开发环境Tornado 291

12.5.2 VxWorks的交叉编译开发环境 294

12.5.3 实例开发的设计与实现过程 296

本章小结 297

习题 298

参考文献 299