操作系统概念操作系统导论基础理论计算机专业书pdf下载pdf下载

操作系统概念操作系统导论基础理论计算机专业书百度网盘pdf下载

作者:
简介:本篇主要提供操作系统概念操作系统导论基础理论计算机专业书pdf下载
出版社:互动创新图书专营店
出版时间:2018-07
pdf下载价格:9.00¥


预览


内容介绍

 书名:  操作系统概念(原书第9版)|8049683
 图书定价: 99元
 图书作者: (美)亚伯拉罕·西尔伯沙茨(Abraham Silberschatz);(美)彼得·B.高尔文(Peter B. Galvin);(美)格雷格·加涅(Greg Gagne)
 出版社:  机械工业出版社
 出版日期:  2018/7/1 0:00:00
 ISBN号: 9787111604365
 开本: 16开
 页数: 0
 版次: 1-1
 作者简介
[美] 亚伯拉罕·西尔伯沙茨(Abraham Silberschatz) 彼得·B. 高尔文(Peter B. Galvin) 格雷格·加涅(Greg Gagne) 著:---作者简介---
亚伯拉罕·西尔伯沙茨(Abraham Silberschatz) 著名计算机科学家,ACM、IEEE和AAAS会士。现任耶鲁大学计算机科学系教授,之前曾任贝尔实验室信息科学研究中心副主管。除本书外,他还是知名教材《数据库系统概念》的作者之一。
彼得·B. 高尔文(Peter B. Galvin) 现任Pluribus Networks首席解决方案架构师,之前曾任系统集成商Corporate Technologies的首席技术官,还曾在波士顿大学担任讲师。
格雷格·加涅(Greg Gagne) 威斯敏斯特学院计算机科学系主任,操作系统、计算机网络、并行编程和软件工程方面的资深专家。

---译者简介---
郑扣根,浙江大学计算机学院教授、博士生导师。1994年起于浙江大学任教至今,长期从事操作系统、计算理论、形式化方法、计算机网络等方面的教学和科研工作。
 内容简介
本书是面向操作系统导论课程的经典书籍,从第1版至今被国内外众多高校选作教材。全书共六部分,不仅详细讲解了进程管理、内存管理、存储管理、保护与安全等概念,而且涵盖重要的理论结果和案例研究,并且给出了供读者深入学习的推荐读物。这一版新增了多核系统和移动计算的内容,每一章都融入了新的技术进展,并且更新了习题和编程项目。
本书既适合高等院校计算机相关专业的学生学习,也是专业技术人员的有益参考。
 目录

出版者的话
译者序
前言
第一部分 概论
第1章导论 2
1.1操作系统的功能 2
1.1.1用户视角 2
1.1.2系统视角 3
1.1.3操作系统的定义 4
1.2计算机系统的组成 4
1.2.1计算机系统的运行 5
1.2.2存储结构 6
1.2.3I/O结构 8
1.3计算机系统的体系结构 9
1.3.1单处理器系统 9
1.3.2多处理器系统 10
1.3.3集群系统 12
1.4操作系统的结构 13
1.5操作系统的执行 14
1.5.1双重模式与多重模式的执行 15
1.5.2定时器 16
1.6进程管理 17
1.7内存管理 18
1.8存储管理 18
1.8.1文件系统管理 18
1.8.2大容量存储器管理 19
1.8.3高速缓存 19
1.8.4I/O系统 21
1.9保护与安全 21
1.10内核数据结构 22
1.10.1列表、堆栈及队列 22
1.10.2树 23
1.10.3哈希函数与哈希表 23
1.10.4位图 24
1.11计算环境 24
1.11.1传统计算 24
1.11.2移动计算 25
1.11.3分布计算 26
1.11.4客户机-服务器计算 26
1.11.5对等计算 27
1.11.6虚拟化 28
1.11.7云计算 29
1.11.8实时嵌入式系统 30
1.12开源操作系统 31
1.12.1历史 31
1.12.2Linux 31
1.12.3BSD UNIX 32
1.12.4Solaris 32
1.12.5用作学习的开源操作系统 33
1.13小结 33
习题 35
推荐读物 36
参考文献 36
第2章操作系统结构 38
2.1操作系统的服务 38
2.2用户与操作系统的界面 40
2.2.1命令解释程序 40
2.2.2图形用户界面 41
2.2.3界面的选择 42
2.3系统调用 43
2.4系统调用的类型 46
2.4.1进程控制 46
2.4.2文件管理 49
2.4.3设备管理 50
2.4.4信息维护 50
2.4.5通信 50
2.4.6保护 51
2.5系统程序 51
2.6操作系统的设计与实现 52
2.6.1设计目标 52
2.6.2机制与策略 53
2.6.3实现 53
2.7操作系统的结构 54
2.7.1简单结构 54
2.7.2分层方法 55
2.7.3微内核 56
2.7.4模块 57
2.7.5混合系统 58
2.8操作系统的调试 60
2.8.1故障分析 60
2.8.2性能优化 60
2.8.3DTrace 61
2.9操作系统的生成 63
2.10系统引导 64
2.11小结 64
习题 65
编程题 66
编程项目 66
推荐读物 69
参考文献 69
第二部分 进程管理
第3章 进程 72
3.1进程概念 72
3.1.1进程 72
3.1.2进程状态 73
3.1.3进程控制块 73
3.1.4线程 74
3.2进程调度 75
3.2.1调度队列 75
3.2.2调度程序 77
3.2.3上下文切换 78
3.3进程运行 79
3.3.1进程创建 79
3.3.2进程终止 82
3.4进程间通信 83
3.4.1共享内存系统 85
3.4.2消息传递系统 86
3.5IPC系统例子 89
3.5.1例子:POSIX共享内存 89
3.5.2例子:Mach 91
3.5.3例子:Windows 92
3.6客户机/服务器通信 93
3.6.1套接字 93
3.6.2远程过程调用 96
3.6.3管道 98
3.7小结 102
习题 103
编程题 105
编程项目 107
推荐读物 110
参考文献 110
第4章 多线程编程 112
4.1概述 112
4.1.1动机 112
4.1.2优点 113
4.2多核编程 114
4.2.1编程挑战 115
4.2.2并行类型 115
4.3多线程模型 116
4.3.1多对一模型 116
4.3.2一对一模型 116
4.3.3多对多模型 116
4.4线程库 117
4.4.1Pthreads 118
4.4.2Windows线程 119
4.4.3Java线程 121
4.5隐式多线程 122
4.5.1线程池 123
4.5.2OpenMP 124
4.5.3大中央调度 125
4.5.4其他方法 125
4.6多线程问题 125
4.6.1系统调用fork()和exec() 125
4.6.2信号处理 126
4.6.3线程撤销 127
4.6.4线程本地存储 128
4.6.5调度程序激活 128
4.7操作系统例子 129
4.7.1Windows线程 129
4.7.2Linux线程 130
4.8小结 131
习题 131
编程题 133
编程项目 134
推荐读物 136
参考文献 136
第5章 进程调度 138
5.1基本概念 138
5.1.1CPU-I/O执行周期 138
5.1.2CPU调度程序 139
5.1.3抢占调度 139
5.1.4调度程序 140
5.2调度准则 140
5.3调度算法 141
5.3.1先到先服务调度 141
5.3.2 *短作业优先调度 142
5.3.3优先级调度 144
5.3.4轮转调度 145
5.3.5多级队列调度 147
5.3.6多级反馈队列调度 148
5.4线程调度 149
5.4.1竞争范围 149
5.4.2Pthreads调度 149
5.5多处理器调度 151
5.5.1多处理器调度的方法 151
5.5.2处理器亲和性 151
5.5.3负载平衡 152
5.5.4多核处理器 152
5.6实时CPU调度 154
5.6.1 *小化延迟 154
5.6.2优先权调度 155
5.6.3单调速率调度 156
5.6.4 *早截止期限优先调度 157
5.6.5比例分享调度 158
5.6.6POSIX实时调度 158
5.7操作系统例子 160
5.7.1例子:Linux调度 160
5.7.2例子:Windows调度 162
5.7.3例子:Solaris调度 164
5.8算法评估 165
5.8.1确定性模型 166
5.8.2排队模型 167
5.8.3仿真 167
5.8.4实现 168
5.9小结 169
习题 170
推荐读物 172
参考文献 173
第6章 同步 175
6.1背景 175
6.2临界区问题 177
6.3Peterson解决方案 178
6.4硬件同步 179
6.5互斥锁 181
6.6信号量 181
6.6.1信号量的使用 182
6.6.2信号量的实现 182
6.6.3死锁与饥饿 184
6.6.4优先级的反转 184
6.7经典同步问题 185
6.7.1有界缓冲问题 185
6.7.2读者-作者问题 186
6.7.3哲学家就餐问题 187
6.8管程 188
6.8.1使用方法 189
6.8.2哲学家就餐问题的管程解决方案 190
6.8.3采用信号量的管程实现 191
6.8.4管程内的进程重启 192
6.9同步例子 193
6.9.1Windows同步 193
6.9.2Linux同步 194
6.9.3Solaris同步 195
6.9.4Pthreads同步 196
6.10替代方法 197
6.10.1事务内存 198
6.10.2OpenMP 199
6.10.3函数式编程语言 199
6.11小结 200
习题 200
编程题 204
编程项目 205
推荐读物 209
参考文献 210
第7章 死锁 212
7.1系统模型 212
7.2死锁特征 213
7.2.1必要条件 214
7.2.2资源分配图 215
7.3死锁处理方法 216
7.4死锁预防 217
7.4.1互斥 217
7.4.2持有且等待 217
7.4.3无抢占 218
7.4.4循环等待 218
7.5死锁避免 220
7.5.1安全状态 220
7.5.2资源分配图算法 221
7.5.3银行家算法 222
7.6死锁检测 224
7.6.1每种资源类型只有单个实例 224
7.6.2每种资源类型可有多个实例 225
7.6.3应用检测算法 226
7.7死锁恢复 227
7.7.1进程终止 227
7.7.2资源抢占 227
7.8小结 228
习题 228
编程题 230
编程项目 230
推荐读物 231
参考文献 232
第三部分 内存管理
第8章 内存管理策略 234
8.1背景 234
8.1.1基本硬件 234
8.1.2地址绑定 236
8.1.3逻辑地址空间与物理地址空间 236
8.1.4动态加载 237
8.1.5动态链接与共享库 238
8.2交换 238
8.2.1标准交换 238
8.2.2移动系统的交换 239
8.3连续内存分配 240
8.3.1内存保护 240
8.3.2内存分配 241
8.3.3碎片 242
8.4分段 242
8.4.1基本方法 243
8.4.2分段硬件 243
8.5分页 244
8.5.1基本方法 245
8.5.2硬件支持 247
8.5.3保护 250
8.5.4共享页 251
8.6页表结构 252
8.6.1分层分页 252
8.6.2哈希页表 254
8.6.3倒置页表 254
8.6.4Oracle SPARC Solaris 255
8.7例子:Intel 32位与64位体系结构 256
8.7.1IA-32架构 256
8.7.2x86-64 258
8.8例子:ARM架构 259
8.9小结 259
习题 260
编程题 262
推荐读物 262
参考文献 263
第9章 虚拟内存管理 264
9.1背景 264
9.2请求调页 266
9.2.1基本概念 266
9.2.2请求调页的性能 269
9.3写时复制 271
9.4页面置换 272
9.4.1基本页面置换 273
9.4.2FIFO页面置换 275
9.4.3 *优页面置换 276
9.4.4LRU页面置换 276
9.4.5近似LRU页面置换 278
9.4.6基于计数的页面置换 279
9.4.7页面缓冲算法 280
9.4.8应用程序与页面置换 280
9.5帧分配 280
9.5.1帧的 *小数 281
9.5.2分配算法 282
9.5.3全局分配与局部分配 282
9.5.4非均匀内存访问 283
9.6系统抖动 283
9.6.1系统抖动的原因 284
9.6.2工作集模型 285
9.6.3缺页错误频率 286
9.6.4结束语 287
9.7内存映射文件 287
9.7.1基本机制 287
9.7.2共享内存Windows API 288
9.7.3内存映射I/O 290
9.8分配内核内存 291
9.8.1伙伴系统 291
9.8.2slab分配 292
9.9其他注意事项 293
9.9.1预调页面 293
9.9.2页面大小 293
9.9.3TLB范围 294
9.9.4倒置页表 295
9.9.5程序结构 295
9.9.6I/O联锁与页面锁定 296
9.10操作系统例子 297
9.10.1Windows 297
9.10.2Solaris 298
9.11小结 299
习题 300
编程题 303
编程项目 304
推荐读物 306
参考文献 306
第四部分 存储管理
第10章 文件系统 310
10.1文件概念 310
10.1.1文件属性 310
10.1.2文件操作 311
10.1.3文件类型 315
10.1.4文件结构 316
10.1.5内部文件结构 316
10.2访问方法 316
10.2.1顺序访问 317
10.2.2直接访问 317
10.2.3其他访问方法 318
10.3目录与磁盘的结构 319
10.3.1存储结构 319
10.3.2目录概述 320
10.3.3单级目录 320
10.3.4两级目录 321
10.3.5树形目录 322
10.3.6无环图目录 323
10.3.7通用图目录 325
10.4文件系统安装 326
10.5文件共享 327
10.5.1多用户 327
10.5.2远程文件系统 328
10.5.3一致性语义 330
10.6保护 331
10.6.1访问类型 331
10.6.2访问控制 331
10.6.3其他保护方式 333
10.7小结 334
习题 334
推荐读物 335
参考文献 335
第11章 文件系统实现 337
11.1文件系统结构 337
11.2文件系统实现 338
11.2.1概述 338
11.2.2分区与安装 341
11.2.3虚拟文件系统 341
11.3目录实现 343
11.3.1线性列表 343
11.3.2哈希表 343
11.4分配方法 344
11.4.1连续分配 344
11.4.2链接分配 345
11.4.3索引分配 347
11.4.4性能 348
11.5空闲空间管理 349
11.5.1位向量 349
11.5.2链表 350
11.5.3组 350
11.5.4计数 350
11.5.5空间图 351
11.6效率与性能 351
11.6.1效率 351
11.6.2性能 352
11.7恢复 354
11.7.1一致性检查 354
11.7.2基于日志的文件系统 354
11.7.3其他解决方法 355
11.7.4备份和恢复 356
11.8NFS 356
11.8.1概述 357
11.8.2安装协议 358
11.8.3NFS协议 358
11.8.4路径名称转换 359
11.8.5远程操作 360
11.9例子:WAFL文件系统 360
11.10 小结 362
习题 363
编程题 364
推荐读物 365
参考文献 365
第12章 大容量存储结构 367
12.1大容量存储结构概述 367
12.1.1磁盘 367
12.1.2固态磁盘 368
12.1.3磁带 368
12.2磁盘结构 369
12.3磁盘连接 369
12.3.1主机连接存储 369
12.3.2网络连接存储 370
12.3.3存储区域网络 370
12.4磁盘调度 371
12.4.1FCFS调度 371
12.4.2SSTF调度 371
12.4.3SCAN调度 372
12.4.4C-SCAN调度 373
12.4.5LOOK调度 373
12.4.6磁盘调度算法的选择 373
12.5磁盘管理 374
12.5.1磁盘格式化 374
12.5.2引导块 375
12.5.3坏块 376
12.6交换空间管理 377
12.6.1交换空间的使用 377
12.6.2交换空间位置 377
12.6.3交换空间管理:例子 378
12.7RAID结构 378
12.7.1通过冗余提高可靠性 379
12.7.2通过并行处理提高性能 380
12.7.3RAID级别 380
12.7.4RAID级别的选择 383
12.7.5扩展 384
12.7.6RAID的问题 384
12.8稳定存储实现 385
12.9小结 386
习题 387
编程题 388
推荐读物 388
参考文献 389
第13章 I/O系统 390
13.1概述 390
13.2I/O硬件 390
13.2.1轮询 392
13.2.2中断 393
13.2.3直接内存访问 396
13.2.4I/O硬件小结 397
13.3应用程序I/O接口 397
13.3.1块与字符设备 399
13.3.2网络设备 400
13.3.3时钟与定时器 400
13.3.4非阻塞与异步I/O 401
13.3.5向量I/O 402
13.4内核I/O子系统 402
13.4.1I/O调度 402
13.4.2缓冲 403
13.4.3缓存 404
13.4.4假脱机与设备预留 405
13.4.5错误处理 405
13.4.6I/O保护 405
13.4.7内核数据结构 406
13.4.8内核I/O子系统小结 406
13.5I/O请求转成硬件操作 407
13.6流 409
13.7性能 410
13.8小结 412
习题 413
推荐读物 414
参考文献 414
第五部分 保护与安全
第14章 系统保护 416
14.1保护目标 416
14.2保护原则 417
14.3保护域 417
14.3.1域结构 418
14.3.2例子:UNIX 419
14.3.3例子:MULTICS 420
14.4访问矩阵 421
14.5访问矩阵的实现 423
14.5.1全局表 423
14.5.2对象的访问列表 423
14.5.3域的能力列表 424
14.5.4锁-钥匙机制 424
14.5.5比较 424
14.6访问控制 425
14.7访问权限的撤回 426
14.8基于能力的系统 427
14.8.1例子:Hydra 427
14.8.2例子:剑桥CAP系统 428
14.9基于语言的保护 428
14.9.1基于编译程序的实现 429
14.9.2Java的保护 430
14.10 小结 432
习题 432
推荐读物 433
参考文献 433
第15章 系统安全 436
15.1安全问题 436
15.2程序威胁 438
15.2.1特洛伊木马 438
15.2.2后门 439
15.2.3逻辑炸弹 440
15.2.4堆栈和缓冲区溢出 440
15.2.5病毒 442
15.3系统和网络的威胁 444
15.3.1蠕虫 445
15.3.2端口扫描 447
15.3.3拒绝服务 448
15.4作为安全工具的密码术 448
15.4.1加密 449
15.4.2密码术的实现 454
15.4.3例子:SSL 454
15.5用户认证 456
15.5.1密码 456
15.5.2密码漏洞 456
15.5.3密码安全 457
15.5.4一次性密码 458
15.5.5生物识别技术 458
15.6实现安全防御 459
15.6.1安全策略 459
15.6.2漏洞评估 459
15.6.3入侵检测 460
15.6.4病毒防护 462
15.6.5审计、记账和日志 464
15.7保护系统和网络的防火墙 464
15.8计算机安全等级 465
15.9例子:Windows 7 466
15.10 小结 468
习题 468
推荐读物 469
参考文献 470
第六部分 案例研究
第16章 Linux系统 474
16.1Linux历史 474
16.1.1Linux内核 475
16.1.2Linux系统 476
16.1.3Linux发行 476
16.1.4Linux许可 477
16.2设计原则 477
16.3内核模块 479
16.3.1模块管理 480
16.3.2驱动程序注册 480
16.3.3冲突解决 481
16.4进程管理 481
16.4.1fork()/exec()进程模型 481
16.4.2进程与线程 483
16.5调度 484
16.5.1进程调度 484
16.5.2实时调度 485
16.5.3内核同步 486
16.5.4对称多处理 487
16.6内存管理 488
16.6.1物理内存管理 488
16.6.2虚拟内存 490
16.6.3执行与加载用户程序 492
16.7文件系统 494
16.7.1虚拟文件系统 494
16.7.2Linux ext3文件系统 495
16.7.3日志 497
16.7.4Linux程文件系统 497
16.8输入与输出 498
16.8.1块设备 499
16.8.2字符设备 500
16.9进程间通信 500
16.9.1同步与信号 500
16.9.2进程间的数据传递 501
16.10 网络结构 501
16.11 安全 503
16.11.1 认证 503
16.11.2 访问控制 503
16.12 小结 504
习题 505
推荐读物 506
参考文献 506
第17章 Windows 7 507
17.1历史 507
17.2设计原则 509
17.2.1安全性 509
17.2.2可靠性 509
17.2.3Windows和POSIX应用程序兼容性 510
17.2.4高性能 511
17.2.5可扩展性 512
17.2.6可移植性 512
17.2.7国际化支持 513
17.2.8电源效率 513
17.2.9动态设备支持 513
17.3系统组件 513
17.3.1硬件抽象层 514
17.3.2内核 514
17.3.3执行体 518
17.4终端服务与快速用户切换 531
17.5文件系统 532
17.5.1NTFS内部布局 532
17.5.2恢复 534
17.5.3安全 535
17.5.4卷管理和容错 535
17.5.5压缩 536
17.5.6安装点、符号链接和硬链接 536
17.5.7变更日志 537
17.5.8卷的影子副本 537
17.6网络 537
17.6.1网络接口 537
17.6.2协议 537
17.6.3重定向器与服务器 539
17.6.4域 540
17.6.5活动目录 540
17.7程序员接口 540
17.7.1访问内核对象 541
17.7.2进程间共享对象 541
17.7.3进程管理 542
17.7.4使用Windows消息传递的进程间通信 545
17.7.5内存管理 546
17.8小结 547
习题 548
推荐读物 548
参考文献 549
第18章有影响的操作系统 550
18.1特征迁移 550
18.2早期系统 551
18.2.1专用计算机系统 551
18.2.2共享计算机系统 552
18.2.3重叠I/O 554
18.3Atlas 555
18.4XDS-940 556
18.5THE 556
18.6RC 4000 557
18.7CTSS 558
18.8MULTICS 558
18.9IBM OS/360 558
18.10 TOPS-20 559
18.11 CP/M与MS/DOS 560
18.12 Macintosh OS与Windows 560
18.13 Mach 561
18.14 其他系统 562
习题 562
推荐读物 562
参考文献 563
索引 565