《卓越工程师教育培养计算机类创新系列规划教材 操作系统设计原理》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:鞠时光,詹永照主编;薛安荣,蔡涛,牛德姣,毛启容副主编
  • 出 版 社:北京:科学出版社
  • 出版年份:2016
  • ISBN:9787030471000
  • 页数:320 页
图书介绍:本教材采用“任务驱动”方式,从问题出发介绍操作系统的知识点和程序设计思维方法,由浅入深、循序渐进,最后给出求解问题的程序。通过一些编程实例介绍编程算法,强调上机实践,注重计算思维和编程实践能力的培养。本书条理清晰、实例丰富、语言流畅,做到基础性、实用性、趣味性、拓展性四者相结合。

第1章 操作系统概述 1

1.1 操作系统的定义 1

1.1.1 基本概念 1

1.1.2 一个计算机系统的视图 2

1.1.3 操作系统的基本功能 3

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

1.3 操作系统的分类 6

1.3.1 单用户操作系统 6

1.3.2 批处理操作系统 7

1.3.3 实时操作系统 7

1.3.4 分时操作系统 8

1.3.5 网络操作系统 8

1.3.6 分布式操作系统 8

1.3.7 嵌入式操作系统 9

1.4 操作系统的运行环境 9

1.4.1 中央处理器(CPU) 10

1.4.2 特权指令 10

1.4.3 处理器的状态 10

1.4.4 程序状态字(PSW) 10

1.5 操作系统的结构 11

1.6 现代操作系统 12

1.6.1 现代操作系统的特点 12

1.6.2 UNIX的特点 14

1.6.3 Linux的特点 15

1.6.4 Windows NT的特点 16

本章小结 19

习题 20

实验 20

第2章 进程与线程 21

2.1 多道程序与并发执行 21

2.1.1 单道程序的顺序执行 21

2.1.2 多道程序的并发执行 22

2.2 进程模型 24

2.2.1 进程的概念 24

2.2.2 进程的实体 26

2.2.3 进程状态和转换 29

2.2.4 进程控制 30

2.3 线程模型 32

2.3.1 线程的概念 32

2.3.2 线程与进程的比较 34

2.3.3 线程的实现 36

2.4 多核、多线程与超线程 37

2.4.1 多核技术简介 37

2.4.2 多核基本概念 39

2.5 进程管理实例 42

2.5.1 UNIX进程管理 42

2.5.2 Linux进程管理 46

2.5.3 Windows进程管理 49

本章小结 53

习题 53

实验 54

第3章 互斥与同步 55

3.1 进程管理的背景 55

3.2 进程互斥 58

3.2.1 互斥与临界区 58

3.2.2 互斥的软、硬件实现方法 59

3.2.3 信号量及P、V原语 63

3.2.4 用P、V操作实现互斥 65

3.3 进程同步 66

3.3.1 进程同步概念 66

3.3.2 用P、V操作实现同步 67

3.4 进程通信 69

3.4.1 进程通信的类型 69

3.4.2 消息传递 70

3.4.3 进程通信的有关问题 73

3.5 死锁 74

3.5.1 死锁的概念 74

3.5.2 死锁的必要条件 75

3.5.3 死锁的防止 75

3.5.4 死锁的避免 77

3.5.5 死锁检测与恢复 78

3.6 经典问题 79

3.6.1 读者-写者问题 79

3.6.2 哲学家进餐问题 81

3.6.3 打瞌睡的理发师问题 82

3.7 多核环境下的进程同步 84

3.7.1 多核进程同步 84

3.7.2 硬件原子操作 85

3.7.3 总线锁 85

3.7.4 多核环境下的软件同步原语 85

3.7.5 旋锁 86

3.8 进程同步与通信实例 88

3.8.1 UNIX同步与通信 88

3.8.2 Linux进程通信 91

3.8.3 Windows同步与通信 92

本章小结 95

习题 96

实验 98

第4章 处理器调度 99

4.1 处理器调度层次 99

4.1.1 长程调度(Long-Term Scheduling) 100

4.1.2 中程调度(Medium-Term Scheduling) 100

4.1.3 短程调度(Short-Term Scheduling) 101

4.2 调度准则 101

4.3 短程调度算法 102

4.3.1 单处理器短程调度算法 102

4.3.2 多处理器短程调度算法 107

4.4 实时调度 112

4.4.1 实时调度算法的特点 112

4.4.2 实时调度算法的分类 113

4.4.3 常用的实时调度算法 114

4.5 传统UNIX单处理器调度方法 115

4.6 Windows 2000/XP处理器调度方法 117

4.6.1 线程优先级 117

4.6.2 对称多处理器上的线程调度 118

4.7 UNIX多处理器调度与实时调度方法 119

4.8 Linux处理器调度方法 120

4.8.1 实时调度 120

4.8.2 非实时调度 122

本章小结 122

习题 123

第5章 存储器管理 125

5.1 存储管理的功能 125

5.1.1 计算机系统的多级存储结构 125

5.1.2 存储管理的任务和功能 126

5.2 存储分配的几种形式与重定位 127

5.2.1 存储分配的几种形式 127

5.2.2 重定位 128

5.2.3 覆盖与交换 130

5.3 单道环境下的存储管理 131

5.4 分区存储管理 132

5.4.1 固定分区法 132

5.4.2 动态分区法 133

5.4.3 地址转换与存储保护 136

5.4.4 分区的共享 137

5.4.5 移动技术 137

5.4.6 分区存储管理的优缺点 138

5.5 页式存储管理 138

5.5.1 概述 138

5.5.2 静态页式存储管理 139

5.5.3 虚拟页式存储管理 144

5.5.4 页式存储管理的优缺点 156

5.6 段式及段页式存储管理 156

5.6.1 段式存储管理 156

5.6.2 段式虚拟存储管理 158

5.6.3 段页式虚拟存储管理 161

5.7 内存管理实例 164

5.7.1 UNIX内存管理 164

5.7.2 Linux内存管理 166

5.7.3 Windows内存管理 169

本章小结 171

习题 172

实验 173

第6章 文件管理 174

6.1 文件 174

6.1.1 文件命名 174

6.1.2 文件类型 175

6.1.3 文件属性 175

6.1.4 文件存取方法 177

6.1.5 文件操作 177

6.1.6 文件的逻辑结构 177

6.2 文件目录 181

6.2.1 文件目录内容 181

6.2.2 文件目录结构 182

6.3 文件共享与保护 187

6.3.1 文件共享 187

6.3.2 文件保护 189

6.3.3 文件系统的一致性 190

6.4 文件存储空间的管理 191

6.4.1 空闲表法 191

6.4.2 空闲链表法 192

6.4.3 位示图法 192

6.4.4 链接索引表法 193

6.5 文件分配 193

6.5.1 连续分配 194

6.5.2 链接分配 195

6.5.3 索引链接分配 196

6.6 文件管理实例:UNIX文件管理 197

6.6.1 U.NIX文件类型 198

6.6.2 UNIX文件系统存储结构 198

6.6.3 目录与索引结点 199

6.6.4 文件分配 200

6.6.5 文件系统的打开与读写 202

6.7 文件管理实例:Linux虚拟文件系统 203

6.7.1 超级块对象 206

6.7.2 索引结点对象 207

6.7.3 目录项对象 208

6.7.4 文件对象 209

6.7.5 主要的数据结构之间的关系 210

6.7.6 Linux文件系统的安装和管理 210

6.8 文件管理实例:Windows文件管理(NTFS) 211

6.8.1 NTFS的主要特性 211

6.8.2 NTFS卷和文件结构 212

6.8.3 NTFS的可恢复性 214

本章小结 215

习题 216

实验 217

第7章 I/O管理 218

7.1 I/O管理概述 218

7.1.1 I/O管理目标与功能 218

7.1.2 I/O系统组成 219

7.2 I/O控制方式 224

7.2.1 程序直接控制方式 225

7.2.2 中断控制方式 225

7.2.3 DMA控制方式 226

7.2.4 通道控制方式 227

7.3 I/O缓冲 230

7.3.1 单缓冲 231

7.3.2 双缓冲 231

7.3.3 循环缓冲 232

7.3.4 缓冲池 232

7.3.5 缓冲的作用 234

7.4 设备驱动程序 234

7.4.1 设备驱动程序的模式 234

7.4.2 设备驱动程序的功能 234

7.4.3 设备驱动程序的特点 235

7.4.4 设备驱动程序的处理过程 235

7.5 设备分配 236

7.5.1 设备分配原则与分配方式 236

7.5.2 设备分配时应考虑的因素 236

7.5.3 设备分配中的数据结构 238

7.5.4 I/O设备分配的基本流程 239

7.5.5 SPOOLing技术 240

7.6 磁盘存储器的管理 241

7.6.1 磁盘性能参数 243

7.6.2 磁盘调度 243

7.7 磁盘阵列(RAID) 246

7.7.1 原理 246

7.7.2 优点 247

7.7.3 标准RAID 247

7.8 I/O管理实例:UNIXI/O管理 251

7.8.1 缓冲区管理 251

7.8.2 设备驱动程序的接口 253

7.9 I/O管理实例:Linux I/O管理 254

7.9.1 Linux网络设备 254

7.9.2 页面缓存(page cache) 254

7.9.3 页面缓存的预读 256

7.9.4 Linux硬盘管理 258

7.9.5 Linux设备驱动程序 259

7.10 I/O管理实例:Windows I/O管理 259

7.10.1 I/O的系统结构 260

7.10.2 I/O管理器 260

7.10.3 I/O函数 261

7.10.4 设备驱动程序 262

7.10.5 I/O处理 262

本章小结 262

习题 263

实验 264

第8章 操作系统安全 265

8.1 操作系统安全概述 265

8.1.1 计算机系统安全 265

8.1.2 操作系统安全 267

8.1.3 基本概念 268

8.2 安全评估与标准 269

8.2.1 美国国防部的“橙皮书”(TCSEC) 270

8.2.2 欧洲安全评价标准(ITSEC) 271

8.2.3 国际通用安全评价标准(CC) 272

8.2.4 加拿大安全评测标准(CTCPEC) 272

8.2.5 中国推荐标准GB/T 18336—2001 273

8.3 安全机制 273

8.3.1 标识与鉴别机制 273

8.3.2 访问控制 276

8.3.3 监控与审计机制 278

8.3.4 存储保护、运行保护和I/O保护 279

8.3.5 加密 280

8.3.6 恶意代码 281

8.3.7 备份与容错 284

8.3.8 隐通道分析与处理 284

8.4 安全模型 285

8.4.1 Bell-LaPadula模型 285

8.4.2 Biba模型 286

8.4.3 Clark-Wilson模型 286

8.4.4 中国墙模型 287

8.4.5 RBAC模型 287

8.5 操作系统安全体系结构 288

8.5.1 安全体系结构的含义 288

8.5.2 FAM框架 289

8.5.3 Flask体系 289

8.6 安全操作系统简介 290

8.6.1 SE-Linux 290

8.6.2 EROS 291

8.6.3 红旗安全Linux 293

本章小结 298

习题 298

实验 298

第9章 新型操作系统 299

9.1 嵌入式操作系统 299

9.1.1 EOS简介 300

9.1.2 微软嵌入式操作系统 300

9.1.3 嵌入式Linux与Android 302

9.1.4 TinyOS 303

9.1.5 VxWorks 304

9.1.6 嵌入式操作系统的发展方向 305

9.2 分布式操作系统 307

9.2.1 多核操作系统 307

9.2.2 客户机/服务器计算模型 309

9.2.3 集群系统 310

9.2.4 MapReduce计算模型 312

9.3 虚拟化技术 315

本章小结 319

习题 319

实验 319

参考文献 320