《操作系统》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:孟庆昌编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2004
  • ISBN:7505398997
  • 页数:454 页
图书介绍:本教材理论与实际相结合,全面系统地介绍现代操作系统的基本理论和最新技术。全书共分14章:第1章概述操作系统的定义、功能、特征、发展历程和结构;第2章至第7章分别讲述进程和线程管理、死锁、调度、存储管理、文件管理和输入/输出管理;第8章讲述中断和信号机制,通过示例简单介绍操作系统的协调工作;第9章介绍网络操作系统;第10章讲述分布式操作系统;第11章讲述系统的安全与保护;第12章至第14章分别介绍UNIX,Linux和Windows 2000三个常用操作系统的实现技术。附录中提供系统参考答案,并为教师提供教学资源。 本书是北京市高等教育精品教材建设重点项目,可作为大学本科及专科计算机专业教材或考研参考书,也可作为计算机工作者的自学用书。

第1章 操作系统引论 1

1.1计算机系统概述 1

1.1.1处理器 2

1.1.2存储器 3

1.1.3I/O设备 4

1.1.4总线 5

1.2什么是操作系统 6

1.2.1操作系统概念 6

1.2.2操作系统的主要功能 7

1.2.3操作系统的地位 10

1.2.4操作系统的服务与服务方式 11

1.3操作系统的发展历程 14

1.3.1操作系统的形成 14

1.3.2操作系统的发展 16

1.3.3推动操作系统发展的动力 18

1.4操作系统的类型 18

1.4.1多道批处理系统 18

1.4.2分时系统 19

1.4.3实时系统 21

1.4.4个人机(PC)系统 22

1.4.5多处理器操作系统 23

1.4.6嵌入式操作系统 24

1.4.7网络操作系统 25

1.4.8分布式操作系统 26

1.5操作系统的特征 26

1.6操作系统的结构 27

1.6.1整体系统 27

1.6.2层次式系统 28

1.6.3虚拟机 29

1.6.4客户-服务器系统 30

1.7本章小结 31

习题1 32

2.1.1多道程序设计 35

第2章 进程和线程 35

2.1进程概念 35

2.1.2进程概念 36

2.2进程的状态和组成 38

2.2.1进程的状态及其转换 38

2.2.2进程描述 41

2.2.3进程队列 42

2.3进程管理 44

2.3.1进程图 44

2.3.2进程创建 45

2.3.3进程终止 47

2.3.5进程唤醒 48

2.3.4进程阻塞 48

2.4线程 49

2.4.1线程概念 49

2.4.2在用户空间实现线程 52

2.4.3在核心空间实现线程 53

2.4.4组合方式 54

2.4.5线程池 55

2.5进程的同步和通信 56

2.5.1进程的同步与互斥 56

2.5.2临界资源和临界区 58

2.5.3互斥实现方式 59

2.5.4信号量 61

2.5.5信号量的一般应用 66

2.6经典进程同步问题 68

2.7管程 74

2.8进程通信 77

2.8.1消息传递系统 78

2.8.2客户-服务器系统中的通信 82

2.9本章小结 84

习题2 85

第3章 死锁 89

3.1资源 89

3.1.2可剥夺资源与不可剥夺资源 90

3.1.1资源使用模式 90

3.2.1什么是死锁 91

3.2死锁概念 91

3.2.2死锁的条件 94

3.2.3资源分配图 94

3.2.4处理死锁的方法 96

3.3死锁的预防 96

3.3.1破坏互斥条件 96

3.3.2破坏占有且等待条件 97

3.3.3破坏非抢占条件 97

3.3.4破坏循环等待条件 98

3.4.1安全状态 99

3.4死锁的避免 99

3.4.2资源分配图算法 101

3.4.3银行家算法 101

3.5死锁的检测和恢复 104

3.5.1对单体资源类的死锁检测 104

3.5.2对多体资源类的死锁检测 105

3.5.3从死锁中恢复 107

3.5.4 “饥饿”状态 108

3.6处理死锁的综合方式 108

3.7本章小结 110

习题3 111

4.1调度类型 115

第4章 调度 115

4.2作业调度 117

4.2.1作业状态 117

4.2.2作业控制块和作业调度的功能 117

4.3进程调度 119

4.3.1进程调度的功能 119

4.3.2进程调度的时机 120

4.3.3进程调度的基本方式 120

4.3.4交互式系统中常用的调度算法 120

4.4.1 影响调度算法选择的主要因素 121

4.4调度准则 121

4.3.5两级调度模型 121

4.4.2调度性能评价准则 122

4.5调度算法 123

4.5.1先来先服务法 123

4.5.2短作业优先法 124

4.5.3最短剩余时间优先法 126

4.5.4优先级法 126

4.5.5轮转法 127

4.5.6多级队列法 129

4.5.7多级反馈队列法 130

4.5.9公平共享法 131

4.5.8高响应比优先法 131

4.5.10几种常用调度算法的比较 132

4.6线程调度 133

4.7多处理器调度 134

4.7.1多处理器系统的类型 134

4.7.2多处理器调度方法 134

4.8实时调度 136

4.8.1实时任务类型 136

4.8.2实时调度算法 137

4.9 Linux系统进程调度 139

4.9.1 Linux进程调度 139

4.10本章小结 141

4.9.2 shell基本工作原理 141

习题4 142

第5章 存储管理 145

5.1引言 145

5.1.1用户程序的主要处理阶段 145

5.1.2重定位 147

5.2分区法 149

5.2.1固定分区法 149

5.2.2动态分区法 151

5.3可重定位分区分配 153

5.3.1碎片问题 153

5.3.2紧缩 154

5.3.3动态重定位 155

5.3.4可重定位分区法的优缺点 156

5.4对换技术 156

5.5分页技术 157

5.5.1分页存储管理的基本概念 158

5.5.2分页系统中的地址映射 159

5.5.3页面尺寸 160

5.5.4硬件支持 161

5.5.5保护方式 162

5.5.6页表的构造 163

5.5.7页面共享 167

5.6.1分段存储管理的基本概念 168

5.6分段技术 168

5.6.2地址转换 170

5.6.3段的共享和保护 171

5.7段页式技术 172

5.7.1段页式存储管理的基本原理 172

5.7.2地址转换过程 173

5.7.3段页式技术实例:IntelPentium处理器 173

5.8虚拟存储器 175

5.8.1虚拟存储器的概念 175

5.8.2虚拟存储器的特征 176

5.9请求分页技术 177

5.9.1请求分页存储管理的基本思想 177

5.9.2硬件支持及缺页处理 178

5.9.3请求分页技术的性能 179

5.10页面置换算法 181

5.10.1页面置换 181

5.10.2先进先出法(FIFO) 182

5.10.3最佳置换法(OPT) 183

5.10.4最近最少使用置换法(LRU) 184

5.10.5第二次机会置换法(SCR) 185

5.10.6时钟置换法(Clock) 186

5.10.7最少使用置换法(LFU) 187

5.11内存块的分配和抖动问题 188

5.11.1内存块的分配 188

5.10.8页面缓冲算法(PageBuffering) 188

5.11.2抖动问题 191

5.12请求分段技术 194

5.12.1请求分段存储管理的硬件支持 194

5.12.2动态链接和链接中断处理 195

5.13 Linux系统的存储管理 196

5.13.1 Linux的多级页表结构 196

5.13.2内存页的分配与释放 197

5.13.3内存交换 198

5.14本章小结 199

习题5 201

6.1.1文件及其分类 205

6.1概述 205

第6章 文件系统 205

6.1.2文件命名 208

6.1.3文件属性 208

6.1.4文件存取方法 209

6.1.5文件结构 211

6.2文件系统的功能和结构 212

6.2.1文件系统的功能 212

6.2.2文件系统的结构 213

6.3目录结构和目录查询 214

6.3.1文件控制块和文件目录 214

6.3.2单级目录结构 215

6.3.3二级目录结构 216

6.3.4树形目录结构 217

6.3.5非循环图目录结构 219

6.3.6目录查询方法 220

6.4文件和目录操作 221

6.4.1文件操作 221

6.4.2目录操作 223

6.5文件系统的实现 224

6.5.1文件系统的格式 224

6.5.2文件存储分配 225

6.5.3空闲存储空间的管理 231

6.6管道文件 234

6.7.2后备 236

6.7文件系统的可靠性 236

6.7.1磁盘坏块管理 236

6.7.3文件系统和一致性 238

6.8本章小结 239

习题6 240

第7章 输入/输出管理 243

7.1 I/O管理概述 243

7.1.1 I/O设备分类和标识 243

7.1.2 I/O系统结构 245

7.1.3 设备控制器 245

7.1.4 I/O系统的控制方式 247

7.1.5 I/O管理的功能 251

7.2设备分配 252

7.2.1与设备分配相关的因素 252

7.2.2设备分配技术 253

7.2.3设备分配算法 254

7.2.4 SPOOLing系统 254

7.3 I/O软件层次 256

7.3.1中断处理程序 256

7.3.2设备驱动程序 256

7.3.3与设备无关的操作系统I/O软件 260

7.3.4用户级I/O软件 263

7.4.1磁盘硬件 264

7.4磁盘调度和管理 264

7.4.2磁盘调度 266

7.4.3磁盘管理 271

7.5本章小结 273

习题7 274

第8章 中断和信号机制 277

8.1中断处理 277

8.1.1中断概述 277

8.1.2中断的处理过程 279

8.1.3中断优先级和多重中断 283

8.2.1陷入事件的处理方式 286

8.2系统调用处理 286

8.2.2系统调用的处理方式 287

8.2.3系统调用实现过程示例 288

8.3信号机制 290

8.3.1信号机制概念 290

8.3.2信号的分类、产生和传送 291

8.3.3信号的处理方式 293

8.3.4信号的检测和处理 293

8.4 本章小结 294

习题8 294

9.1 网络操作系统概述 297

9.1.1 计算机网络 297

第9章 网络操作系统 297

9.1.2 网络操作系统的功能 298

9.1.3 网络操作系统的特性 299

9.2网络操作系统的工作模式及体系结构 300

9.2.1网络操作系统的工作模式 300

9.2.2网络文件系统体系结构 300

9.3本章小结 302

习题9 303

第10章 分布式操作系统 305

10.1分布式操作系统概述 305

10.1.1分布式系统概述 305

10.1.2分布式操作系统简介 306

10.1.3分布式系统的设计目标 308

10.2分布式系统的通信 310

10.2.1网络协议 310

10.2.2客户-服务器模型 313

10.2.3远程过程调用 314

10.2.4组通信 314

10.3分布式进程管理 315

10.3.1进程迁移 315

10.3.2分布式系统中的同步 316

10.3.3互斥 319

10.4分布式系统中的死锁 320

10.4.1死锁的检测 321

10.5分布式文件系统 322

10.4.2死锁的预防 322

10.5.1文件服务接口 323

10.5.2目录服务器接口 323

10.5.3文件共享语义 325

10.6中间件 326

10.6.1中间件概念 326

10.6.2中间件结构 327

10.7本章小结 328

习题10 329

11.1.1信息安全问题 331

11.1.2安全环境 331

第11章 安全性与保护机制 331

11.1 安全性概述 331

11.2常见的安全性攻击 333

11.2.1常见的攻击点 333

11.2.2网络威胁 334

11.2.3计算机病毒 335

11.3安全对策 337

11.3.1一般性安全机制 338

11.3.2 Linux安全问题及对策 339

11.4.1保护域 343

11.4保护机制 343

11.4.2存取控制表 345

11.4.3权力 347

11.4.4可信系统 348

11.4.5安全性能评测标准 350

11.5本章小结 351

习题11 352

第12章 实例研究1:UNIX 353

12.1 UNIX历史简介 353

12.2 UNIX核心结构 355

12.3.1 进程及其映像 356

12.3 进程管理 356

12.3.2 UNIX进程管理 359

12.3.3 线程管理中的系统调用 361

12.3.4 进程调度 361

12.4 文件系统 363

12.4.1 UNIX文件系统结构 363

12.4.2 文件的打开与关闭 366

12.4.3 主要数据结构之间的联系 368

12.4.4 管道文件 368

12.5 存储管理 369

12.5.1 进程的数据结构 369

12.5.2 对换 370

12.5.3 请求分页 371

12.6 I/O管理 374

12.6.1 UNIX系统的缓冲技术 375

12.6.2 块设备管理 375

12.6.3 字符设备管理 376

12.7 本章小结 377

第13章 实例研究2:Linux 379

13.1 Linux系统的历史和特点 379

13.1.1 Linux的历史 379

13.1.2 Linux的特点 380

13.1.3 Linux的版本 381

13.2 Linux体系结构 381

13.3.1 进程状态及运行模式 383

13.3 进程管理 383

13.3.2 进程的结构 384

13.3.3 进程的操作 385

13.3.4 进程的调度 386

13.4 文件系统 386

13.4.1 虚拟文件系统 387

13.4.2 ext2文件系统 391

13.4.3 管道文件 393

13.5 存储管理 394

13.5.1 进程的虚存空间 394

13.5.2 Linux的多级页表 394

13.5.4 页面更换 395

13.5.3 物理内存管理 395

13.6 I/O管理 396

13.6.1 设备管理概述 396

13.6.2 设备驱动程序和内核之间的接口 398

13.7 网络系统 400

13.7.1 socket 400

13.7.2 网络分层结构 401

13.8 本章小结 401

第14章 实例研究3:Windows2000 403

14.1 Windows 2000的历史和设计原则 403

14.1.1 Windows 2000的历史 403

14.1.2 Windows2000的设计原则 404

14.2 Windows2000体系结构 405

14.2.1 硬件抽象层 406

14.2.2 内核 406

14.2.3 执行体 409

14.3 环境子系统 412

14.4 虚拟存储管理 413

14.4.1 进程的虚拟地址空间 413

14.4.2 虚拟分页地址转换机构 413

14.5 本章小结 414

附录 习题参考答案 417

参考文献 454