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

  • 购买积分:11 如何计算积分?
  • 作  者:张尧学,史美林,张高编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2006
  • ISBN:7302136289
  • 页数:284 页
图书介绍:本书内容包括操作系统用户界面、进程与线程管理、处理机管理、内存管理等基本原理和操作系统内核。

第1章 绪论 1

1.1 操作系统概念  1

1.2 操作系统的历史  2

1.2.1 手工操作阶段  3

1.2.2 早期批处理  3

1.2.3 多道程序系统  6

1.2.4 分时操作系统  6

1.2.5 实时操作系统  7

1.2.6 通用操作系统  7

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

1.3 操作系统的基本类型  8

1.3.1 批处理操作系统  8

1.3.2 分时系统  9

1.3.3 实时系统  10

1.3.4 通用操作系统  10

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

1.3.7 分布式操作系统  11

1.3.6 网络操作系统 11

1.4 操作系统功能  12

1.4.1 处理机管理  12

1.4.2 存储管理  13

1.4.3 设备管理  13

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

1.5 计算机硬件简介  14

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

1.4.5 用户接口 14

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

1.5.3 存储器的访问速度  16

1.5.4 指令的执行与中断  17

1.5.5 操作系统的启动  18

1.6 算法的描述  18

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

1.7.1 操作系统是计算机资源的管理者  20

1.7.2 用户界面的观点 20

1.7.3 进程管理的观点  20

习题  21

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

2.1 简介 22

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

2.2.1 作业的定义  23

2.2.2 作业组织 24

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

2.3 命令控制界面  26

2.4.1 Linux的命令控制界面  28

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

2.4.2 Windows的命令控制界面  29

2.5 系统调用 32

2.6 Linux和Windows的系统调用  33

2.6.1 Linux系统调用 33

2.6.2 Windows系统调用 34

本章小结  36

习题  36

3.1.1 程序的并发执行  38

3.1 进程的概念  38

第3章 进程管 38

3.1.2 进程的定义  42

3.2 进程的描述  43

3.2.1 进程控制块PCB  43

3.2.2 进程上下文  45

3.2.3 进程上下文切换  46

3.3 进程状态及其转换  47

3.3.1 进程状态 47

3.2.4 进程空间与大小  47

3.3.2 进程状态转换  48

3.4 进程控制 48

3.4.1 进程创建与撤销  49

3.4.2 进程的阻塞与唤醒  50

3.5 进程互斥 51

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

3.5.2 互斥的加锁实现  54

3.5.3 信号量和P,V原语  55

3.5.4 用P,V原语实现进程互斥 58

3.6 进程同步 59

3.6.1 同步的概念  59

3.6.2 私用信号量  61

3.6.3 用P,V原语操作实现同步 61

3.6.4 生产者-消费者问题  62

3.7 进程通信 63

3.7.1 进程的通信方式  63

3.7.2 消息缓冲机制  65

3.7.3 邮箱通信  66

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

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

3.8 死锁问题  73

3.8.1 死锁的概念  73

3.8.2 死锁的排除方法  74

3.9 线程的概念  76

3.9.1 为什么要引入线程 76

3.9.2 线程的基本概念  77

3.9.4 线程的适用范围  78

3.9.3 线程与进程的区别 78

3.10 线程分类与执行  80

3.10.1 线程的分类  80

3.10.2 线程的执行特性  81

本章小结 82

习题  83

第4章 处理机调度  85

4.1.1 作业的状态及其转换  86

4.1 分级调度 86

4.1.2 调度的层次  87

4.1.3 作业与进程的关系 87

4.2 作业调度 88

4.2.1 作业调度功能  88

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

4.3 进程调度 91

4.3.1 进程调度的功能  91

4.3.3 进程调度性能评价  92

4.3.2 进程调度的时机  92

4.4 调度算法 93

4.5 算法评价 97

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

4.5.2 轮转法调度性能评价  101

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

4.6 实时系统调度方法  103

4.6.1 实时系统的特点 103

4.6.2 实时调度算法的分类  104

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

本章小结 107

习题  108

第5章 存储管理  109

5.1 存储管理的功能  109

5.1.1 虚拟存储器  109

5.1.2 地址变换 110

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

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

5.1.4 内存的分配与回收  113

5.2 分区存储管理  114

5.2.1 分区管理基本原理  114

5.2.2 分区的分配与回收  117

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

5.3 覆盖与交换技术  121

5.3.1 覆盖技术 121

5.3.2 交换技术 122

5.4.1 页式管理的基本原理  123

5.4 页式管理  123

5.4.2 静态页面管理  124

5.4.3 动态页式管理  127

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

5.4.5 存储保护 132

5.4.6 页式管理的优缺点  132

5.5 段式与段页式管理  133

5.5.1 段式管理的基本思想  133

5.5.2 段式管理的实现原理  133

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

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

5.5.3 段式管理的优缺点  138

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

本章小结 143

习题  144

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

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

6.2 Linux进程结构 148

6.2.1 进程的概念  148

6.2.2 进程的虚拟地址结构 149

6.2.3 进程上下文  150

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

6.2.5 小结  154

6.3 进程控制 154

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

6.3.2 进程控制  156

6.4 Linux进程调度  159

6.5.1 Linux的低级通信  161

6.5 进程通信  161

6.5.2 进程间通信IPC  163

6.6 Linux存储管理  171

6.6.1 虚存空间和管理  171

6.6.2 请求调页技术  173

本章小结 175

习题  176

7.1.1 Windows NT体系结构的特点  177

7.1.2 Windows的管理机制  177

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

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

7.2 Windows进程和线程  180

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

7.2.2 进程和线程的关联  180

7.2.3 Windows进程的结构  181

7.2.4 Windows线程的结构  182

7.2.5 Windows进程和线程的创建  183

7.3.1 调度优先级  184

7.3 Windows处理器调度机制  184

7.3.2 线程状态  185

7.3.3 线程调度机制  186

7.4 Windows的内存管理  187

7.4.1 内存管理器  188

7.4.2 内存管理的机制  188

7.5 虚拟地址空间  189

7.5.1 虚拟地址空间布局  189

7.5.2 虚拟地址转换  191

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

7.6 页面调度 193

7.6.1 缺页处理 193

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

本章小结 195

习题  195

第8章 文件系统  197

8.1 文件系统的概念  197

8.2.1 逻辑结构 200

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

8.2.2 存取方法 202

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

8.3.1 文件的物理结构  205

8.3.2 文件存储设备  207

8.4 文件存储空间管理  208

8.5 文件目录管理  210

8.5.1 文件的组成  211

8.5.2 文件目录 211

8.5.3 便于共享的文件目录  213

8.5.4 目录管理  215

8.6 文件存取控制  216

8.7 文件的使用  218

8.8 文件系统的层次模型 219

本章小结 220

习题  221

9.1 引言 223

9.1.1 设备的类别  223

第9章 设备管 223

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

9.2 数据传送控制方式  225

9.2.1 程序直接控制方式  225

9.2.2 中断方式  227

9.2.3 DMA方式 228

9.2.4 通道控制方式  230

9.3 中断技术  232

9.3.1 中断的基本概念  232

9.3.2 中断的分类与优先级  233

9.3.3 软中断 234

9.3.4 中断处理过程  234

9.4 缓冲技术  235

9.4.1 缓冲的引入  235

9.4.2 缓冲的种类  236

9.4.3 缓冲池的管理  237

9.5.1 设备分配用数据结构  239

9.5 设备分配  239

9.5.2 设备分配的原则  241

9.5.3 设备分配算法  242

9.6 I/O进程控制  242

9.6.1 I/O控制的引入 242

9.6.2 I/O控制的功能  243

9.6.3 I/O控制的实现  243

本章小结  244

9.7 设备驱动程序  244

习题  245

第10章 Linux文件系统  247

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

10.1.1 特点 247

10.1.2 文件类型  248

10.2 Linux的虚拟文件系统  249

10.2.1 虚拟文件系统VFS框架  249

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

10.2.3 VFS的系统调用  256

10.3.1 文件系统注册  257

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

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

10.3.3 挂装根文件系统  259

10.3.4 挂装一般文件系统  260

10.3.5 卸载文件系统  260

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

10.4.1 系统打开文件表  261

10.4.2 用户打开文件表  261

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

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

10.5 ext2文件系统 262

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

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

10.5.4 数据块寻址  267

10.6 块设备驱动  268

10.6.1 设备配置 269

10.6.2 设备驱动程序的接口 269

习题  271

10.7 字符设备驱动  271

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

11.1 Windows I/O系统的结构 272

11.1.1 设计目标  272

11.1.2 设备管理服务  273

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

11.2.1 设备驱动类型和结构  274

11.2.2 Windows的I/O处理  275

11.3.2 Windows文件系统格式  277

11.3.1 Windows磁盘管理  277

11.3 Windows的文件系统  277

11.3.3 Windows文件系统驱动 278

11.4 NTFS文件系统  279

11.4.1 NTFS的特点 279

11.4.2 NTFS的磁盘结构  279

11.4.3 NTFS的文件系统恢复  281

本章小结 281

习题  282

参考文献 284