《操作系统原理 第2版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:孟庆昌,张志华等编著
  • 出 版 社:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111581284
  • 页数:344 页
图书介绍:本书全面系统地介绍了现代操作系统的基本理论和最新技术,并以Linux系统为实例介绍操作系统的设计与实现。全书共分7章:第1章是操作系统概述;第2章至第6章分别讲述进程管理、处理机调度、存储管理、文件系统和设备管理;第7章简述现代操作系统的发展和安全保护机制。为强化操作系统课程的实践环节,附录A给出了8个实验指导,附录B和C分别给出Linux常用系统调用和常用命令,供教师和学生参考。 本书可作为大学本科及专科计算机相关专业教材或考研参考书,也可作为计算机工作者的自学用书。

第1章 操作系统概述 1

1.1 操作系统概念 1

1.1.1 什么是操作系统 2

1.1.2 操作系统运行环境 4

1.1.3 系统初启一般过程 7

1.1.4 操作系统的构建目标和地位 8

1.1.5 操作系统提供的服务及其方式 10

1.2 操作系统的功能 12

1.3 操作系统的特征 17

1.4 操作系统的形成和基本类型 17

1.4.1 操作系统的形成和发展 17

1.4.2 操作系统的基本类型 20

1.5 操作系统的主要结构 23

1.5.1 单体结构 24

1.5.2 层次结构 24

1.5.3 虚拟机结构 25

1.5.4 微内核结构 25

1.5.5 客户-服务器结构 26

1.6 UNIX和Linux系统的核心结构 27

1.6.1 UNIX系统的核心结构 27

1.6.2 Linux系统的核心结构 29

小结 30

习题1 31

第2章 进程管理 33

2.1 进程概念 34

2.1.1 程序顺序执行及其特征 34

2.1.2 程序并发执行及其特征 34

2.1.3 进程概念的引入和定义 36

2.2 进程状态描述及组织方式 39

2.2.1 进程的状态及其转换 39

2.2.2 进程的组成 41

2.2.3 进程组织方式 43

2.3 进程管理和有关命令 44

2.3.1 进程图和进程管理 44

2.3.2 Linux进程管理 48

2.3.3 有关进程操作的命令 51

2.3.4 有关进程管理的系统调用 55

2.4 线程概念 58

2.4.1 什么是线程 59

2.4.2 线程的实现方式 61

2.5 进程间的同步与互斥 62

2.5.1 进程间的关系 63

2.5.2 竞争条件和临界区 65

2.5.3 进程同步机制 66

2.5.4 信号量的一般应用 70

2.6 经典进程同步问题 72

2.7 进程通信 77

2.7.1 高级进程通信方式 78

2.7.2 消息缓冲通信 79

2.7.3 信箱通信 80

2.8 Linux系统的进程通信 82

2.8.1 信号机制 82

2.8.2 管道文件 84

2.8.3 System V IPC机制 85

2.9 管程 86

2.10 死锁 87

2.10.1 死锁概述 87

2.10.2 死锁的预防 91

2.10.3 死锁的避免 92

2.10.4 死锁的检测与恢复 96

2.10.5 饥饿和活锁 99

小结 100

习题2 101

第3章 处理机调度 105

3.1 调度的作用和级别 106

3.2 作业调度 107

3.2.1 作业状态 107

3.2.2 作业管理和调度 108

3.3 进程调度 110

3.3.1 进程调度的功能和时机 110

3.3.2 两级调度模型 110

3.3.3 三级调度模型 111

3.4 线程调度 111

3.5 调度性能的评价 112

3.5.1 调度策略的选择 113

3.5.2 性能评价标准 113

3.6 常用调度算法 114

3.7 实时调度 121

3.8 Linux系统中的进程调度 122

3.8.1 Linux进程调度方式 122

3.8.2 Linux常用调度命令 123

3.9 中断处理和系统调用 126

3.9.1 中断处理的一般过程 126

3.9.2 系统调用处理 132

3.10 shell基本工作原理 136

小结 137

习题3 138

第4章 存储管理 140

4.1 地址空间与重定位 141

4.1.1 用户程序的地址空间 141

4.1.2 重定位概念 143

4.1.3 覆盖技术 146

4.1.4 对换技术 147

4.2 分区管理技术 148

4.2.1 固定分区法 149

4.2.2 动态分区法 150

4.2.3 可重定位分区的紧缩 154

4.3 分页技术 155

4.3.1 分页的基本概念 155

4.3.2 分页系统中的地址映射 157

4.3.3 页的共享和保护 159

4.3.4 页表的构造 161

4.4 分段技术 164

4.4.1 分段的基本概念 164

4.4.2 分段系统中的地址映射 166

4.4.3 段的共享和保护 166

4.5 段页式结合系统 168

4.6 虚拟存储管理 169

4.6.1 虚拟存储器的概念 169

4.6.2 虚拟存储器的特征 171

4.7 请求分页技术 171

4.7.1 请求分页的基本思想 171

4.7.2 硬件支持及缺页处理 172

4.7.3 页面置换算法 175

4.8 内存块分配和抖动问题 182

4.8.1 内存块分配 182

4.8.2 抖动问题 184

4.8.3 工作集 185

4.9 请求分段技术 186

4.10 Linux系统的存储管理技术 187

4.10.1 对换技术 187

4.10.2 请求分页技术 188

4.10.3 Linux常用内存管理命令和函数 190

小结 195

习题4 196

第5章 文件系统 199

5.1 文件系统概述 199

5.1.1 文件及其分类 200

5.1.2 文件系统的功能 203

5.2 文件的逻辑 组织和物理组织 204

5.2.1 文件的逻辑 组织 204

5.2.2 用户对文件的存取方法 205

5.2.3 文件的物理组织 207

5.3 目录文件 211

5.3.1 文件控制块和文件目录 211

5.3.2 目录结构 213

5.4 文件存储空间的管理 218

5.5 文件系统的可靠性 221

5.5.1 坏块管理 221

5.5.2 文件的备份和恢复 222

5.5.3 文件系统的一致性 224

5.6 文件共享和保护 225

5.6.1 文件共享 225

5.6.2 文件保护 227

5.7 Linux文件系统 229

5.7.1 一般文件系统的格式 230

5.7.2 虚拟文件系统 232

5.7.3 Linux Ext2文件系统 235

5.7.4 对文件的主要操作 239

小结 242

习题5 243

第6章 设备管理 245

6.1 设备管理概述 246

6.1.1 设备分类和标识 246

6.1.2 I/O系统结构 247

6.1.3 I/O系统的控制方式 250

6.1.4 缓冲技术 253

6.1.5 设备管理的功能 256

6.2 设备分配技术与SPOOLing系统 257

6.2.1 设备分配技术和算法 257

6.2.2 SPOOLing系统 259

6.3 I/O软件构造原则 260

6.3.1 I/O软件目标 260

6.3.2 设备驱动程序 261

6.3.3 与设备无关的操作系统I/O软件 263

6.3.4 用户空间I/O软件 265

6.3.5 处理输入输出请求的步骤 265

6.4 磁盘调度和管理 267

6.4.1 磁盘硬件 267

6.4.2 磁盘调度算法 268

6.5 Linux系统设备管理 270

6.5.1 Linux设备管理概述 271

6.5.2 设备驱动程序的接口 272

6.5.3 Linux系统的缓冲技术 273

6.5.4 块设备管理 274

6.5.5 字符设备管理 276

6.5.6 可安装模块 276

小结 277

习题6 278

第7章 操作系统的发展和安全性 280

7.1 推动操作系统发展的动力 280

7.2 现代操作系统的发展 281

7.2.1 个人机操作系统 281

7.2.2 网络操作系统 282

7.2.3 嵌入式操作系统 284

7.2.4 多处理器系统 287

7.2.5 分布式系统 289

7.2.6 四种多机系统的比较 293

7.2.7 云计算系统 294

7.2.8 操作系统发展展望 297

7.3 系统安全性 298

7.3.1 信息安全问题 298

7.3.2 一般性安全机制 300

7.3.3 保护机制 302

7.4 系统性能评价 307

小结 311

习题7 312

附录A 实验指导 313

附录B Linux常用系统调用和库函数 327

附录C Linux常用命令 333

参考文献 341