《操作系统教程 原理和实例分析》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:孟静编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2001
  • ISBN:7040100363
  • 页数:494 页
图书介绍:

第一章 操作系统概论 1

1.1 操作系统是什么与为什么 1

1.1.1 引言:你所用过的操作系统 1

1.1.2 操作系统是什么与做什么 4

1.1.3 操作系统的规模、数量与重要性 8

1.2 操作系统如何工作 9

1.2.1 操作系统的第一个工作:负责所有程序的启动和结束 9

1.2.2 操作系统的第二个工作:用户程序中对操作系统的调用——系统调用和中断 18

1.2.3 操作系统的第三个工作:为常用基本操作提供现成实用程序 28

1.2.4 操作系统的第四个工作:解决效率和安全问题——并发技术等 29

1.3 从各种角度看操作系统 36

1.3.1 操作系统的结构 36

1.3.2 操作系统的接口 39

1.3.3 操作系统的工作过程 40

1.3.4 操作系统的特点 40

1.3.5 操作系统的类型 41

1.3.6 操作系统的各种别名、比方和观点 41

1.4 操作系统发展简史 42

1.4.1 操作系统出现以前的计算机使用方式:手工交互和手工批处理 43

1.4.2 操作系统的产生与第一代操作系统:单任务自动批处理 48

1.4.3 第二代操作系统:多任务和多方式 51

1.4.4 第三代操作系统:软件工程和小型化 54

1.4.5 第四代操作系统:开放系统和并行分布 55

1.4.6 操作系统发展规律小结 57

1.5 目前常用操作系统简介 59

1.5.1 微软操作系统产品:Windows系列及MS DOS 59

1.5.2 UNIX大家庭:Solaris,AIX,HP UX,SVR4,BSD 65

1.5.3 自由软件中的操作系统:Linux和freeBSD等 71

1.5.4 IBM操作系统产品:AIX、zOS(OS/390)、OS/2、OS/400、PC DOS等 79

1.5.5 其他常用操作系统:Mac OS和NetWare等 81

1.6 本章小结 81

习题 81

第二章 处理机管理 83

2.1 处理机管理概述 83

2.1.1 处理机硬件使用特性 83

2.1.2 处理机硬件使用特性实例分析(1):Intel x86/Pentium系列CPU 84

2.1.3 处理机硬件使用特性实例分析(2):MIPS R4000 CPU 100

2.1.4 用户对处理机的使用要求和操作系统处理机管理功能的工作任务 104

2.2 进程模型 106

2.2.1 进程三态转换分析 107

2.2.2 进程模型实现机制 110

2.2.3 专题:可抢先、不可抢先、完全可抢先 113

2.2.4 专题:进程调度算法 115

2.3 进程模型实例分析(1):UNIX进程模型 117

2.3.1 UNIX关于建立进程和终止进程的用户界面 118

2.3.2 UNIX进程层次和初启过程 120

2.3.3 UNIX进程模型的基本结构和工作过程 122

2.3.4 例析:shell和fork的内部工作过程 124

2.4 进程模型实例分析(2):Linux进程模型 126

2.4.1 Linux进程模型功能特点、用户界面和实现机制总瞰 126

2.4.2 Linux初始过程和进程层次 129

2.4.3 Linux进程表和任务结构 130

2.4.4 Linux进程状态 133

2.4.5 Linux中断处理机制 134

2.4.6 Linux进程调度算法 136

2.5 线程模型 139

2.5.1 引言和背景:进程模型在处理“同时多请求”时的效率局限性 139

2.5.2 线程的概念和基本工作原理 140

2.5.3 线程的作用 141

2.5.4 线程模型的使用界面 142

2.5.5 线程的划分和组织模型 144

2.5.6 线程(包)的实现:用户态线程和核心态线程(线程包的用户空间实现和核心空间实现) 145

2.6 线程模型实例分析(1):Solaris进程和线程模型 147

2.6.1 用户态线程、LWP、核心线程在Solaris中的具体含义 147

2.6.2 Solaris线程模型的设计目标和实现机制总瞰 149

2.7 线程模型实例分析(2):Windows 2000/NT进程和线程模型 151

2.7.1 Windows 2000/NT进程和线程模型总述 151

2.7.2 Windows 2000/NT中进程的实现 151

2.7.3 Windows 2000/NT中线程的实现 153

2.7.4 调度算法 154

2.8 作业管理 154

2.8.1 概述、实际应用背景与必要性 154

2.8.2 作业管理实例分析(一):UNIX/Linux shell 157

2.8.3 作业管理实例分析(二):NQS和DQS 158

2.8.4 作业管理界面综述:作业输入方式、作业控制说明书、作业控制语言 159

2.8.5 作业管理内部实现机制综述:JCB、井和作业调度 159

2.8.6 关于作业与程序启动方式的关系 160

习题 160

第三章 内存管理 162

3.1 内存管理概述 162

3.1.1 内存概念、作用、性能指标和计算机存储层次 162

3.1.2 内存硬件使用特性:微观角度(指令级)和宏观角度(程序级) 164

3.1.3 用户对内存的使用要求 171

3.1.4 内存管理的功能和任务 173

3.2 连续模式 178

3.2.1 无管理模式、覆盖技术和动态装入技术 178

3.2.2 单一分区模式和交换技术 181

3.2.3 固定分区模式和多道技术 184

3.2.4 可变分区模式和动态存储分配技术 188

3.3 不连续模式之一:页模式 194

3.3.1 实存页模式的基本工作过程与结构 195

3.3.2 虚存页模式的基本工作过程和结构 199

3.3.3 页式实现专题讨论(1):虚存概念和作用 201

3.3.4 页式实现专题讨论(2):进程页表的实现——快表、页表页和页目录 201

3.3.5 页式实现专题讨论(3):大而稀疏内存使用 208

3.3.6 页式实现专题讨论(4):页分配策略——请求调页、预先调页和写时复制 209

3.3.7 页式实现专题讨论(5):页长和页簇化 211

3.3.8 页式实现专题讨论(6):页淘汰策略、工作集理论和颠簸 212

3.3.9 页式实现专题讨论(7):盘交换区管理 214

3.3.10 页模式评价、实际系统采用情况和本节小结 216

3.4 不连续模式之二/三:段模式和段页式 217

3.4.1 段模式定义和用户内存观点 217

3.4.2 段模式的基本工作过程与结构 219

3.4.3 段模式实现策略专题讨论 223

3.4.4 段模式的评价与实际系统采用情况 225

3.4.5 段页式 227

3.5 内存管理实例分析 229

3.5.1 CPU对内存管理的硬件支持实例分析:Intel x86/Pentium系列CPU和MIPS 229

3.5.2 Windows 2000/NT内存管理 239

3.5.3 Linux内存管理 255

3.6 本章总结 257

3.6.1 四空间模型 258

3.6.2 本章小结 260

习题 262

第四章 外存管理和文件系统 264

4.1 外存管理和文件系统概述 265

4.1.1 外存硬件接口特性 265

4.1.2 用户对外存的使用要求 275

4.1.3 从文件定义看文件系统的界面高度和工作任务 276

4.2 文件系统用户界面 281

4.2.1 文件级界面:文件属性和文件操作 281

4.2.2 目录级界面:目录(树)和链接 284

4.2.3 文件子系统级用户界面 288

4.3 文件的实现 296

4.3.1 连续分配背景下的讨论 297

4.3.2 不连续分配背景下的讨论 309

4.3.3 各种分配策略在实际系统中的采用情况和综合优化情况 320

4.4 目录的实现 322

4.4.1 目录树结构的实现:目录文件方法 322

4.4.2 硬链接的实现:设备目录与文件目录的分离 325

4.4.3 符号链接的实现 331

4.5 文件子系统的实现 333

4.5.1 文件子系统实现机制总述 333

4.5.2 Windows个人系列和DOS的文件子系统实现机制(单类型文件子系统) 334

4.5.3 UNIX早期版本的文件子系统实现机制(单类型文件子系统) 336

4.5.4 Linux、SVR4和Solaris的文件子系统实现机制(多类型文件子系统) 337

4.6 文件系统性能改善机制 339

4.6.1 物理地址与存取单位的优化 340

4.6.2 文件打开与关闭技术 341

4.6.3 文件共享 341

4.6.4 当前目录结构和名字快速缓存 344

4.6.5 内存缓冲区与缓冲池 346

4.6.6 磁臂调度技术 347

4.6.7 其他技术概述 351

4.6.8 文件系统的安全性和可靠性 353

4.7 文件系统实例分析 354

4.7.1 Windows个人系列和DOS的文件系统——FAT文件系统 354

4.7.2 UNIX s5文件系统 357

4.7.3 UNIX SVR4文件系统——UFS(FFS) 358

4.7.4 Linux文件系统 359

4.7.5 Windows 2000/NT文件系统 363

4.8 本章总结和有关文件系统模型 371

习题 372

第五章 设备管理 375

5.1 设备管理概述 376

5.1.1 计算机外部设备的定义与分类 376

5.1.2 设备硬件接口特性 379

5.1.3 用户对设备的使用要求 390

5.1.4 操作系统设备管理功能的任务 392

5.2 早期设备管理实例分析 393

5.2.1 传统UNIX设备管理 393

5.2.2 DOS设备管理 402

5.3 操作系统设备管理功能实现原理通述 403

5.3.1 用户界面通述 403

5.3.2 内部结构与过程通述 404

5.3.3 速度匹配专题讨论(1):设备完成技术、同步和异步I/O 410

5.3.4 速度匹配专题讨论(2):缓冲技术 413

5.3.5 设备分配与共享技术专题讨论:独占、共享和虚拟设备 415

5.3.6 速度匹配专题讨论(3):联机、脱机和假脱机技术 417

5.3.7 非编程I/O技术专题讨论:DMA、通道等 418

5.3.8 设备驱动程序 425

5.3.9 操作系统设备管理功能与其他功能间的关系 426

5.4 现代设备管理实例分析 428

5.4.1 Windows 2000/NT设备管理 428

5.4.2 Linux设备管理 429

5.5 本章小结 431

习题 431

第六章 进程通信 433

6.1 进程通信概述 433

6.2 进程互斥和同步机制 435

6.2.1 基本的硬件机制 435

6.2.2 软件的忙等互斥方案 437

6.2.3 软件非忙等互斥方案:信号量 440

6.2.4 由程序设计语言支持的进程互斥机制:管程 441

6.2.5 信号 442

6.2.6 本节小结及其他互斥和同步方案 442

6.3 进程通信机制 442

6.3.1 消息传递机制:消息队列、管道和有名管道(FIFO)、RPC、套接字、门 442

6.3.2 共享内存 443

6.4 死锁和饥饿 443

6.5 进程通信实例分析 444

6.5.1 UNIX进程通信 444

6.5.2 Linux进程通信 451

6.5.3 Windows 2000/NT进程通信 455

6.6 各种IPC机制的等价性、比较和总结 457

习题 458

第七章 分布式、网络、并行和嵌入式操作系统 461

7.1 分布式系统概述 462

7.2 并行操作系统 464

7.3 网络操作系统 466

7.4 分布式操作系统 467

7.4.1 透明性 468

7.4.2 可靠性 468

7.4.3 高性能 469

7.4.4 伸缩性 470

7.5 分布式文件系统 471

7.6 机群与网格操作系统 473

7.7 嵌入式操作系统 475

习题 476

第八章 性能与设计 477

8.1 性能 477

8.1.1 性能和性能指标总述 477

8.1.2 可扩充性、可移植性、兼容性 478

8.1.3 安全性 480

8.1.4 可靠性和RAS技术 481

8.2 操作系统结构设计 482

8.2.1 单体结构模型 483

8.2.2 层次结构模型 483

8.2.3 客户/服务器模型与微核结构 483

8.2.4 策略与机制的分离 485

8.2.5 面向对象方法和模型 485

8.2.6 面向对象模型实例分析:NT面向对象模型实现 486

8.3 操作系统的用户界面设计 490

习题 491

参考文献 492