书籍详情
WINDOWS操作系统原理
作者:尤晋元等编著
出版社:机械工业出版社
出版时间:2001-08-01
ISBN:9787111092117
定价:¥39.00
购买这本书可以去
内容简介
本书是在微软中国研究院和美国微软公司的支持下,由美国微软公司提供Windows全面内部技术资料,全国五所知名重点大学操作系统主讲教师组成写作组,历时一年写作完成的一本以Windows 2000/XP为实际示例,讲授计算机操作系统原理的教科书。本书讲述了当代计算机操作系统的原理,并具体分析了操作系统原理在Windows 2000/XP中的实现技术和方法,有理论、有示例。既有设计思想精要的提炼,又有具体实现细节的分析。本书是第一本用中文出版的、讨论Windows操作系统原理的教科书,也是第一本将讲授操作系统一般原理与分析Windows操作系统内部体系结构相结合的书籍。本书适合作为高等院校计算机和电子工程相关专业的操作系统教科书,也是一本用于设计、开发基于Windows的应用软件,以及编写Windows操作系统驱动程序的重要参考书。同时本书也是微软Windows 2000/XP平台上应用软件设计和开发人员的必备参考书。
作者简介
暂缺《WINDOWS操作系统原理》作者简介
目录
序(一)
序(二)
编者的话
第1章 操作系统概述 1
1.1 计算机系统概观 2
1.1.1 计算机的发展与分类 2
1.1.2 计算机系统 3
1.2 操作系统的概念 6
1.2.1 操作系统的地位 6
1.2.2 操作系统的定义 6
1.2.3 操作系统的特征 7
1.3 操作系统的功能 7
1.4 操作系统简史 8
1.5 操作系统分类 12
1.6 研究操作系统的几种观点 14
1.7 Windows操作系统的发展历程 15
1.7.1 Windows的开发过程 16
1.7.2 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的对称多处理的
支持 41
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 Windows 2000/XP服务 71
2.6.1 服务应用程序 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对象浏览器 84
2.7.7 WMI执行 84
2.7.8 WMI安全 84
习题 84
第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.2 进程和线程的比较 101
3.3.3 Windows 2000/XP线程 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.3 Windows 2000/XP管道 116
3.5.4 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.6.5 解决死锁问题的综合方法 120
3.7 处理器调度概述 120
3.7.1 处理器调度的类型 120
3.7.2 调度的性能准则 120
3.7.3 进程调度器 121
3.8 调度算法 122
3.8.1 先来先服务算法 122
3.8.2 最短作业优先算法 122
3.8.3 时间片时钟算法 123
3.8.4 多级队列算法 123
3.8.5 优先级算法 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 文件概念与实现 228
5.1.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 NTFS设计目标与高级特性 252
5.6.1 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.6 文件名称 264
5.8.7 常驻属性与非常驻属性 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.1 注册回调函数 277
5.11.2 首次加密文件 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.3 I/O设备的性能标准 284
6.1.4 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 WDM驱动程序的结构 398
9.3.1 DriverEntry例程 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.2 初始化与清除 410
9.4.3 PnP与电源管理 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
序(二)
编者的话
第1章 操作系统概述 1
1.1 计算机系统概观 2
1.1.1 计算机的发展与分类 2
1.1.2 计算机系统 3
1.2 操作系统的概念 6
1.2.1 操作系统的地位 6
1.2.2 操作系统的定义 6
1.2.3 操作系统的特征 7
1.3 操作系统的功能 7
1.4 操作系统简史 8
1.5 操作系统分类 12
1.6 研究操作系统的几种观点 14
1.7 Windows操作系统的发展历程 15
1.7.1 Windows的开发过程 16
1.7.2 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的对称多处理的
支持 41
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 Windows 2000/XP服务 71
2.6.1 服务应用程序 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对象浏览器 84
2.7.7 WMI执行 84
2.7.8 WMI安全 84
习题 84
第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.2 进程和线程的比较 101
3.3.3 Windows 2000/XP线程 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.3 Windows 2000/XP管道 116
3.5.4 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.6.5 解决死锁问题的综合方法 120
3.7 处理器调度概述 120
3.7.1 处理器调度的类型 120
3.7.2 调度的性能准则 120
3.7.3 进程调度器 121
3.8 调度算法 122
3.8.1 先来先服务算法 122
3.8.2 最短作业优先算法 122
3.8.3 时间片时钟算法 123
3.8.4 多级队列算法 123
3.8.5 优先级算法 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 文件概念与实现 228
5.1.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 NTFS设计目标与高级特性 252
5.6.1 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.6 文件名称 264
5.8.7 常驻属性与非常驻属性 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.1 注册回调函数 277
5.11.2 首次加密文件 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.3 I/O设备的性能标准 284
6.1.4 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 WDM驱动程序的结构 398
9.3.1 DriverEntry例程 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.2 初始化与清除 410
9.4.3 PnP与电源管理 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
猜您喜欢