图书介绍
操作系统现代观点pdf电子书版本下载
- (美)Gary Nutt著;孟祥山,晏益慧译 著
- 出版社: 北京:机械工业出版社
- ISBN:711113530X
- 出版时间:2004
- 标注页数:508页
- 文件大小:108MB
- 文件页数:528页
- 主题词:操作系统-高等学校-教材
PDF下载
下载说明
操作系统现代观点PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
目录 1
出版者的话 1
专家指导委员会 1
译者序 1
前言 1
第1章 导言 1
1.1 计算机与软件 1
1.1.1 通常的系统软件 2
1.1.2 资源抽象 2
示例:磁盘设备抽象 3
1.1.3 资源共享 4
1.2 操作系统策略 6
1.1.4 没有系统软件的计算机 6
性能改善:多道程序系统 7
1.2.1 批处理系统 7
示例:批处理文件 9
1.2.2 分时系统 10
1.2.3 个人计算机和工作站 12
1.2.4 过程控制和实时系统 13
1.2.5 网络 14
1.2.6 当代操作系统的起源 14
示例:Linux的发展 15
示例:微软Windows家族操作系统 17
1.3 小结 18
1.4 习题 19
2.2 资源 21
第2章 使用操作系统 21
2.1 计算的抽象模型 21
2.2.1 文件 22
示例:POSIX文件 22
示例:Windows文件 23
2.2.2 其他资源 26
2.3 进程 26
2.3.1 创建进程 28
示例:使用FORK、JOIN和QUIT 29
示例:UNIX中创建进程 30
示例:Windows中创建进程 32
2.4 线程 33
2.5 对象 35
示例:C线程 35
2.6 小结 36
2.7 习题 36
实验:Shell程序 37
实验:一个多线程的Windows控制台应用程序 42
第3章 操作系统的组织结构 51
3.1 OS设计中的要素 51
3.1.1 性能 51
3.1.2 保护和安全 52
3.1.3 正确性 52
3.1.4 可维护性 53
3.1.5 商业化因素对操作系统的影响 53
3.2 基本功能 54
3.1.6 标准和开放系统 54
3.2.2 进程和资源管理 55
3.2.3 存储管理 55
3.2.1 设备管理 55
3.2.4 文件管理 56
3.2.5 功能模块组织结构 56
3.3 基本实现需考虑的因素 57
3.3.1 处理机模式 57
3.3.2 内核 58
3.3.3 请求获得操作系统服务 58
3.4 小结 60
3.5 习题 60
4.1 冯·诺依曼体系结构 61
第4章 计算机组织结构 61
4.2 中央处理器 63
4.2.1 算术逻辑功能单元 63
4.2.2 控制单元 64
4.3 存储器 66
性能改善:机器加速 67
性能改善:并行处理机 67
4.4 设备 68
4.4.1 一般设备特征 69
4.4.2 设备控制器 69
示例:异步串行设备 70
4.4.3 设备驱动器 71
4.5 中断 72
4.6 模式转换:自陷指令 74
4.7 小结 75
4.8 习题 76
实验:内核计数器 78
第5章 设备管理 87
5.1 设备管理方法 87
5.1.1 I/O系统的组织结构 87
5.1.2 使用轮询的直接I/O 88
5.1.3 中断驱动I/O 89
性能改善:中断与轮询 91
5.1.4 存储映射I/O 92
5.1.5 直接内存访问(DMA) 93
性能改善:I/O与处理机的并行 94
5.2 缓冲 95
5.3 设备驱动程序 97
5.3.1 设备驱动程序接口 98
5.3.2 CPU与设备的交互作用 99
5.3.3 I/O性能优化 100
5.4 一些设备管理方法 100
5.4.1 串行通信 101
示例:UNIX的设备驱动程序 101
5.4.2 顺序访问的存储设备 102
5.4.3 随机存取设备 103
性能改善:旋转设备的访问优化 104
5.6 习题 108
5.5 小结 108
实验:软盘驱动器 109
第6章 进程管理 117
6.1 进程和资源的系统观点 117
6.1.1 进程模型实现 117
6.1.2 资源模型实现 119
6.2 初始化操作系统 119
6.3 进程地址空间 121
6.3.1 生成地址空间 121
6.3.2 载入程序 122
6.3.3 地址空间中一致性维护 122
6.4 进程抽象 123
6.4.2 进程状态图 124
6.4.1 进程控制块 124
6.5 资源抽象 125
6.6 进程层次结构 127
6.6.1 精炼化进程管理器 127
6.6.2 专用的资源分配策略 128
6.7 小结 129
6.8 习题 129
实验:观察OS的运行操作 130
第7章 调度 137
7.1 调度机制 137
7.1.1 进程调度机制 137
7.1.2 保存进程的上下文 138
7.1.3 自愿的CPU共享 139
7.1.4 非自愿的CPU共享 141
7.1.5 性能 141
7.2 策略选择 142
7.2.1 分解一个进程成多个小进程 144
7.3 非剥夺式策略 145
7.3.1 先来先服务 145
性能改善:系统负载的近似表示 146
7.3.2 最短作业优先 147
性能改善:预测FCFS的等待时间 148
7.3.3 优先级调度 148
7.3.4 期限调度 150
7.4 剥夺式策略 150
7.4.1 轮转 151
7.4.2 多级队列 153
7.5 小结 154
7.6 习题 155
第8章 同步基本原理 159
8.1 进程的相互作用 159
示例:线性方程系统的解 160
8.1.1 临界区 161
8.1.2 死锁 164
8.2 进程协同 165
8.3 信号量 167
8.3.1 信号量操作的原理 168
示例:使用信号量的例子 169
8.3.2 应用中要考虑的因素 174
8.4 共享存储器的多处理机 177
8.5 小结 177
8.6 习题 177
实验:有限缓冲区问题 181
第9章 高级同步技术 187
9.1 可选的同步原语 187
9.1.1 AND同步 187
9.1.2 事件 188
示例:使用事件 189
示例:UNIX信号 190
示例:Windows 2000中的分派对象 191
9.2.1 操作原理 192
9.2 管程 192
9.2.2 条件变量 193
示例:使用管程的例子 195
9.2.3 应用管程的一些实际状况 198
9.3 进程间通信 199
9.3.1 信箱 200
9.3.2 消息传输协议 201
9.3.3 使用send和receive操作 201
示例:同步的IPC 202
9.3.4 延迟的消息拷贝 203
9.4 严格排序事件执行 203
9.5 小结 205
9.6 习题 205
实验:精炼Shell程序 207
第10章 死锁 211
10.1 背景 211
10.1.1 死锁预防 213
10.1.2 死锁避免 213
10.1.3 死锁检测和恢复 213
10.1.4 人工死锁管理 214
10.2 一个系统死锁模型 214
示例:单个资源类型 215
10.3 死锁预防 216
10.3.1 占有并等待 216
10.3.2 循环等待 218
10.3.3 允许剥夺 218
10.4 死锁避免 220
10.4.1 银行家算法 221
示例:使用银行家算法 222
10.5 死锁检测和恢复 224
10.5.1 连续可重用资源 224
10.5.2 可消费资源 228
10.5.3 一般资源系统 231
10.5.4 恢复 231
10.6 小结 232
10.7 习题 232
第11章 存储管理 235
11.1 基本知识 235
11.1.1 请求主存 235
11.1.2 将地址空间映射到内存 236
性能改善:使用存储层次结构减少访问时间 237
示例:地址绑定过程 238
11.1.3 用于数据结构的动态存储 241
11.2 内存分配 241
11.2.1 固定分区存储分配策略 242
11.2.2 可变分区存储分配策略 243
11.2.3 现代存储分配策略 245
性能改善:移动程序的开销 246
11.3 动态地址重定位 246
11.3.1 运行时界限检查 250
示例:扩充小地址空间 250
11.4.1 交换 251
11.4 存储管理器策略 251
11.4.2 虚拟内存 253
性能改善:使用高速缓存存储器 254
11.4.3 共享存储器的多处理机 255
11.5 小结 257
11.6 习题 257
第12章 虚拟内存 261
12.1 地址转换 261
12.1.1 地址空间映射 261
12.1.2 段式和页式 263
12.2 页式 263
12.2.1 虚拟地址转换 265
性能改善:页表实现 267
12.3 静态页面调度算法 268
12.3.1 取策略 268
12.3.2 请求调页算法 269
12.3.3 栈算法 272
12.3.4 实现LRU 273
性能改善:页面调度性能 274
12.4 动态页面调度算法 275
12.4.1 驻留集算法 275
示例:驻留集算法示例 277
12.4.2 驻留集算法实现 278
性能改善:利用分页实现IPC 279
示例:Windows 2000虚拟存储器 280
示例:Linux虚拟存储器 283
12.5 段式 284
12.5.1 地址转换 284
12.5.2 实现 286
示例:多段系统 288
12.6 小结 290
12.7 习题 291
第13章 文件管理 293
13.1 文件 293
13.1.1 低级文件 295
13.1.2 结构化文件 297
13.1.3 数据库管理系统 301
13.2 低级文件实现 302
13.1.4 多媒体存储 302
13.2.1 open和close操作 303
示例:UNIX中的open和close操作 303
13.2.2 块管理 305
示例:UNIX文件结构 307
13.2.3 读、写字节流 309
13.3 支持其他的存储抽象 311
13.3.1 结构化顺序文件 311
13.3.2 索引顺序文件 312
13.3.3 数据库管理系统 312
13.3.4 多媒体文档 312
示例:Windows 2000中的存储映射文件 313
13.4 存储映射(Memory-mapped)文件 313
13.5 目录 314
13.5.1 目录结构 315
示例:几个目录例子 316
13.6 目录实现 317
13.6.1 设备目录 317
13.6.2 文件目录 318
13.6.3 在层次目录中打开一个文件 318
13.6.4 安装可移动的文件系统 319
13.7 小结 319
13.8 习题 320
实验:一个简单的文件管理器 321
14.1 基本原理 327
第14章 保护和安全 327
14.1.1 策略和机制 328
14.1.2 策略和机制实现 328
14.1.3 认证机制 329
14.1.4 授权机制 329
14.1.5 加密 330
14.2 认证 331
14.2.1 用户认证 331
14.2.2 网上认证 331
示例:Kerberos网络认证方法 332
14.3 内部访问授权 334
14.3.1 一个资源保护的模型 334
14.3.2 改变保护状态 336
14.4.1 保护域 338
14.3.3 保护机制的开销 338
14.4 实现内部授权 338
14.4.2 实现访问矩阵 340
14.5 密码技术 343
14.6 小结 344
14.7 习题 345
第15章 网络 347
15.1 从计算机通信到网络 347
15.1.1 通信子网 348
15.1.2 网络通信协议 349
15.2 ISO的OSI网络体系结构模型 350
15.2.1 网络协议的演变 350
15.2.2 ISO的OSI模型 351
15.3 低层协议 353
性能改善:快速物理层 354
15.3.1 物理层 354
15.3.2 数据链路层 355
15.3.3 当代网络 356
15.4 网络层 358
15.4.1 寻址 359
15.4.2 路由 360
15.4.3 网络层的使用 361
15.5 传输层 361
15.5.1 通信端口 362
15.5.2 数据类型 362
15.5.3 靠的通信 363
15.6.1 命名 364
性能改善:数据报和虚电路 364
15.6 使用传输层 364
示例:域名系统 366
15.6.2 客户-服务器模式 367
15.7 小结 369
15.8 习题 369
实验:使用TCP/IP协议 370
第16章 远程文件 379
16.1 通过网络共享信息 379
16.1.1 显式的文件复制系统 380
16.1.2 隐含的文件共享 381
16.1.3 远程辅存接口 382
16.1.4 工作分布 383
16.2 远程磁盘系统 384
16.2.1 远程磁盘操作 386
16.2.2 性能因素 386
16.2.3 可靠性 387
16.2.4 远程磁盘的未来 389
16.3 远程文件系统 390
16.3.1 通用的体系结构 390
16.3.2 块高速缓存 392
16.3.3 失效后的恢复 393
16.4 文件级高速缓存 397
示例:Andrew文件系统 397
示例:LOCUS文件系统 398
16.5.1 文件名字 400
16.5 目录系统及其实现 400
16.5.2 打开一个文件 401
16.6 小结 402
16.7 习题 403
第17章 分布式计算 405
17.1 分布的进程管理 405
17.1.1 分解工作 405
17.1.2 支持分解的计算 407
17.1.3 一般的进程管理 408
17.1.4 调度 408
性能改善:进程迁移和负载平衡 409
17.1.5 进程协同 409
17.2 消息传递 412
17.2.1 消息传递接口 413
17.2.2 计算范例 414
17.3 远程过程调用 415
17.3.1 RPC如何工作 416
17.3.2 实现RPC 416
17.4 分布式存储器管理 420
17.4.1 远程存储器 423
示例:分布式存储器的实例 423
17.4.2 分布式虚拟存储器 425
17.4.3 分布式对象 426
17.5 小结 427
17.6 习题 428
18.1 操作系统的组成及相互关系 429
第18章 策略与实例 429
18.2 一般性结构问题 430
18.2.1 软件的组织结构 431
18.2.2 管理分布式硬件 435
18.3 传统的UNIX内核 437
18.3.1 内核 437
18.3.2 一体化结构 438
18.3.3 结论 438
18.4 Linux内核 439
18.4.1 内核结构 439
18.4.2 进程和资源管理 442
18.4.3 存储管理器 446
18.4.4 文件管理 447
18.5 Choices:面向对象的操作系统 449
18.5.1 框架 449
18.5.2 使用框架实现存储管理器 449
18.5.3 结论 450
18.6 微软Windows操作系统 451
18.6.1 一般性体系结构 451
18.6.2 硬件抽象层(HAL) 453
18.6.3 NT内核 453
18.6.4 NT执行体 455
18.6.5 NT子系统 459
18.7 Mach操作系统 459
18.7.1 进程管理 460
18.7.2 消息传递 462
18.7.3 内存管理 464
18.7.4 结论 466
18.8 CHORUS操作系统 466
18.8.1 进程管理 467
18.8.2 进程间通信 468
18.8.3 内存管理 468
18.8.4 结论 468
18.9 小结 468
18.10 习题 469
术语表 471
参考文献 483
索引 487