《Windows操作系统原理》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:尤晋元等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2001
  • ISBN:7111092112
  • 页数:445 页
图书介绍:本书是在微软中国研究院和美国微软公司的支持下,由美国微软公司提供Windows全面内部技术资料,全国五所知名重点大学操作系统主讲教师组成写作组,历时一年写作完成的一本以Windows 2000/XP为实际示例,讲授计算机操作系统原理的教科书。本书讲述了当代计算机操作系统的原理,并具体分析了操作系统原理在Windows 2000/XP中的实现技术和方法,有理论、有示例。既有设计思想精要的提炼,又有具体实现细节的分析。本书是第一本用中文出版的、讨论Windows操作系统原理的教科书,也是第一本将讲授操作系统一般原理与分析Windows操作系统内部体系结构相结合的书籍。本书适合作为高等院校计算机和电子工程相关专业的操作系统教科书,也是一本用于设计、开发基于Windows的应用软件,以及编写Windows操作系统驱动程序的重要参考书。同时本书也是微软Windows 2000/XP平台上应用软件设计和开发人员的必备参考书。

序(一) 1

序(二) 1

编者的话 1

第1章 操作系统概述 1

前言页 1

1.1 计算机系统概观 2

1.1.1 计算机的发展与分类 2

1.1.2 计算机系统 3

1.2.2 操作系统的定义 6

1.2 操作系统的概念 6

1.2.1 操作系统的地位 6

1.2.3 操作系统的特征 7

1.3 操作系统的功能 7

1.4 操作系统简史 8

1.5 操作系统分类 12

1.6 研究操作系统的几种观点 14

1.7 Windows 操作系统的发展历程 15

1.7.2 Windows 的版本 16

1.7.1 Windows 的开发过程 16

1.7.3 Windows 早期版本的技术特点 17

1.7.4 Windows 95和Windows 98 18

1.7.5 Windows NT操作系统的技术特点 19

1.7.6 Windows Embedded家族 21

1.7.7 Windows 2000 22

1.7.8 Windows XP 24

1.7.9 Windows 2000开发的艰辛与规模 27

习题 28

第2章 Windows 2000/XP的体系结构 31

2.1 操作系统的设计 32

2.1.1 操作系统的设计目标 32

2.1.2 操作系统的设计阶段 34

2.1.3 操作系统的结构问题 34

2.1.4 操作系统的结构设计 35

2.2 Windows 2000/XP的操作系统模型 40

2.2.1 Windows 2000/XP的构成 40

2.2.2 Windows 2000/XP的可移植性 41

2.2.3 Windows 2000/XP的对称多处理的支持 42

2.3 Windows 2000/XP的体系结构 42

2.3.1 内核 42

2.3.2 硬件抽象层 44

2.3.3 执行体 44

2.3.4 设备驱动程序 45

2.3.5 环境子系统和子系统动态链接库 46

2.3.6 系统支持进程 50

2.4 Windows 2000/XP的系统机制 51

2.4.1 陷阱调度 52

2.4.2 对象管理器 60

2.4.3 同步 64

2.4.4 本地过程调用 68

2.4.5 系统工作线程 69

2.5 Windows 2000/XP 的注册表 69

2.5.1 注册表的数据类型 69

2.5.2 注册表的逻辑结构 70

2.6.1 服务应用程序 71

2.6 Windows 2000/XP 服务 71

2.6.2 服务帐号 73

2.6.3 交互式服务 74

2.6.4 服务控制器 74

2.7 Windows 2000/XP 的管理机制 81

2.7.1 WMI的体系结构 81

2.7.2 数据生产者 83

2.7.3 通用信息模型和管理对象格式语言 83

2.7.4 WMI名字空间 84

2.7.5 类联合 84

2.7.6 WMI对象浏览器 85

2.7.7 WMI执行 85

2.7.8 WMI安全 85

习题 85

第3章 进程和处理器管理 89

3.1 进程 90

3.1.1 程序的顺序执行和并发执行 90

3.1.2 进程的定义和描述 91

3.1.3 进程的状态转换 92

3.2 进程控制 96

3.2.1 进程的创建和退出 96

3.2.2 进程的阻塞和唤醒 97

3.2.3 Windows 2000/XP 进程管理 98

3.3 线程 99

3.3.1 线程的概念 99

3.3.3 Windows 2000/XP 线程 101

3.3.2 进程和线程的比较 101

3.4 进程互斥和同步 103

3.4.1 互斥算法 103

3.4.2 信号量 106

3.4.3 经典进程同步问题 109

3.4.4 管程 111

3.4.5 Windows 2000/XP 的进程互斥和同步 112

3.5 进程间通信 114

3.5.1 Windows 2000/XP 的信号 114

3.5.2 Windows 2000/XP 基于文件映射的共享存储区 115

3.5.4 Windows 2000/XP 邮件槽 116

3.5.3 Windows 2000/XP 管道 116

3.5.5 套接字 117

3.6 死锁问题 117

3.6.1 概述 117

3.6.2 死锁的预防 118

3.6.3 死锁的检测 119

3.6.4 死锁的避免 119

3.7.1 处理器调度的类型 120

3.7.2 调度的性能准则 120

3.6.5 解决死锁问题的综合方法 120

3.7 处理器调度概述 120

3.7.3 进程调度器 121

3.8 调度算法 122

3.8.1 先来先服务算法 122

3.8.2 最短作业优先算法 122

3.8.5 优先级算法 123

3.8.4 多级队列算法 123

3.8.3 时间片时钟算法 123

3.8.6 多级反馈队列算法 124

3.9 Windows 2000/XP 的线程调度 124

3.9.1 Windows 2000/XP 的线程调度特征 124

3.9.2 Win32中与线程调度相关的应用程序编程接口 125

3.9.3 线程优先级 126

3.9.4 线程时间配额 128

3.9.5 调度数据结构 130

3.9.6 调度策略 132

3.9.7 线程优先级提升 134

3.9.8 对称多处理器系统上的线程调度 137

3.9.9 空闲线程 139

习题 139

参考文献 140

第4章 存储体系 141

4.1 存储管理的基本原理 142

4.1.1 内存管理方法 142

4.1.2 虚拟存储器 147

4.1.3 磁盘存储管理 151

4.1.4 高速缓存管理 155

4.2 Windows 2000/XP 内存管理 158

4.2.1 地址空间的布局 159

4.2.2 地址转换机制 164

4.2.3 用户空间内存分配方式 170

4.2.4 系统内存分配 175

4.2.5 缺页处理 176

4.2.6 工作集 181

4.2.7 物理内存管理 185

4.2.8 其他内存相关机制 192

4.3 Windows 2000/XP 外存管理 195

4.3.1 Windows 2000/XP 存储的演变 196

4.3.2 分区 197

4.3.3 驱动程序 199

4.3.4 多重分区管理 202

4.3.5 卷名字空间 206

4.4 Windows 2000/XP 高速缓存管理 208

4.4.1 高速缓存的结构 211

4.4.2 高速缓存的大小 212

4.4.3 高速缓存的数据结构 214

4.4.4 高速缓存的操作 218

4.4.5 高速缓存支持例程 223

4.4.6 写阻塞 225

4.4.7 小结 225

习题 225

第5章 文件系统 227

5.1.1 文件 228

5.1 文件概念与实现 228

5.1.2 文件实现 231

5.2 目录概念与实现 235

5.2.1 目录 235

5.2.2 目录实现 239

5.3 文件系统 240

5.3.1 文件系统模型 240

5.3.2 文件系统可恢复性 243

5.3.3 文件系统安全性 244

5.4 Windows FSD体系结构 246

5.4.1 本地FSD 246

5.4.2 远程FSD 246

5.4.3 FSD与文件系统操作 247

5.5 Windows 文件系统概述 248

5.5.1 CDFS与UDF 249

5.5.2 FAT12、FAT16与FAT32 249

5.6.1 NTFS设计目标 252

5.6 NTFS设计目标与高级特性 252

5.6.2 NTFS的高级特性 253

5.7 NTFS文件系统驱动程序 258

5.8 NTFS磁盘结构 259

5.8.1 卷 259

5.8.2 簇 259

5.8.3 主控文件表 260

5.8.4 文件引用号 262

5.8.5 文件记录 262

5.8.7 常驻属性与非常驻属性 264

5.8.6 文件名称 264

5.8.8 索引 266

5.8.9 数据压缩 267

5.9 NTFS可恢复性支持 268

5.9.1 日志记录的实现 268

5.9.2 可恢复性实现 272

5.10 NTFS坏簇恢复支持 274

5.11 NTFS安全性支持 275

5.11.2 首次加密文件 277

5.11.1 注册回调函数 277

5.11.3 解密文件 279

5.11.4 备份加密文件 280

习题 280

第6章 I/O系统 281

6.1 I/O系统概述 282

6.1.1 设备管理的重要性 282

6.1.2 设备的分类 283

6.1.4 I/O系统的功能 284

6.1.3 I/O设备的性能标准 284

6.1.5 设备分配 288

6.1.6 I/O系统功能的实现 292

6.2 I/O软件的组成 293

6.2.1 I/O软件的目标 293

6.2.2 中断处理程序 293

6.2.3 设备驱动程序 296

6.2.4 与设备无关的系统软件 298

6.2.5 用户空间的I/O软件 299

6.3 Windows 2000/XP 的I/O系统结构和模型 301

6.3.1 I/O管理器 303

6.3.2 PnP管理器 303

6.3.3 电源管理器 304

6.4 Windows 2000/XP I/O系统的数据结构 307

6.4.1 文件对象 307

6.4.2 驱动程序对象和设备对象 309

6.4.3 I/O请求包 310

6.5 Windows 2000/XP的设备驱动程序 311

6.5.1 驱动程序结构 314

6.5.2 同步 316

6.6 Windows 2000/XP的I/O处理 316

6.6.1 I/O的类型 317

6.6.2 对单层驱动程序的I/O请求 318

6.7 小结 320

习题 320

第7章 网络 321

7.1 网络基本原理 322

7.1.1 OSI参考模型 323

7.1.2 TCP/IP参考模型 324

7.1.3 其他基本概念 326

7.2 Windows 2000网络体系结构 328

7.2.1 网络API 329

7.2.2 网络资源的名字解析 342

7.2.3 协议驱动程序 347

7.2.4 NDIS驱动程序 348

7.3 Windows 2000的层次化网络服务 350

7.3.1 远程访问 351

7.3.2 活动目录 351

7.3.3 网络负载平衡 352

7.3.4 文件复制服务 353

7.3.5 分布式文件系统 353

7.3.6 TCP/IP的一些扩展特性 354

7.4 小结 355

习题 356

第8章 Windows 应用程序设计 357

8.1 Win32 API 358

8.2 Windows 应用程序设计模式 359

8.2.1 窗口 360

8.2.2 事件驱动 361

8.2.3 Windows 应用程序的开发流程 363

8.3 Windows应用程序的基本结构 364

8.3.1 WinMain函数 364

8.3.2 窗口函数 369

8.4 结构化异常处理 371

8.4.1 异常处理 372

8.4.2 终止处理 375

8.4.3 软件异常 377

8.5 动态链接库 378

8.5.1 动态链接与静态链接 378

8.5.2 DLL到进程地址空间的映射 379

8.5.3 DLL的入口点函数 381

8.5.4 DLL的创建和使用 383

习题 384

第9章 Windows 设备驱动程序设计 385

9.1 Windows 2000/XP 的设备驱动程序 386

9.2 WDM的核心概念和数据结构 388

9.2.1 设备和驱动程序的分层 388

9.2.2 驱动程序对象 390

9.2.3 设备对象 391

9.2.4 I/O请求包 393

9.3.1 DriverEntry例程 398

9.3 WDM驱动程序的结构 398

9.3.2 AddDevice例程 400

9.3.3 DispatchPnp例程 404

9.3.4 DispatchPower例程 404

9.3.5 WMI与DispatchWmi例程 405

9.3.6 其他例程 408

9.4 WDM驱动程序的编程 409

9.4.1 WdmDriver的源代码组成 409

9.4.3 PnP与电源管理 410

9.4.2 初始化与清除 410

9.4.4 WMI支持 412

9.4.5 分发例程 416

9.4.6 驱动程序的编译链接 419

9.4.7 驱动程序的安装 419

9.4.8 驱动程序的测试 422

习题 425

实习 427

术语 439

参考文献 445