《操作系统原理教程》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:张丽芬,刘美华编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2004
  • ISBN:7121000040
  • 页数:425 页
图书介绍:计算机操作系统是计算机系统中最基本的系统软件,它负责管理和控制整个系统的软硬件资源,并向用户提供良好的用机环境。本书共分为四篇。第一篇主要介绍操作系统的基本原理、三种基本操作系统(批处理、分时和实时)的功能和基本特点,操作系统的基本功能(处理机管理、作业管理、存储器管理、文件管理和设备管理)和操作系统的进一步发展。第二篇介绍UNIX和Linux操作系统各部分功能的具体实现技术。第三篇为Windows 2000操作系统,介绍以面向对象方法设计操作系统的技术。第四篇介绍网络和分布式系统的实现技术。本书以操作系统的基本原理与实现技术为主要内容,同时注意实际的应用。在编写过程中注意吸收国内外较新的操作系统理论和实现技术,以反映现代操作系统发展的新动向。?

目录 1

第一篇 操作系统的基本原理 1

第1章 操作系统概论 1

1.1 操作系统的组成和设计目标 1

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

1.2.1 顺序处理(手工操作)阶段 2

1.2.2 简单的批处理系统(Simple Batch System) 3

1.2.3 多道成批处理系统(Multiprogrammed Batch System) 5

1.2.4 分时系统(Time-Sharing System) 8

1.2.5 实时系统(Real-Time System) 10

1.2.6 嵌入式系统(Embedded System) 11

1.3 操作系统的功能和特性 12

1.4 操作系统的进一步发展 14

1.5 操作系统的设计规范 16

1.6 小结 17

习题 18

第2章 进程管理 19

2.1 进程的引入及其概念 19

2.2 进程的描述 22

2.3 进程的控制 25

2.4 进程调度 27

2.5 线程的引入 29

2.6 进程之间的低级通信 31

2.6.1 进程之间的互斥 32

2.6.2 进程之间的同步 34

2.6.3 信号量和P,V操作 35

2.6.4 管程 39

2.7 进程之间的高级通信 42

2.8.1 死锁的定义和死锁产生的必要条件 45

2.8 死锁 45

2.8.2 解决死锁的方法 46

2.9 小结 54

习题 55

第3章 作业管理 58

3.1 引言 58

3.2 作业输入 59

3.3 作业调度 60

3.3.1 作业的状态及其转换 60

3.3.2 作业调度的任务 61

3.4 作业控制 63

3.5 系统调用 64

3.6 小结 67

习题 67

第4章 存储器管理 69

4.1 引言 69

4.1.1 存储器管理功能 69

4.1.2 存储器管理中涉及的几个概念 69

4.2 单用户单道程序的存储器分配 71

4.3.1 固定式分区(Fixed Pa rtition) 72

4.3 多用户多道程序的存储器分配——分区分配 72

4.3.2 可变式分区(Dynamic Partition) 73

4.4 覆盖与交换技术 77

4.5 页式存储器管理 79

4.5.1 页式管理的实现原理 79

4.5.2 页式动态地址变换 80

4.5.3 快表和联想存储器 81

4.5.4 页式管理的主存分配与回收 83

4.6 段式存储器管理 84

4.7.1 页式虚拟存储器管理 87

4.7 虚拟存储器 87

4.7.2 页式管理设计中应考虑的问题 92

4.7.3 段式虚拟存储器管理 96

4.7.4 段页式存储器管理 98

4.8 小结 99

习题 99

第5章 文件系统 102

5.1 文件和文件系统 102

5.2 文件的逻辑结构和存取方法 103

5.3.1 文件的物理结构 105

5.3 文件的物理结构和存储介质 105

5.3.2 文件的存储介质 108

5.4 文件记录的组块与分解 110

5.5 文件目录结构 111

5.6 文件存储器存储空间的管理 114

5.7 文件的共享与保护 116

5.7.1 文件的共享 117

5.7.2 文件的保护 117

5.7.3 文件的存取控制 118

5.8 文件的操作命令 120

5.9 文件系统的组织结构 122

5.10 小结 123

习题 123

第6章 设备管理 125

6.1 I/O硬件组成 125

6.1.1 I/O设备 125

6.1.2 设备控制器 125

6.1.3 直接存储器访问(DMA) 128

6.1.4 通道控制方式 129

6.2.1 I/O软件的目标 130

6.2 I/O软件的组成 130

6.2.2 I/O软件的功能 131

6.3 磁盘管理 136

6.3.1 磁盘的物理性能 136

6.3.2 磁盘调度算法 137

6.3.3 磁盘调度算法的比较 139

6.3.4 磁盘的错误处理 140

6.3.5 提高磁盘性能和容错性的机制——独立磁盘的冗余阵列 141

6.4 终端管理 144

6.4.1 终端硬件 144

6.4.2 终端软件 146

6.5 时钟管理 148

6.5.1 时钟硬件 149

6.5.2 时钟软件 149

6.6 小结 151

习题 151

第二篇 UNIX系统V操作系统的实例研究 154

第7章 UNIX系统V的进程管理 154

7.1 UNIX系统的进程组成 154

7.1.1 UNIX系统的进程映像 154

7.1.2 UNIX系统的进程控制块 155

7.2 进程的状态及其转换 160

7.3 UNIX系统进程的上下文 162

7.4 UNIX系统的进程控制 163

7.4.1 进程的创建fork() 163

7.4.2 进程的终止exit() 165

7.4.3 父进程等待子进程终止的同步命令wait() 165

7.4.4 进程的睡眠与唤醒(sleep()和wakeup()) 167

7.4.5 进程执行一个新程序的系统调用exec() 170

7.4.6 UNIX系统的工作过程 172

7.5 UNIX系统的进程调度 173

7.5.1 进程优先级 174

7.5.2 影响进程调度的三个标志 175

7.5.3 进程调度的时机 175

7.5.4 进程调度的功能 176

7.6 进程的换入与换出 177

7.7 小结 178

习题 178

8.1 虚存空间的划分 179

8.1.1 系统空间布局 179

第8章 UNIX系统V存储器管理 179

8.1.2 VAX-11机的地址结构 180

8.2 存储器管理中的几个数据结构 180

8.2.1 页表 180

8.2.2 系统空闲页表(spt)区的管理 181

8.2.3 主存位示图 182

8.2.4 交换区空闲空间的管理 182

8.3 主存分配与回收 183

8.3.1 主存的分配和释放函数 183

8.3.2 进程的主存分配与释放 186

8.4 地址转换 189

8.5 请求调页处理 190

8.6 小结 193

习题 193

第9章 UNIX系统V的文件系统 194

9.1 UNIX文件系统的逻辑结构 194

9.2 UNIX文件系统中所用的数据结构 194

9.2.1 文件卷的结构 194

9.2.2 超级块结构 195

9.2.3 UNIX系统文件目录与索引节点 196

9.3 磁盘索引节点的分配与回收 199

9.4 空闲盘块的分配与回收 200

9.5 UNIX系统使用的打开文件数据结构 201

9.6 UNIX文件系统的系统调用命令 204

9.6.1 文件的创建、打开和删除命令 204

9.6.2 文件的读/写命令 206

9.6.3 文件关闭的系统调用命令(close) 207

9.6.4 文件连接系统调用命令(link) 208

9.6.5 改变文件读/写指针的系统调用命令(seek) 208

9.6.6 解除连接的系统调用命令(unlink) 208

9.7.1 安装表与文件卷的安装过程 209

9.7 UNIX文件系统的安装与拆卸 209

9.7.2 文件卷的拆卸 211

9.8 小结 211

习题 212

第10章 UNIX系统V的输入/输出子系统 214

10.1 与设备驱动程序的接口 214

10.2 块设备管理 215

10.2.1 系统缓冲池及各种队列的管理 215

10.2.2 缓冲区的分配与释放 219

10.2.3 块设备管理中的几个数据结构 220

10.2.4 系统调用与块设备驱动程序的接口 225

10.3 字符设备管理 229

10.3.1 字符设备中使用的数据结构 229

10.3.2 字符设备的缓冲技术 234

10.3.3 终端设备的字符输入/输出处理及设备驱动 238

10.4 小结 240

习题 241

11.1 管道通信 242

11.1.1 创建无名管道 242

第11章 UNIX系统V进程之间的通信 242

11.1.2 创建一个有名管道 244

11.2 消息缓冲机制 246

11.2.1 消息缓冲使用的数据结构 247

11.2.2 消息缓冲的系统调用 248

11.2.3 消息缓冲的通信过程 250

11.3 共享主存段机制 252

11.3.1 共享主存段使用的数据结构 252

11.3.2 共享主存段的系统调用 253

11.3.3 共享主存段机制中各数据结构的关系 254

11.4 信号量机制 256

11.4.1 信号量机制中的数据结构 256

11.4.2 信号量机制的系统调用 258

11.5 小结 261

习题 261

第12章 中断和异常处理 262

12.1 中断和异常处理的硬件基础 262

12.2 中断和异常处理 266

12.2.1 中断处理 266

12.2.2 异常处理 269

12.3 软中断处理机制 272

12.3.1 软中断的处理方式 273

12.3.2 软中断中使用的几个函数 273

12.3.3 软中断信号机制的应用 275

12.4 小结 276

习题 276

第13章 Linux操作系统 277

13.1 Linux的进程管理 278

13.2.1 i386的页式主存管理机制 281

13.2 Linux的存储器管理 281

13.2.2 Linux主存管理的基本框架 282

13.2.3 存储器管理中的几个重要数据结构 283

13.2.4 主存页框的调度 287

13.2.5 缺页异常处理 288

13.3 Linux虚拟文件系统 289

13.3.1 VFS的数据结构 290

13.3.2 VFS系统调用的实现 296

13.4 Ext2文件系统 298

13.4.1 Ext2的磁盘数据结构 298

13.4.2 Ext2的主存数据结构 301

13.4.3 Ext2的系统调用命令 304

13.5 Linux I/O系统 305

13.6 小结 309

习题 310

第三篇 WindoWs 2000的操作系统研究 311

第14章 Windows2000操作系统模型 311

14.1 Windows 2000操作系统的体系结构 311

14.1.1 用户态进程 312

14.1.3 NT执行体 313

14.1.2 NT子系统动态连接库NTDL L.DLL 313

14.1.4 内核 314

14.1.5 硬件抽象层 315

14.1.6 设备驱动程序 315

14.2 Windows 2000操作系统的特点 315

14.3 Windows 2000的系统机制 316

14.3.1 陷阱处理程序(TrapDispatching) 316

14.3.2 中断调度 317

14.3.3 异常调度(Exception Dispatcher) 320

14.3.4 系统服务调度 321

14.4.1 对象结构 322

14.4 对象管理器 322

14.4.2 管理对象 324

14.5 对象之间的同步 326

14.5.1 内核对象的同步 326

14.5.2 执行体对象的同步 327

14.6 小结 330

习题 330

15.1.1 进程对象 331

15.1 Windows 2000进程和线程 331

第15章 Windows 2000进程和线程管理 331

15.1.2 Windows 2000线程对象 333

15.2 Windows 2000的线程调度 334

15.2.1 Windows2000的线程调度特征 334

15.2.2 进程和线程优先级 334

15.2.3 调度程序的数据结构 337

15.2.4 线程调度的策略 337

15.2.5 线程优先级提升 338

15.3 对称多处理机系统上的线程调度 340

15.4 线程的状态 342

15.5.1 同步对象 343

15.5 Windows 2000的进程同步 343

15.5.2 同步对象的应用示例 344

15.6 小结 348

习题 349

第16章 Windows 2000的存储器管理 350

16.1 Windows 2000的存储器管理概述 350

16.1.1 进程地址空间的布局 350

16.1.2 进程空间的主存分配 351

16.2.1 Windows 2000地址转换所涉及的数据结构 355

16.2 Windows 2000地址转换 355

16.2.2 页错误处理 360

16.3 页调度策略 362

16.4 小结 364

习题 364

第17章 Windows 2000的文件系统 365

17.1 Windows 2000的文件系统概述 365

17.2 主控文件表 366

17.3 NTFS文件的物理结构 369

17.4.1 Windows 2000文件系统分层模型 370

17.4 Windows 2000文件系统模型 370

17.4.2 Windows 2000文件系统驱动程序的组成 371

17.5 NTFS文件的安全性 373

17.6 NTFS可恢复性支持 373

17.6.1 文件系统采用的优化技术 373

17.6.2 日志文件服务的实现 374

17.6.3 NTFS坏簇恢复的支持 378

17.7 小结 379

习题 379

18.1 Windows 2000的I/O系统结构 380

第18章 Windows 2000的设备管理 380

18.2 I/O管理系统所涉及的关键数据结构 381

18.2.1 I/O管理系统的特点 381

18.2.2 几个关键的数据结构 382

18.3 Windows 2000 I/O处理 384

1 8.3.1 对单层驱动程序的I/O请求的处理 385

18.3.2 设备I/O的中断处理 386

18.3.3 I/O请求的完成过程处理 386

18.3.4 对多层驱动程序的I/O请求的处理 387

18.4 多处理I/O中的同步问题 390

18.3.5 使用异步I/O的考虑 390

18.5 映射文件I/O和文件高速缓存 391

18.6 快速I/O 391

18.7 即插即用管理器 392

18.8 小结 393

习题 394

第四篇 网络与分布式系统 395

第19章 网络与分布式处理综述 395

19.1 分布式系统概述 395

19.2 开放式系统互连通信结构 400

19.3 网络服务器 402

19.4 进程迁移 406

19.5 分布式进程通信 409

19.6 分布式进程管理 414

19.6.1 分布式互斥 414

19.6.2 分布式互斥算法 417

19.7 分布式进程死锁问题 420

19.7.1 资源分配中的死锁 420

19.7.2 消息通信中的死锁 422

19.8 小结 424

参考文献 425