《国家精品课程配套教材 计算机操作系统 第2版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:庞丽萍,阳富民编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115333544
  • 页数:284 页
图书介绍:本书全面、系统地阐述了现代操作系统的基本原理、主要功能及实现技术。重点论述多用户、多任务操作系统的运行机制;系统资源管理的策略和方法;操作系统提供的用户界面。讨论了现代操作系统采用的并行处理技术和虚拟技术。本书以Linux系统为实例,剖析了其特点和具体的实现技术。本书还阐述了UNIX文件系统的主要结构及实现;给出了实例操作系统的并发机制及其应用方法。

第1章 绪论 1

1.1 操作系统在计算机系统中的地位 1

1.1.1 存储程序式计算机的结构和特点 1

1.1.2 操作系统与计算机系统各层次的关系 3

1.1.3 操作系统与计算机体系结构的关系 4

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

1.2.1 操作系统发展的初级阶段 6

1.2.2 操作系统的形成 8

1.2.3 操作系统的进一步发展 11

1.3 操作系统的基本概念 11

1.3.1 操作系统的定义和特性 11

1.3.2 操作系统的资源管理功能 13

1.3.3 操作系统应解决的基本问题 15

1.4 操作系统的基本类型 17

1.4.1 批量操作系统 17

1.4.2 分时操作系统 17

1.4.3 实时操作系统 18

1.4.4 个人计算机操作系统 19

1.4.5 网络操作系统 20

1.4.6 分布式系统 21

1.5 操作系统采用的关键技术 23

1.5.1 操作系统采用的并行处理技术 23

1.5.2 操作系统采用的虚拟技术 24

习题1 25

第2章 操作系统的结构和硬件支持 26

2.1 操作系统虚拟机 26

2.2 操作系统的组织结构 27

2.2.1 操作系统的结构 27

2.2.2 运行时的组织结构 29

2.2.3 操作系统与计算机系统各层次的接口 30

2.3 处理机的特权级 31

2.3.1 处理机的状态及分类 31

2.3.2 特权指令 32

2.4 中断及其处理 32

2.4.1 中断概念及类型 32

2.4.2 向量中断和探询中断 34

2.4.3 中断进入 35

2.4.4 软件中断处理过程 36

习题2 38

第3章 操作系统的用户接口 39

3.1 用户工作环境 39

3.1.1 操作系统提供的环境 39

3.1.2 操作系统的生成和系统初启 40

3.1.3 应用程序的处理 43

3.2 用户接口 44

3.2.1 用户接口的定义 44

3.2.2 操作系统提供的用户接口 45

3.3 系统功能调用 47

3.3.1 系统功能调用的定义 47

3.3.2 系统功能调用的实现 48

3.3.3 应用程序的编程接口 48

习题3 49

第4章 进程及进程管理 50

4.1 进程引入 50

4.1.1 顺序程序及特点 50

4.1.2 并发程序及特点 51

4.1.3 与时间有关的错误 54

4.2 进程概念 55

4.2.1 进程的定义 55

4.2.2 进程的状态及变迁 56

4.2.3 进程控制块 57

4.3 进程控制 59

4.3.1 进程控制的概念 59

4.3.2 进程创建与撤销 59

4.3.3 进程阻塞与唤醒 61

4.4 进程之间的约束关系 62

4.4.1 进程竞争与合作 62

4.4.2 进程互斥的概念 63

4.4.3 进程同步的概念 64

4.5 同步机构 66

4.5.1 锁和上锁、开锁操作 66

4.5.2 信号灯和P、V操作 67

4.6 进程互斥与同步的实现 69

4.6 1 上锁原语和开锁原语实现进程互斥 69

4.6.2 信号灯实现进程互斥 70

4.6.3 进程同步的实现 71

4.6.4 生产者——消费者问题 74

4.7 进程通信 75

4.7.1 进程通信的概念 75

4.7.2 进程通信方式 75

4.8 线程概念及特点 77

4.8.1 线程的概念 77

4.8.2 线程的特点与状态 78

4.9 操作系统的并发机制实例 79

4.9.1 创建进程及应用实例 79

4.9.2 创建线程及应用实例 81

4.9.3 等待进程、线程的终止及其应用 82

4.9.4 信号量与使用方法 83

4.9.5 共享内存及应用实例 84

4.10 进程调度 86

4.10.1 调度/分派结构 86

4.10.2 进程调度的功能 87

4.10.3 调度方式 88

4.10.4 进程优先数调度算法 89

4.10.5 循环轮转调度 90

4.10.6 多级反馈队列调度 91

4.10.7 调度用的进程状态变迁图 92

4.10.8 线程调度 93

习题4 94

第5章 资源分配与调度 98

5.1 资源管理概述 98

5.1.1 资源管理的目的和任务 98

5.1.2 虚拟资源 99

5.2 资源管理的机制和策略 100

5.2.1 资源分配机制 100

5.2.2 资源分配策略 101

5.3 死锁 105

5.3.1 死锁的定义与例子 105

5.3.2 产生死锁的原因和必要条件 107

5.3.3 系统模型和死锁的处理 109

5.3.4 解决死锁问题的策略 112

5.3.5 死锁的预防 113

5.3.6 死锁的避免 113

5.3.7 死锁的检测与忽略 115

习题5 116

第6章 主存管理 118

6.1 主存管理概述 118

6.1.1 主存分片共享 118

6.1.2 程序的逻辑组织 119

6.2 主存管理的功能 119

6.2.1 虚拟存储器 119

6.2.2 地址映射 120

6.2.3 主存分配 123

6.2.4 存储保护 123

6.3 分区存储管理及存在的问题 124

6.3.1 动态分区存储管理技术 124

6.3.2 分区分配机构 125

6.3.3 分区分配与放置策略 126

6.3.4 碎片问题及拼接技术 129

6.4 页式存储管理 129

6.4.1 页式系统应解决的问题 129

6.4.2 页式地址变换 130

6.4.3 请调页面的机制 133

6.4.4 淘汰机制与策略 135

6.4.5 几种置换算法 136

6.5 段式和段页式存储管理 140

6.5.1 段式地址结构 140

6.5.2 段式地址变换 140

6.5.3 扩充段表功能 141

6.5.4 段页式存储管理 142

习题6 143

第7章 设备管理 145

7.1 设备管理概述 145

7.1.1 设备管理的功能 145

7.1.2 设备独立性 146

7.1.3 设备控制块 148

7.2 缓冲技术 148

7.2.1 缓冲概述 148

7.2.2 常用的缓冲技术 150

7.2.3 UNIX系统的缓冲区管理 151

7.3 设备分配 158

7.3.1 设备分配概述 158

7.3.2 独享分配 158

7.3.3 共享分配 159

7.3.4 虚拟分配 159

7.4 输入/输出控制 161

7.4.1 输入/输出硬件 161

7.4.2 输入/输出控制方式 162

7.4.3 输入/输出子系统 165

7.4.4 输入/输出控制的例子 167

习题7 169

第8章 文件系统 170

8.1 文件系统概述 170

8.1.1 文件 170

8.1.2 文件系统 172

8.1.3 文件的组织 173

8.2 文件的逻辑结构和存取方法 174

8.2.1 文件的逻辑结构 174

8.2.2 文件的存取方法 175

8.3 文件的物理结构 175

8.3.1 连续文件 175

8.3.2 串联文件 177

8.3.3 索引文件 178

8.3.4 文件物理结构比较 180

8.4 文件存储空间的管理 181

8.4.1 空闲文件目录 181

8.4.2 空闲块链 181

8.4.3 位示图 182

8.4.4 分配策略 182

8.5 文件目录 183

8.5.1 文件目录及其内容 183

8.5.2 一级文件目录及缺点 184

8.5.3 多级文件目录 184

8.6 共享与安全 185

8.6.1 文件共享与安全性的关系 185

8.6.2 存取权限的类型及其验证 186

8.6.3 用文件路径名加快文件的查找 188

8.7 文件操作与文件备份 190

8.7.1 文件操作 190

8.7.2 文件备份 191

8.8 UNIX文件系统的主要结构及实现 192

8.8.1 UNIX文件系统的特点 192

8.8.2 UNIX系统的索引文件结构 193

8.8.3 UNIX系统文件目录结构 197

8.8.4 UNIX系统的打开文件机构 199

8.8.5 文件存储器空闲块的管理 202

8.8.6 UNIX文件系统调用 205

习题8 210

第9章 Linux系统 212

9.1 Linux系统概述 212

9.1.1 UNIX系统及其特点 212

9.1.2 Linux系统形成和发展的基础 214

9.1.3 Linux系统及其特点 216

9.1.4 Linux系统的内核结构 218

9.2 Linux系统的特权级与中断处理 219

9.2.1 Linux系统的特权级 219

9.2.2 中断处理的上半部和下半部 219

9.2.3 中断处理下半部的实现机制 220

9.3 Linux系统功能调用 221

9.3.1 Linux系统功能调用的过程 221

9.3.2 Linux系统功能调用的实现机制 222

9.3.3 增加一个新的系统调用的方法 223

9.3.4 从用户空间访问新的系统调用 225

9.4 Linux系统的进程管理 225

9.4.1 Linux系统的进程与线程 225

9.4.2 进程描述符及其主要内容 226

9.4.3 进程描述符的获得 228

9.4.4 Linux进程状态的变迁 229

9.4.5 Linux系统的进程创建和终止 229

9.4.6 Linux系统的进程等待与唤醒 231

9.4.7 Linux系统中线程的实现 231

9.5 Linux系统的进程调度 232

9.5.1 进程调度程序的设计目标和特点 232

9.5.2 可变优先级 233

9.5.3 可变时间片 235

9.5.4 进程调度用的数据结构 236

9.5.5 Linux系统的进程调度算法 237

9.6 Linux系统的存储管理 238

9.6.1 主存寻址 238

9.6.2 Linux系统段页式地址变换 241

9.6.3 Linux系统动态内核管理 242

9.6.4 Linux系统的进程地址空间 245

9.7 Linux系统的设备驱动 247

9.7.1 Linux系统设备的分类 247

9.7.2 设备文件及其标识 248

9.7.3 Linux块设备的处理 250

9.7.4 用于块设备处理的数据结构 251

9.7.5 输入/输出调度程序 254

9.7.6 策略例程 255

9.8 Linux文件系统 256

9.8.1 虚拟文件系统VFS(Virtual File System)概述 256

9.8.2 VFS通用文件系统模型与VFS对象 257

9.8.3 与进程相关的数据结构 260

9.8.4 VFS系统调用的实现 261

9.8.5 Ext2文件系统概述 263

9.8.6 Ext2磁盘数据结构 265

9.8.7 Ext2磁盘空间的管理 267

9.8.8 Ext2主存数据结构 270

习题9 270

模拟试题1 272

模拟试题2 274

模拟试题1答案 276

模拟试题2答案 280

参考文献 284