《操作系统 第4版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:刘振鹏,张明,王煜编著
  • 出 版 社:北京:中国铁道出版社
  • 出版年份:2016
  • ISBN:9787113220372
  • 页数:321 页
图书介绍:全书内容共五部分:背景知识,操作系统的形成、类型、结构和功能以及操作系统的硬件环境;进程,包括进程与进程管理、进程的同步与通信;存储器管理,包括存储器和虚拟存储器管理;文件和输入输出管理,包括文件管理、设备管理;以及网络与分布式系统。本书以Linux操作系统为例,具体分析了当代操作系统的设计思想和实现技术。

第一部分 背景知识 2

第1章 引 论 2

1.1 操作系统的概念 2

1.1.1 计算机系统 2

1.1.2 操作系统简介 4

1.1.3 操作系统的目标 5

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

1.2.1 操作系统的形成 6

1.2.2 操作系统的进一步发展 13

1.2.3 推动操作系统发展的主要动力 19

1.3 研究操作系统的几种观点 20

1.3.1 软件的观点 20

1.3.2 计算机系统资源管理的观点 20

1.3.3 进程的观点 21

1.3.4 用户与计算机硬件系统之间接口的观点 21

1.3.5 虚机器的观点 22

1.3.6 服务提供者的观点 22

1.4 操作系统的功能与特征 23

1.4.1 操作系统的功能 23

1.4.2 操作系统的特征 27

1.5 操作系统结构设计 29

1.5.1 传统的操作系统结构 29

1.5.2 现代的操作系统结构 31

习题 32

第2章 操作系统的硬件环境 34

2.1 中央处理机 34

2.1.1 处理机的构成与基本工作方式 34

2.1.2 处理机的状态 35

2.2 存储系统 37

2.2.1 存储器的类型 37

2.2.2 存储器的层次结构 37

2.2.3 存储分块和存储保护 38

2.3 缓冲技术与中断技术 39

2.3.1 缓冲技术 39

2.3.2 中断技术 40

2.3.3 时钟 47

习题 48

第二部分 进程 50

第3章 进程与进程管理 50

3.1 进程的引入 50

3.1.1 前驱图的定义 50

3.1.2 程序顺序执行 51

3.1.3 程序并发执行 51

3.1.4 多道程序设计 53

3.2 进程 54

3.2.1 进程的概念 54

3.2.2 进程的基本状态及其转换 55

3.2.3 进程控制块 58

3.2.4 进程控制 60

3.3 进程调度 65

3.3.1 调度的基本概念 65

3.3.2 进程调度算法 66

3.3.3 进程调度的时机和过程 70

3.4 线程的基本概念 72

3.4.1 线程的引入 72

3.4.2 线程的定义和属性 73

3.4.3 线程与进程的比较 74

3.4.4 线程的实现机制 75

3.5 Linux的进程与进程管理 76

3.5.1 Linux的进程结构与进程控制 76

3.5.2 Linux的核心进程调度 77

习题 83

第4章 进程同步与通信 84

4.1 进程间的相互作用 84

4.1.1 进程间的联系 84

4.1.2 利用软件方法解决进程互斥问题 87

4.1.3 利用硬件方法解决进程互斥问题 89

4.1.4 信号量机制 91

4.1.5 经典进程同步问题 95

4.1.6 管程机制 106

4.2 进程通信 113

4.2.1 进程通信的类型 114

4.2.2 直接通信和间接通信 115

4.2.3 消息缓冲队列通信机制 116

4.3 死锁 118

4.3.1 产生死锁的原因和必要条件 118

4.3.2 预防死锁 122

4.3.3 避免死锁 123

4.3.4 检测死锁 127

4.3.5 解除死锁 128

4.4 Linux进程间通信 129

4.4.1 Linux进程通信的基本概念 129

4.4.2 Linux消息队列 132

4.4.3 Linux的信号量 135

4.4.4 共享内存 138

4.4.5 Linux系统调用与进程通信 139

4.4.6 进程通信信号 139

习题 141

第三部分 存储管理 144

第5章 存储器管理 144

5.1 概述 144

5.1.1 存储体系 144

5.1.2 存储管理的目的 144

5.1.3 存储管理的任务 145

5.1.4 程序的连接和装入 146

5.1.5 存储管理方式的分类 148

5.2 连续存储管理方式 149

5.2.1 单一连续分配 149

5.2.2 分区分配 149

5.3 覆盖技术与交换技术 154

5.3.1 覆盖技术 154

5.3.2 交换技术 155

5.4 分页存储管理方式 156

5.4.1 基本思想(工作原理) 156

5.4.2 动态地址变换 157

5.4.3 快表 158

5.4.4 两级和多级页表 159

5.4.5 分配与回收 160

5.5 分段存储管理方式 161

5.5.1 基本思想(工作原理) 161

5.5.2 动态地址变换 162

5.5.3 存储保护 163

5.5.4 分页和分段的主要区别 163

5.6 段页式存储管理方式 164

5.6.1 基本思想(工作原理) 164

5.6.2 地址变换 164

习题 165

第6章 虚拟存储器管理 166

6.1 概述 166

6.1.1 局部性原理 166

6.1.2 虚拟存储器定义 167

6.2 分页虚拟存储管理 167

6.2.1 基本原理 167

6.2.2 缺页中断机构 168

6.2.3 地址变换机构 168

6.2.4 页面置换算法 169

6.2.5 内存分配策略和分配算法 171

6.2.6 调页策略 172

6.2.7 抖动问题 173

6.3 分段虚拟存储管理 176

6.3.1 基本原理 176

6.3.2 缺段中断机构 176

6.3.3 段的动态连接 177

6.3.4 段的共享 177

6.4 Linux的内存管理 178

6.4.1 Linux存储管理的重要数据结构 178

6.4.2 页表的管理 180

6.4.3 页面分配和回收 181

6.4.4 页面换入 182

6.4.5 换出与丢弃页面 182

6.4.6 页面错误的处理 183

6.4.7 页面Cache 184

6.4.8 Linux的swapCache 185

6.4.9 内核Cache的管理 186

习题 188

第四部分 文件和输入/输出管理 190

第7章 用户接口管理 190

7.1 概述 190

7.1.1 命令接口 190

7.1.2 程序接口 191

7.1.3 图形接口 191

7.2 命令接口 191

7.2.1 联机命令接口 192

7.2.2 脱机命令接口 194

7.3 系统调用 194

7.3.1 系统调用的概念 194

7.3.2 系统调用的处理过程 196

习题 197

第8章 文件管理 198

8.1 概述 198

8.1.1 文件和文件系统 198

8.1.2 文件的分类 199

8.2 文件的结构和存取方式 200

8.2.1 文件的存取方式 200

8.2.2 文件的逻辑结构 201

8.2.3 存储介质 203

8.2.4 文件的物理结构 205

8.3 文件目录 214

8.3.1 文件控制块 214

8.3.2 文件目录结构 214

8.3.3 目录的查找和目录的改进 216

8.4 文件系统的实现 218

8.4.1 打开文件表 218

8.4.2 外存空间管理 219

8.5 文件的使用 222

8.5.1 主要操作 222

8.5.2 文件共享 224

8.6 文件系统的安全性和数据一致性 227

8.6.1 防止人为因素造成的文件不安全性 228

8.6.2 防止系统因素或自然因素造成的文件不安全性 230

8.6.3 文件系统的数据一致性 234

8.7 磁盘调度 236

8.7.1 磁盘I/O时间 236

8.7.2 磁盘的移臂调度 237

8.7.3 磁盘的优化分布 238

8.8 Linux的文件系统 239

8.8.1 Linux文件系统的结构 239

8.8.2 Linux文件类型 240

8.8.3 Linux文件系统的目录 241

8.8.4 Linux文件的查找 241

8.8.5 Linux文件的操作 242

8.8.6 Linux文件的共享 245

8.8.7 Linux文件目录操作 246

8.8.8 Linux文件的一致性处理 246

8.8.9 Linux EXT2文件系统 247

8.8.10 EXT2位示图和I结点图 248

8.8.11 Linux高速缓存 250

习题 251

第9章 设备管理 253

9.1 概述 253

9.1.1 设备的分类 253

9.1.2 设备管理的目标和功能 254

9.2 I/O硬件特点 255

9.2.1 设备组成 255

9.2.2 设备接口 255

9.2.3 设备控制器 256

9.2.4 通道 256

9.2.5 I/O控制方式 259

9.2.6 缓冲技术 261

9.3 I/O软件的组成 264

9.3.1 I/O软件的目标 264

9.3.2 中断处理程序 265

9.3.3 设备驱动程序 266

9.3.4 独立于设备的软件 267

9.3.5 用户空间的I/O软件 269

9.4 设备分配 270

9.4.1 设备分配中的数据结构 270

9.4.2 设备独立性 271

9.4.3 设备分配 272

9.5 虚拟设备 274

9.5.1 Spooling技术 274

9.5.2 共享打印机 275

9.5.3 Spooling系统的优缺点 275

9.6 Linux I/O设备管理 276

9.6.1 Linux中的设备文件 276

9.6.2 Linux的设备驱动程序 276

9.6.3 Linux的中断处理 282

习题 283

第五部分 网络与分布式系统 286

第1 0章 网络服务器与分布式系统 286

10.1 分布式系统概述 286

10.1.1 分布式系统的概念 286

10.1.2 通信结构 287

10.1.3 开放式系统互连通信结构 290

10.2 网络服务器 295

10.2.1 服务器的结构 295

10.2.2 磁盘和文件服务器 296

10.2.3 文件高速缓冲存储器的一致性问题 297

10.2.4 打印机服务器 298

10.2.5 调制解调器服务器 298

10.3 分布式进程管理 298

10.3.1 分布式进程的状态及其转换 299

10.3.2 处理机管理 299

10.4 进程迁移 301

10.4.1 进程迁移机制 301

10.4.2 迁移处理 302

10.5 分布式进程通信 303

10.5.1 信息传送机制 304

10.5.2 远程过程调用 304

10.5.3 确定分布式系统的全局状态 306

10.6 分布式进程同步与互斥 310

10.6.1 事件定序法 310

10.6.2 分布式互斥 312

10.6.3 分布式算法 313

10.7 分布式进程死锁问题 316

10.7.1 资源分配中的死锁 316

10.7.2 消息通信中的死锁 318

习题 320

参考文献 322