书籍 “十一五”国家级规划教材  计算机操作系统教程  第4版的封面

“十一五”国家级规划教材 计算机操作系统教程 第4版PDF电子书下载

左万利,王英编著

购买点数

14

出版社

北京:高等教育出版社

出版时间

2019

ISBN

标注页数

425 页

PDF页数

447 页

图书目录

第一章 操作系统概述 1

1.1 操作系统的概念 1

1.1.1 操作系统的地位 1

1.1.2 操作系统的作用 2

1.1.3 操作系统的定义 3

1.2 操作系统的历史 3

1.2.1 操作系统的产生 3

1.2.2 操作系统的完善 5

1.2.3 操作系统的发展 6

1.3 操作系统的特性 7

1.3.1 并发性 7

1.3.2 共享性 8

1.3.3 异步性 8

1.3.4 虚拟性 8

1.4 操作系统的分类 8

1.4.1 多道批处理操作系统 8

1.4.2 分时操作系统 9

1.4.3 实时操作系统 10

1.4.4 通用操作系统 11

1.4.5 单用户操作系统 12

1.4.6 网络操作系统 12

1.4.7 分布式操作系统 13

1.4.8 多处理器操作系统 13

1.4.9 集群操作系统 14

1.4.10 云计算操作系统 14

1.4.11 嵌入式操作系统 15

1.4.12 多媒体操作系统 16

1.4.13 智能卡操作系统 16

1.5 操作系统的硬件环境 16

1.5.1 定时装置 16

1.5.2 堆与栈 17

1.5.3 寄存器 18

1.5.4 特权指令与非特权指令 18

1.5.5 处理器状态及状态转换 19

1.5.6 地址映射机构 19

1.5.7 存储保护设施 20

1.5.8 中断装置 20

1.5.9 通道与DMA控制器 20

1.6 操作系统的界面形式 20

1.6.1 交互终端命令 21

1.6.2 图形用户界面 21

1.6.3 触屏用户界面 21

1.6.4 作业控制语言 21

1.6.5 系统调用命令 22

1.7 操作系统的运行机理 22

1.8 研究操作系统的几种观点 23

1.8.1 进程观点 23

1.8.2 资源管理观点 23

1.8.3 虚拟机观点 24

1.9 系统举例 24

1.9.1 Linux系统 24

1.9.2 Windows 10系统 25

习题一 25

第二章 进程、线程与作业 27

2.1 多道程序设计 27

2.1.1 单道程序设计的缺点 27

2.1.2 多道程序设计的提出 28

2.1.3 多道程序设计的问题 30

2.2 进程的引入 31

2.2.1 进程的概念 31

2.2.2 进程状态及状态转换 31

2.2.3 进程控制块 32

2.2.4 进程的组成与上下文 33

2.2.5 进程的队列 34

2.2.6 进程的类型和特性 35

2.2.7 进程间的相互联系与相互作用 36

2.2.8 进程的创建、撤销与汇聚 36

2.2.9 进程与程序的联系和差别 37

2.3 线程与轻进程 38

2.3.1 线程的引入 38

2.3.2 线程的概念 38

2.3.3 线程的结构 38

2.3.4 线程控制块 40

2.3.5 线程的实现 40

2.3.6 线程的应用 42

2.4 作业 43

2.4.1 批处理作业 43

2.4.2 交互式作业 44

2.5 系统举例 45

2.5.1 Java线程 45

2.5.2 Linux进程与线程 46

2.5.3 Windows 10的进程、线程与纤程 47

习题二 48

第三章 中断与处理器调度 49

3.1 中断与中断系统 49

3.1.1 中断概念 49

3.1.2 中断装置 49

3.1.3 中断处理逻辑 53

3.1.4 现场级别与保存位置 54

3.1.5 嵌套中断与系统栈 55

3.1.6 进程状态转换的分解图 55

3.1.7 中断处理例程 56

3.2 处理器调度 62

3.2.1 处理器调度算法 62

3.2.2 处理器调度时机 69

3.2.3 处理器调度过程 71

3.3 调度级别与多级调度 71

3.3.1 交换与中级调度 72

3.3.2 作业与高级调度 72

3.4 实时调度 74

3.4.1 最早截止期优先调度 76

3.4.2 单调速率调度 76

3.4.3 最小裕度优先调度 77

3.5 系统举例 77

3.5.1 Linux进程调度 77

3.5.2 Windows 10线程调度 78

习题三 80

第四章 互斥、同步与通信 83

4.1 并发进程 83

4.1.1 前驱图的定义 83

4.1.2 顺序程序及其特性 84

4.1.3 并发程序及其特性 84

4.1.4 程序并发执行的条件 86

4.1.5 并发程序的表示 86

4.1.6 与时间有关的错误 87

4.2 进程互斥 88

4.2.1 共享变量与临界区 88

4.2.2 临界区与进程互斥 89

4.2.3 进程互斥原则 90

4.2.4 进程互斥的软件实现 91

4.2.5 进程互斥的硬件支持 97

4.3 进程同步 101

4.3.1 进程同步的概念 102

4.3.2 进程同步机制 103

4.3.3 信号量与PV操作 103

4.3.4 条件临界区 112

4.3.5 管程 114

4.3.6 会合 128

4.3.7 事务存储器 137

4.4 进程高级通信 138

4.4.1 进程间通信的概念 138

4.4.2 进程间通信的模式 138

4.4.3 直接方式 139

4.4.4 间接方式 142

4.5 系统举例 144

4.5.1 Linux进程间通信 144

4.5.2 Windows 10的并发控制 146

习题四 147

第五章 死锁与饥饿 152

5.1 死锁的概念 152

5.2 死锁的类型 153

5.2.1 竞争资源引起的死锁 153

5.2.2 进程间通信引起的死锁 153

5.2.3 其他原因引起的死锁 153

5.3 死锁的条件 153

5.4 死锁的处理 154

5.5 资源分配图 154

5.5.1 资源分配图的定义 154

5.5.2 资源分配图的约简 156

5.6 死锁的预防 156

5.6.1 预先分配策略 157

5.6.2 有序分配策略 157

5.7 死锁的避免 158

5.7.1 安全状态与安全进程序列 158

5.7.2 银行家算法 159

5.8 死锁的发现 162

5.8.1 死锁检测算法 162

5.8.2 死锁检测时刻 164

5.9 死锁的恢复 165

5.10 鸵鸟算法 166

5.11 有关问题的讨论 166

5.11.1 关于充要性算法 166

5.11.2 关于消耗型资源问题 166

5.11.3 关于可剥夺资源问题 167

5.11.4 关于两阶段锁 167

5.12 饥饿与饿死 168

5.13 活锁 169

5.14 优先级倒置 169

5.15 可复用资源死锁的静态分析 170

5.16 同种组合资源死锁的必要条件 173

5.17 死锁与饥饿的例子 174

5.18 系统举例 179

习题五 179

第六章 主存储器管理 183

6.1 存储管理的功能 183

6.1.1 存储分配 183

6.1.2 存储共享 183

6.1.3 存储保护 184

6.1.4 存储扩充 185

6.1.5 地址映射 185

6.2 内存资源管理 185

6.2.1 内存分区 185

6.2.2 内存分配 186

6.2.3 碎片与紧凑 188

6.3 单一连续区存储管理 189

6.3.1 基本原理 189

6.3.2 双对界 190

6.3.3 交换与重定位 190

6.3.4 覆盖技术 191

6.4 页式存储管理 191

6.4.1 基本原理 191

6.4.2 多级页表 195

6.4.3 反置页表 196

6.4.4 快表可达 198

6.5 段式存储管理 198

6.5.1 基本原理 198

6.5.2 段的共享与保护 203

6.6 段页式存储管理 204

6.7 Intel 32与 x86-64存储体系 207

6.7.1 IA-32分段 207

6.7.2 IA-32分页 208

6.7.3 X86-64 208

习题六 209

第七章 虚拟存储系统 211

7.1 外存储器管理技术 211

7.1.1 外存空间划分 211

7.1.2 外存空间分配 212

7.2 虚拟页式存储管理 212

7.2.1 基本原理 212

7.2.2 内存页框分配策略 214

7.2.3 外存块的分配策略 215

7.2.4 页面调入时机 215

7.2.5 写时复制 216

7.2.6 置换算法 216

7.2.7 颠簸 221

7.2.8 工作集模型 222

7.2.9 页故障率反馈模型 223

7.2.10 交换 223

7.2.11 非均匀存储器访问 223

7.2.12 例子 224

7.3 虚拟段式存储管理 224

7.3.1 基本原理 224

7.3.2 段的动态连接 226

7.4 虚拟段页式存储管理 231

7.4.1 基本原理 231

7.4.2 中断处理 234

7.5 现代操作系统对存储管理方式的选择 234

7.6 系统举例 235

7.6.1 Linux存储管理 235

7.6.2 Windows 10虚拟存储 237

习题七 238

第八章 文件系统 240

8.1 文件与文件系统 240

8.1.1 文件 240

8.1.2 文件系统 241

8.2 文件的访问方式 241

8.2.1 顺序访问 241

8.2.2 随机访问 242

8.3 文件的组织 242

8.3.1 文件的逻辑组织 242

8.3.2 文件的物理组织 244

8.4 文件目录 249

8.4.1 文件控制块与目录项 249

8.4.2 文件目录与目录文件 250

8.4.3 单级目录与多级目录 251

8.4.4 文件目录的改进 252

8.4.5 根目录与当前目录 253

8.4.6 文件目录的查找 253

8.5 文件的共享 254

8.5.1 文件共享的目的 254

8.5.2 文件共享的模式 254

8.5.3 文件共享的实现 255

8.6 文件的保护和保密 255

8.6.1 文件的保护 255

8.6.2 文件的保密 256

8.7 文件存储空间的管理 257

8.7.1 空闲块表 257

8.7.2 空闲块链 258

8.7.3 位图 258

8.8 内存所需的表目 259

8.8.1 系统打开文件表 259

8.8.2 用户打开文件表 259

8.8.3 表间联系 260

8.9 文件系统的界面 261

8.10 日志结构文件系统 264

8.11 内存映射文件 265

8.12 文件的安全 265

8.12.1 完全转储 266

8.12.2 增量转储 266

8.12.3 差分转储 266

8.13 系统举例 266

8.13.1 Linux文件系统 266

8.13.2 Windows NTFS 267

习题八 268

第九章 设备与输入输出管理 270

9.1 设备管理的功能和目标 270

9.1.1 设备管理的功能 270

9.1.2 设备管理的目标 270

9.2 设备的分类 271

9.2.1 输入输出型设备与存储型设备 271

9.2.2 块型设备与字符型设备 271

9.2.3 独占型设备与共享型设备 272

9.3 设备的物理特性 272

9.3.1 输入输出型设备的物理特性 272

9.3.2 存储型设备的物理特性 272

9.4 数据传输方式 276

9.4.1 程序控制查询方式 276

9.4.2 中断驱动方式 276

9.4.3 内存映射方式 277

9.4.4 DMA方式 277

9.4.5 通道方式 278

9.5 I/O软件的层次 281

9.5.1 用户I/O软件 281

9.5.2 与设备无关的系统软件 282

9.5.3 设备驱动程序 283

9.5.4 中断处理程序 283

9.6 同步I/O与异步I/O 283

9.7 设备分配与去配 284

9.7.1 独占型设备的分配与去配 284

9.7.2 共享型设备的分配与去配 286

9.8 设备驱动 287

9.8.1 通道程序 287

9.8.2 设备启动 287

9.8.3 中断处理 287

9.9 设备调度 288

9.9.1 磁盘输入输出参数 288

9.9.2 磁盘引臂调度算法 289

9.9.3 磁盘访问举例 291

9.10 缓冲与缓存 291

9.10.1 缓冲技术的引入 292

9.10.2 私用缓冲与公共缓冲 292

9.10.3 单缓冲、双缓冲与循环缓冲 292

9.10.4 缓冲池及其管理 293

9.10.5 缓冲技术的实现 294

9.10.6 缓存 296

9.11 输入输出进程 297

9.12 RAID技术 297

9.12.1 RAID级别 298

9.12.2 硬件RAID与软件RAID 302

9.13 虚拟设备 303

9.13.1 虚拟设备的引入 303

9.13.2 虚拟设备的实现 303

9.13.3 虚拟设备举例 304

9.14 稳定存储器 307

9.15 系统举例 307

习题九 308

第十章 操作系统管理 310

10.1 操作系统使用 310

10.1.1 操作系统生成 310

10.1.2 操作系统装入 311

10.1.3 操作系统初启 311

10.1.4 操作系统运行 312

10.2 操作系统维护 312

10.2.1 正确性维护 313

10.2.2 适应性维护 314

10.2.3 改善性维护 314

10.3 操作系统保护 315

10.3.1 权限矩阵 315

10.3.2 存储与控制 315

10.4 操作系统安全 316

10.4.1 入侵与身份认证 316

10.4.2 程序威胁 318

10.4.3 安全策略 322

10.4.4 可信系统 324

10.4.5 安全操作系统 325

10.5 系统举例 325

习题十 325

第十一章 操作系统设计 327

11.1 操作系统设计目标 327

11.2 操作系统基本内核 328

11.2.1 内核的基本组成 328

11.2.2 内核各个部分的关系 328

11.3 操作系统体系结构 329

11.3.1 基于共享变量的结构 330

11.3.2 基于信件传递的结构 331

11.3.3 微内核结构 332

11.4 操作系统设计方法 332

11.4.1 模块接口法 332

11.4.2 核扩充法 333

11.4.3 层次结构法 333

11.4.4 面向对象设计方法 337

11.5 系统举例 338

习题十一 339

第十二章 操作系统新技术 341

12.1 具有公共内存的并行操作系统 341

12.1.1 多处理器操作系统 341

12.1.2 多核与超线程操作系统 343

12.2 没有公共内存的并行操作系统 344

12.2.1 网络与分布式操作系统 344

12.2.2 集群操作系统 348

12.2.3 云计算操作系统 349

12.3 具有公共内存的并发控制与调度 350

12.3.1 多处理器(多核)互斥算法 350

12.3.2 多处理器(多核)调度 352

12.4 没有公共内存与时钟的并发控制 355

12.4.1 事件排序 355

12.4.2 互斥算法 358

12.4.3 进程同步与进程间通信 359

12.4.4 死锁处理 361

12.5 嵌入式环境下的操作系统 364

12.5.1 嵌入式操作系统概述 364

12.5.2 ARM体系结构简介 365

12.5.3 Android系统 367

12.5.4 iOS系统 371

习题十二 373

第十三章 UNIX实例分析 375

13.1 历史回顾 375

13.2 系统结构 376

13.2.1 内核部分 376

13.2.2 外壳部分 377

13.3 进程管理 378

13.3.1 进程组成 378

13.3.2 进程控制块 378

13.3.3 进程状态与状态转换 381

13.3.4 进程调度 382

13.3.5 进程互斥 383

13.3.6 进程同步 383

13.3.7 进程间通信 383

13.4 存储管理 387

13.4.1 存储管理方式 387

13.4.2 存储分配算法 388

13.4.3 进程空间扩充 390

13.4.4 交换技术 390

13.4.5 虚拟页式存储管理 390

13.5 文件系统 391

13.5.1 文件类型 391

13.5.2 文件体系 392

13.5.3 文件结构 392

13.5.4 文件卷的组织 394

13.5.5 超级块 394

13.5.6 inode区管理 395

13.5.7 空闲磁盘空间管理 397

13.5.8 文件目录与连接 397

13.5.9 文件系统映射 398

13.5.10 文件卷的安装与拆卸 399

13.5.11 快速文件系统 400

13.5.12 网络文件系统 402

13.6 设备管理 404

13.6.1 设备分配 404

13.6.2 缓冲与缓存 404

13.6.3 预先读与延迟写 410

13.7 系统调用 411

13.7.1 有关进程控制的系统调用命令 411

13.7.2 有关文件的系统调用命令 416

13.8 外壳语言 421

习题十三 422

参考文献 425

查看更多关于的内容

本类热门
在线购买PDF电子书
下载此书RAR压缩包