《操作系统基础 第2版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:屠立德,屠祁编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1995
  • ISBN:7302019142
  • 页数:263 页
图书介绍:

第1章 引论 1

1.1 系统概述 1

1.1.1 计算机的硬件组织 1

1.1.1.1 微型计算机的典型组织 1

第一部分 概论 1

1.1.1.2 大-小型计算机的硬件组织 2

1.1.2 软件的层次与虚拟机的概念 3

1.2 操作系统的形成和发展 4

1.2.1 什么是操作系统 4

1.2.2 操作系统的形成和发展 4

1.3.1 多道程序设计的引入 5

1.3 多道程序设计的概念 5

1.3.2 多道程序设计的概念 6

1.4 操作系统的功能和特性 7

1.4.1 操作系统的功能 7

1.4.2 操作系统的特性 7

1.5 操作系统的类型 8

1.5.1 多道批处理操作系统 8

1.5.2 分时系统 9

1.5.3 实时系统 10

1.5.4 网络操作系统 10

1.5.4.1 网络操作系统概述 10

1.5.4.2 Windows NT的内装网络简介 11

1.6 微型计算机及其操作系统的发展趋势 12

习题 14

第2章 操作系统的运行环境 16

2.1 硬件环境 16

2.1.1 中央处理机(CPU) 16

2.1.1.1 特权指令 16

2.1.1.2 处理机的状态 17

2.1.1.3 程序状态字PSW 17

2.1.2 主存储器 18

2.1.2.1 存储器的类型 18

2.1.2.3 存储保护 19

2.1.2.2 存储分块 19

2.1.3 缓冲技术 20

2.1.4 中断技术 21

2.1.4.1 中断的概念 21

2.1.4.2 中断逻辑与中断寄存器 21

2.1.4.3 中断类型 22

2.1.4.4 中断响应与中断屏蔽 23

2.1.4.5 中断处理 24

2.1.5 时钟、时钟队列 25

2.2 操作系统与其它系统软件的关系 26

2.2.1 作业、作业步和进程的关系 26

2.2.2.2 静态重定位 27

2.2.2.1 绝对地址、相对地址和逻辑地址空间 27

2.2.2 重定位的概念 27

2.2.3 绝对装入程序和相对装入程序 28

2.2.3.1 绝对装入程序 29

2.2.3.2 相对装入程序——连接装入程序 29

2.3 操作系统与人的接口 30

2.3.1 作业控制语言 31

2.3.2 联机作业控制——终端命令和图形用户接口(GUI) 32

2.3.2.1 终端命令 32

2.3.2.2 图形用户接口(GUI) 33

2.4 固件——微程序设计概念 34

2.4.1 微程序设计的概念 34

习题 35

2.4.2 微程序设计和操作系统 35

第二部分 多道程序设计基础——并行程序设计 37

第3章 进程管理 37

3.1 进程的概念 37

3.1.1 进程的引入 37

3.1.2 进程的定义 38

3.2 进程的状态和进程控制块 39

3.2.1 进程的状态及其变化 39

3.2.2 进程控制块 39

3.3 进程队列 41

3.4.1 进程的挂起和解除挂起 42

3.4 进程的管理 42

3.4.2.1 建立进程原语 43

3.4.2 进程的控制原语 43

3.4.2.2 挂起进程原语 44

3.4.2.3 解除挂起原语 45

3.4.2.4 撤消进程原语 45

3.4.2.5 改变进程优先数原语 46

3.5 Windows NT中的线程 47

习题 48

4.1 顺序程序设计和并行程序设计概念 50

4.1.1 顺序程序设计的特点 50

第4章 多道程序设计基础——并行程序设计 50

4.1.2 并行程序设计 51

4.1.2.1 并行程序设计的概念 51

4.1.2.2 程序并行性的表示 52

4.1.2.3 并行程序设计的特点 53

4.2 进程间的同步与互斥 54

4.2.1 临界段问题 54

4.2.1.1 问题的提出 54

4.2.1.2 软件解决办法 55

4.2.2 同步与互斥的执行工具 59

4.2.2.1 硬件指令 59

4.2.2.3 P,V操作 61

4.2.2.2 信号量 61

4.3 同步机构应用 63

4.3.1 用信号量实现进程间的互斥 63

4.3.2 信号量作为进程的阻塞和唤醒机构 64

4.3.3 生产者和消费者问题 65

4.3.4 阅读者/写入者问题 66

4.4 进程间的通信 67

4.5 管程的概念 68

4.5.1 管程的定义 69

4.5.2 五位就餐的哲学家问题 69

4.6 Windows NT中的同步与互斥机制 71

习题 72

第三部分 处理机管理 75

第5章 作业和进程的调度 75

5.1 调度的层次和作业状态转换 75

5.1.1 调度的层次 75

5.1.2 作业状态 75

5.2 作业的调度 76

5.2.1 后备作业队列及作业控制块JCB 76

5.2.2 作业调度及其功能 77

5.3 进程调度 77

5.4 选择调度算法时应考虑的问题 78

5.5.3 时间片轮转算法 79

5.5.2 优先级调度算法 79

5.5 调度算法 79

5.5.1 先来先服务调度算法FIFO 79

5.5.4 短作业优先调度算法 80

5.5.5 最短剩余时间优先调度算法 81

5.5.6 最高响应比优先调度算法 81

5.5.7 多级反馈队列调度算法 81

5.6 Windows NT可抡占动态优先级多级就绪队列调度算法 83

习题 84

第6章 死锁 86

6.1 死锁问题的提出 86

6.2.1 资源的概念 87

6.2 死锁的必要条件 87

6.2.2 死锁的必要条件 88

6.3 死锁的预防 89

6.3.1 预先静态分配法 89

6.3.2 有序资源使用法 89

6.4 死锁的避免和银行家算法 90

6.4.1 银行家算法问题 90

6.4.2 银行家算法 91

6.4.3 银行家算法的优缺点 93

6.5.1 资源分配图 94

6.5.2 资源分配图的化简 94

6.5 死锁检测 94

6.5.3 资源分配图化简的实现 95

6.5.3.1 矩阵表示法 96

6.5.3.2 链表表示法 97

6.5.3.3 检测算法的执行速度 97

6.6 死锁的恢复 98

习题 99

7.1 引言 101

7.1.1 主存储器的物理组织、多级存储器 101

第7章 实存储器管理技术 101

第四部分 主存储器管理 101

7.1.2 主存储器管理中的研究课题 102

7.2 固定分区 102

7.2.1 数据库 103

7.2.2 存储分配算法 104

7.2.3 存储保护与重定位 104

7.2.4 优缺点 105

7.3 可变分区的多道管理技术 105

7.3.1 数据库 106

7.3.2 分配和释放算法 107

7.3.3 存储器的紧缩和程序的浮动 108

7.3.3.1 碎片问题和存储器的紧缩 108

7.3.3.2 程序浮动 109

7.3.4.1 动态重定位 110

7.3.4 动态重定位的可变分区多道管理 110

7.3.4.2 动态重定位的硬件支持、软件算法 111

7.3.4.3 IBM-PC等微型计算机的存储管理与地址变换机构 111

7.3.5 优缺点 113

7.4 多重分区(多对界地址)管理 113

7.5 覆盖技术 113

7.5.1 覆盖的概念 113

7.5.2 覆盖处理 115

7.6 交换技术 115

习题 116

8.1 虚拟存储系统的基本概念 117

第8章 虚拟存储管理 117

8.2 分页存储管理 119

8.2.1 分页存储管理的基本概念 119

8.2.2 分页系统中的地址转换 121

8.2.2.1 直接映象的页地址转换 121

8.2.2.2 相关映象页地址转换 122

8.2.2.3 相关映象和直接映象结合的页地址转换 123

8.2.3 分页存储管理策略 124

8.2.4 分页存储管理的软硬件关系和软件算法 124

8.2.4.1 数据库 124

8.2.4.2 分页存储管理中软硬件关系和缺页中断处理算法 125

8.2.4.3 页表表目的扩充 126

8.2.5 页的共享 127

8.3 分段存储管理 127

8.3.1 分段存储管理的基本概念 127

8.3.2 分段管理中的地址转换 128

8.3.3 段的动态连接 129

8.3.3.1 连接间接字和连接中断 130

8.3.3.2 编译程序的连接准备工作 131

8.3.3.3 连接中断处理 131

8.3.3.4 纯段和杂段(连接段) 131

8.3.5 分段存储管理的优缺点 132

8.3.4 虚拟存储管理中的存储保护问题 132

8.4 段页式存储管理 133

8.4.1 段页式存储管理的基本概念 133

8.4.2 段页式存储管理中的地址转换 135

8.4.3 段页式存储管理算法 136

8.4.4 段页式存储管理的优缺点 136

8.5 页(和段)的置换算法和系统行为 138

8.5.1 最佳置换算法OPT 138

8.5.2 先进先出置换算法FIFO 138

8.5.3 最近最少使用置换算法LRU 139

8.5.4 最近未使用置换算法NUR 139

8.5.5.1 局部性的概念 140

8.5.5 分页环境中程序的行为特性 140

8.5.5.2 分页环境中程序的行为特性 141

8.5.5.3 减少访问离散性的程序结构 141

8.5.6 工作集 142

8.6 页架的分配算法 143

8.6.1 提前分配 143

8.6.2 最少页架数 144

8.6.3 局部和全局分配 144

8.6.4 分配算法 144

8.6.5 页的大小 145

8.7.1 高速缓冲存储器的组织 146

8.7 高速缓冲存储器 146

8.7.2 缓存块的编址形式 147

8.7.3 缓存的工作过程 148

8.8 Windows NT的分页机构、页面调度算法和工作集、共享主存机制 149

8.8.1 Windows NT的二级页表地址变换机构 149

8.8.2 页面调度算法和工作集 149

8.8.3 共享主存机制——段对象、视口和映象文件 150

习题 150

第五部分 设备和文件管理 152

第9章 设备管理 152

9.1 输入输出组织和输入输出处理机 152

9.1.2 输入输出处理机(通道) 153

9.1.1 输入输出接口(IO接口) 153

9.2 辅助存储器 154

9.2.1 磁带的硬件特性及信息的组织 154

9.2.2 磁鼓的硬件特性及信息的组织 156

9.2.3 磁盘的硬件特性及信息的组织 157

9.3 设备管理概述 158

9.3.1 设备绝对号、相对号、类型号与符号名 158

9.3.2 设备管理的任务 159

9.4 设备分配策略 160

9.4.1 设备控制块和设备等待队列 160

9.4.3 虚拟设备和SPOOL系统 161

9.4.2 独享设备的分配 161

9.4.4 共享设备的分配和磁盘调度策略 163

9.4.4.1 移动头磁盘存储器的操作 163

9.4.4.2 查找优化的各种策略 164

9.4.4.3 旋转优化 165

9.5 输入输出管理程序 165

9.5.1 输入输出进程 166

9.5.2 设备管理程序 166

9.5.3 输入输出调度程序 167

9.6 Windows NT一体化的输入输出系统 167

习题 168

10.1.1 引言 169

第10章 文件系统 169

10.1 文件系统概述 169

10.1.2 文件的分类 170

10.1.3 文件系统的功能和基本操作 171

10.2 文件的逻辑组织和物理组织 172

10.2.1 文件的逻辑组织 172

10.2.2 文件的物理组织 172

10.3 文件目录 175

10.3.1 文件目录和文件描述符 175

10.3.2 一级目录结构 176

10.3.4 多级目录结构 177

10.3.3 二级目录结构 177

10.3.5 目录组织的改进——符号文件目录和基本文件目录 179

10.4 辅存空间的分配和释放 181

10.4.1 辅存空闲块的管理 181

10.4.2 辅存空间的分配和释放 182

10.5 文件的共享与文件系统的安全性 184

10.5.1 文件的连接 184

10.5.2 文件的存取控制 185

10.5.3 文件的转储和恢复 187

10.6 文件的使用与控制 187

10.6.1 活动文件表和活动符号名表 187

10.6.2 建立文件命令 188

10.6.4 读文件命令 189

10.6.3 打开文件命令 189

10.6.5 写文件命令 190

10.6.6 关闭文件命令 190

10.6.7 撤消文件命令 190

10.7 Windows NT的多重文件系统 190

习题 191

第六部分 操作系统结构与范例 192

第11章 操作系统的结构和设计 192

11.1 操作系统的设计 192

11.1.1 设计的目标和原则 192

11.1.2.1 系统分析和总体功能设计阶段 194

11.1.2 操作系统的设计 194

11.1.2.2 系统设计与结构设计阶段 195

11.2 操作系统的结构 195

11.2.1 模块接口法(单块式) 195

11.2.2 层次结构设计法 197

11.2.3 客户/服务器方式 198

习题 199

第12章 Windows NT操作系统 200

12.1 Windows NT操作系统概述 200

12.2 Windows NT的设计目标 200

12.3 Windows NT的系统模型 201

12.4 Windows NT的结构 203

12.5 Windows NT的基元成分——对象、进程和线程 205

12.5.1 对象 205

12.5.2 进程 207

12.5.3 线程 209

12.5.4 对象、进程和线程之间的关系 211

12.5.5 进程管理程序 212

12.6 内核 213

12.6.1 内核调度程序与线程的状态转换 213

12.6.2 中断和异常处理 215

12.6.3 内核的同步与互斥机制——多处理器间的同步 216

12.7.1 进程的虚拟地址空间 217

12.7 虚拟存储管理 217

12.7.2 NT虚拟分页的地址变换机构 218

12.7.3 页面调度策略和工作集 219

12.7.3.1 页面调度策略 219

12.7.3.2 工作集 220

12.7.4 页架状态和页架数据库 220

12.7.5 共享主存——段对象、视口和映象文件 221

12.8 输入输出(I/O)系统 222

12.8.1 输入输出(I/O)系统的结构 222

12.8.2 统一的驱动程序模型 223

12.8.3 异步I/O操作和I/O请求处理过程 224

12.9.1 Windows NT的内装网络的特色 225

12.9 Windows NT的内装网络 225

12.8.4 映象文件I/O 225

12.9.2 Windows NT网络的体系结构 226

12.10 对象管理程序 227

12.11 进程通信及本地过程调用(LPC) 228

12.11.1 线程间的同步 228

12.11.2 进程通信——本地过程调用(LPC) 229

12.12 Windows NT的安全性 230

12.13 综述 231

第13章 UNIX操作系统 233

13.1 UNIX操作系统概述 233

13.2 系统结构 234

13.3.1 程序状态字和通用寄存器 235

13.3 进程管理 235

13.3.2 进程和进程控制块PCB 236

13.3.3 进程的控制 241

13.4 文件系统 243

13.4.1 UNIX文件系统概述 243

13.4.2 文件目录结构和文件(路径)名 244

13.4.3 文件卷的动态装卸和安装 245

13.4.4 文件的共享和联接 245

13.5 设备管理和输入输出系统 245

13.6 管道线pipe机构 246

13.7 系统调用 247

13.8.1 shell的一般用法 248

13.8 shell语言简介 248

13.8.2 shell过程的用法 250

第14章 CP/M操作系统 252

14.1 CP/M操作系统概述 252

14.1.1 概述 252

14.1.2 CP/M操作系统的功能和特性 252

14.2 CP/M的结构 253

14.3 主存分配 253

14.4 控制台命令处理程序CCP 254

14.5 基本输入输出系统BIOS 255

14.6.1 CP/M的文件组织和文件操作 256

14.6 CP/M文件系统 256

14.6.2 盘空间管理 258

14.6.3 目录管理 259

14.6.4 表块管理 259

14.7 MP/M操作系统 259

14.7.1 MP/M的结构 260

14.7.2 主存管理 260

14.7.3 进程的管理 261

14.7.4 进程调度 261

14.7.5 进程的同步与通信 262

14.7.6 SPOOL系统 262

参考文献 263