操作系统 精髓与设计原理PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:(美)威廉·斯托林斯(William Stallings)著
- 出 版 社:北京:人民邮电出版社
- 出版年份:2019
- ISBN:9787115477026
- 页数:596 页
第0章 读者和教师指南 1
0.1本书概述 2
0.2实例系统 2
0.3读者和教师学习路线图 3
0.4互联网和网站资源 4
本书配套的网站 4
其他网站 4
第1部分 背景 5
第1章 计算机系统概述 5
1.1基本组成 6
1.2微处理器的发展 7
1.3指令的执行 8
1.4中断 10
1.4.1中断和指令周期 11
1.4.2中断处理 15
1.4.3多个中断 17
1.5分级存储体系 19
1.6高速缓存 22
1.6.1动机 22
1.6.2高速缓存的原理 22
1.6.3高速缓存的设计 24
1.7直接内存访问 25
1.8多处理器和多核组织结构 26
1.8.1对称多处理器 27
1.8.2组织结构 27
1.8.3多核计算机 28
1.9推荐阅读 29
1.10关键术语、复习题与习题 30
附录1A 两级存储器的性能特征 33
第2章 操作系统概述 39
2.1操作系统的目标和功能 40
2.1.1作为用户与系统交互接口的操作系统 40
2.1.2作为资源管理器的操作系统 42
2.1.3操作系统的易发展性 43
2.2操作系统的发展 44
2.2.1串行处理 44
2.2.2简单批处理系统 44
2.2.3多道批处理系统 47
2.2.4分时系统 49
2.3主要成就 51
2.3.1进程 52
2.3.2内存管理 55
2.3.3信息保护和安全 56
2.3.4调度和资源管理 57
2.4现代操作系统的发展 58
2.5容错 61
2.5.1基本概念 61
2.5.2故障 62
2.5.3操作系统中的机制 63
2.6多处理器和多核操作系统设计要考虑的因素 63
2.6.1对称多处理器操作系统设计上的考虑 63
2.6.2多核操作系统设计上的考虑 64
2.7微软Windows简介 66
2.7.1背景 66
2.7.2体系结构 66
2.7.3客户/服务器模式 69
2.7.4线程和SMP 70
2.7.5 Windows对象 70
2.8传统UNIX系统 72
2.8.1发展历史 72
2.8.2系统概述 72
2.9现代UNIX系统 74
2.9.1 System V第4版(SVR4) 74
2.9.2 BSD 75
2.9.3 Solaris 10 75
2.10 Linux系统 76
2.10.1发展历史 76
2.10.2模块结构 76
2.10.3内核组件 78
2.11 Android系统 80
2.11.1安卓软件架构 81
2.11.2安卓系统架构 83
2.11.3活动 83
2.11.4电源管理 84
2.12推荐阅读和配套演示 85
2.13关键术语、复习题与习题 86
第2部分 进程 89
第3章 进程的描述与控制 89
3.1什么是进程? 90
3.1.1背景 90
3.1.2进程和进程控制块 91
3.2进程状态 92
3.2.1双状态模型 94
3.2.2进程的创建和结束 95
3.2.3五状态模型 97
3.2.4进程挂起 100
3.3进程描述符 104
3.3.1操作系统中控制资源的结构 105
3.3.2进程控制块 106
3.4进程控制 112
3.4.1(处理器的)执行的模式 112
3.4.2进程创建 113
3.4.3进程切换 114
3.5操作系统的执行 116
3.5.1独立内核 116
3.5.2嵌套于用户进程 117
3.5.3基于进程的操作系统 118
3.6 UNIX SVR4中的进程管理 118
3.6.1进程状态 118
3.6.2进程描述 120
3.6.3进程控制 122
3.7总结 122
3.8推荐阅读与动画 123
3.9关键术语、复习题与习题 123
第4章 线程 128
4.1进程和线程 129
4.1.1多线程 129
4.1.2线程功能 132
4.2线程的类型 134
4.2.1用户级和内核级线程 134
4.2.2其他设计 138
4.3多核和多线程 140
4.3.1多核环境下应用的性能 140
4.3.2应用示例:Valve的游戏软件 143
4.4 Windows 8的进程和线程管理 144
4.4.1 Windows 8所带来的改变 145
4.4.2 Windows进程 146
4.4.3进程和线程对象 147
4.4.4多线程 149
4.4.5线程状态 149
4.4.6操作系统子系统的支持 150
4.5 Solaris的线程和多处理器管理 150
4.5.1多线程结构 150
4.5.2设计目标 151
4.5.3进程结构 152
4.5.4线程执行 153
4.5.5用线程处理中断 153
4.6 Linux的进程和线程管理 154
4.6.1 Linux进程 154
4.6.2 Linux线程 156
4.6.3 Linux命名空间 157
4.7 Android的进程和线程管理 158
4.7.1 Android应用 158
4.7.2活动 159
4.7.3进程和线程 161
4.8 Mac OS X的Grand Central Dispatch 161
4.9总结 164
4.10推荐阅读 164
4.11关键术语、复习题与习题 164
第5章 并发:互斥与同步 169
5.1并发的原理 171
5.1.1一个简单例子 172
5.1.2竞态(Race Condition) 173
5.1.3操作系统的设计挑战 174
5.1.4进程交互 174
5.1.5实现互斥的条件 177
5.2互斥:硬件的支撑方案 178
5.2.1关中断 178
5.2.2特殊机器指令 178
5.3信号灯(Semaphore) 181
5.3.1互斥的实现 184
5.3.2生产者/消费者问题 186
5.3.3信号灯的实现 191
5.4管程(Monitor) 192
5.4.1管程和信号 192
5.4.2采用通知和广播的管程模型 196
5.5消息通信 197
5.5.1同步(Synchroni-zation) 198
5.5.2寻址(Addres-sing) 199
5.5.3消息格式 201
5.5.4队列组织 201
5.5.5互斥的实现 201
5.6读者/写者问题 203
5.6.1读者优先 203
5.6.2写者优先 204
5.7总结 207
5.8推荐阅读 207
5.9关键术语、复习题与习题 208
第6章 并发:死锁与饥饿 221
6.1死锁的原理 222
6.1.1可重用资源 225
6.1.2消耗性资源 226
6.1.3资源分配图 227
6.1.4死锁发生的条件 228
6.2死锁预防(Deadlock Prevention) 229
6.2.1互斥条件 229
6.2.2占有并等待条件 230
6.2.3不可抢占条件 230
6.2.4环路等待条件 230
6.3死锁避免(Deadlock Avoidance) 230
6.3.1拒绝创建进程 231
6.3.2拒绝分配资源 232
6.4死锁检测(Deadlock Detection) 235
6.4.1死锁检测算法 236
6.4.2死锁恢复 237
6.5解决死锁的综合方案 237
6.6哲学家进餐问题 238
6.6.1使用信号灯的解决方案 238
6.6.2使用管程的解决方案 240
6.7 UNIX系统的并发控制机制 241
6.7.1管道 242
6.7.2消息 242
6.7.3共享内存 242
6.7.4信号灯 242
6.7.5信号 243
6.8 Linux内核的并发控制机制 244
6.8.1原子操作 245
6.8.2自旋锁(Spinlocks) 246
6.8.3信号灯 248
6.8.4屏障点(Barriers) 249
6.9 Solaris线程同步原语 250
6.9.1互斥锁 251
6.9.2信号灯 251
6.9.3读者/写者锁 252
6.9.4条件变量(Condition Variable) 252
6.10 Windows 7的并发控制机制 252
6.10.1 Wait函数 252
6.10.2调度对象(Dispatcher Object) 253
6.10.3临界区 254
6.10.4瘦读者-写者锁和条件变量 254
6.10.5无锁同步 255
6.11 Android系统中的进程间通信 255
6.12总结 256
6.13推荐阅读 256
6.14关键术语、复习题与习题 257
第3部分 内存 265
第7章 内存管理 265
7.1内存管理的需求 266
7.1.1内存重定位 266
7.1.2内存保护 267
7.1.3内存共享 268
7.1.4逻辑结构 268
7.1.5物理结构 268
7.2内存分区 269
7.2.1固定分区 270
7.2.2分区大小 270
7.2.3放置策略 271
7.2.4动态分区 272
7.2.5放置策略 273
7.2.6置换策略 275
7.2.7伙伴系统 275
7.2.8重定位 277
7.3分页 278
7.4分段 282
7.5小结 282
7.6推荐阅读和配套演示 283
7.7关键术语、复习题与习题 283
附录7A 加载和链接 286
第8章 虚拟内存 292
8.1硬件和控制结构 293
8.1.1局部性和虚拟内存 295
8.1.2分页 296
8.1.3页表结构 297
8.1.4分段 305
8.1.5段页式 306
8.1.6保护和共享 307
8.2操作系统软件 308
8.2.1读取策略 309
8.2.2放置策略 309
8.2.3置换策略 310
8.2.4页缓冲 314
8.2.5置换策略和高速缓冲的大小 315
8.2.6清除策略 321
8.2.7加载控制 321
8.3 UNIX和SOLARIS的内存管理 323
8.3.1分页系统 323
8.3.2内核内存分配器 326
8.4 Linux内存管理 327
8.4.1 Linux虚拟内存 327
8.4.2内核内存分配 329
8.5 Windows内存管理 330
8.5.1 Windows虚拟地址映射 330
8.5.2 Windows分页 331
8.5.3 Windows 8交换 332
8.6 Android内存管理 332
8.7小结 332
8.8推荐阅读和配套演示 333
8.9关键术语、复习题与习题 334
第4部分 调度 339
第9章 单处理器调度 339
9.1处理器调度的类型 340
9.1.1长期调度 342
9.1.2中期调度 343
9.1.3短期调度 343
9.2调度算法 343
9.2.1短期调度准则 343
9.2.2优先级的使用 345
9.2.3可选的调度策略 345
9.2.4性能比较 355
9.2.5公平共享调度 360
9.3传统的UNIX调度 362
9.4总结 363
9.5推荐阅读和动画 364
9.6关键术语、复习题与习题 364
第10章 多处理器、多核调度与实时调度 369
10.1多处理器和多核调度 370
10.1.1粒度 370
10.1.2设计问题 371
10.1.3进程调度 373
10.1.4线程调度 374
10.1.5多核线程调度 379
10.2实时调度 380
10.2.1背景 380
10.2.2实时操作系统的特点 381
10.2.3实时调度 384
10.2.4截止期限调度 385
10.2.5单调速率调度 388
10.2.6优先级反转 391
10.3 Linux调度 393
10.3.1实时调度 393
10.3.2非实时调度 394
10.4 UNIX SVR4调度 396
10.5 UNIX FreeBSD调度 397
10.5.1优先级类 398
10.5.2对SMP和多核的支持 398
10.6 Windows调度 400
10.6.1进程和线程优先级 400
10.6.2多处理器调度 401
10.7总结 402
10.8推荐阅读 403
10.9关键术语、复习题与习题 403
第5部分 输入/输出与文件 407
第11章 I/O管理和磁盘调度 407
11.1 I/O设备 408
11.2 I/O功能的组织 409
11.2.1 I/O功能的发展历程 410
11.2.2直接内存访问 411
11.3操作系统设计问题 412
11.3.1设计目标 412
11.3.2 I/O功能的逻辑结构 413
11.4 I/O缓冲 414
11.4.1单缓冲区 415
11.4.2双缓冲区 416
11.4.3环形缓冲区 417
11.4.4缓冲区的作用 417
11.5磁盘调度 417
11.5.1磁盘性能参数 417
11.5.2磁盘调度策略 419
11.6 RAID 423
11.6.1 0级RAID 426
11.6.2 1级RAID 427
11.6.3 2级RAID 428
11.6.4 3级RAID 428
11.6.5 4级RAID 429
11.6.6 5级RAID 430
11.6.7 6级RAID 430
11.7磁盘高速缓存 430
11.7.1设计考虑 431
11.7.2性能考虑 432
11.8 UNIX SVR4 I/O 434
11.8.1缓冲区高速缓存 434
11.8.2字符队列 435
11.8.3无缓冲的I/O 435
11.8.4 UNIX设备 436
11.9 Linux I/O 436
11.9.1磁盘调度 436
11.9.2 Linux页面缓存 438
11.10 Windows I/O 439
11.10.1基本I/O机制 439
11.10.2异步I/O和同步I/O 439
11.10.3软件RAID 440
11.10.4卷影拷贝 441
11.10.5卷加密 441
11.11总结 441
11.12推荐阅读和动画 441
11.13关键术语、复习题与习题 443
第12章 文件管理 445
12.1概述 446
12.1.1文件和文件系统 446
12.1.2文件结构 447
12.1.3文件管理系统 448
12.2文件组织与访问 451
12.2.1堆 452
12.2.2顺序文件 453
12.2.3索引顺序文件 453
12.2.4索引文件 454
12.2.5直接文件或哈希文件 455
12.3 B树 455
12.4文件目录 458
12.4.1内容 458
12.4.2结构 459
12.4.3命名 460
12.5文件共享 461
12.5.1访问权限 462
12.5.2同时访问 462
12.6记录组块 463
12.7辅存管理 464
12.7.1文件分配 464
12.7.2空闲空间管理 469
12.7.3卷 471
12.7.4可靠性 471
12.8 UNIX文件管理 472
12.8.1 i节点 472
12.8.2文件分配 474
12.8.3目录 475
12.8.4卷结构 475
12.9 Linux虚拟文件系统 475
12.9.1超级块对象 477
12.9.2 i节点对象 478
12.9.3目录项对象 478
12.9.4文件对象 478
12.9.5高速缓存 479
12.10 Windows文件系统 479
12.10.1 NTFS的关键特性 479
12.10.2 NTFS的卷和文件结构 480
12.10.3可恢复性 482
12.11 Android文件管理 483
12.11.1文件系统 483
12.11.2 SQLite 484
12.12总结 485
12.13推荐阅读 485
12.14关键术语、复习题与习题 486
第6部分 嵌入式系统 489
第13章 嵌入式系统 489
13.1嵌入式系统 490
13.2嵌入式操作系统的特征 491
13.2.1移植现有的商用操作系统 492
13.2.2专用嵌入式操作系统 492
13.3嵌入式Linux 493
13.3.1内核大小 493
13.3.2编译 493
13.3.3嵌入式Linux文件系统 493
13.3.4嵌入式Linux的优势 494
13.3.5 Android 494
13.4 TinyOS 495
13.4.1无线传感器网络 495
13.4.2 TinyOS的目标 496
13.4.3 TinyOS组件 497
13.4.4 TinyOS调度器 499
13.4.5配置实例 500
13.4.6 TinyOS资源接口 501
13.5推荐阅读 503
13.6关键术语、复习题与习题 503
第14章 虚拟机 506
14.1虚拟化方法 508
14.2处理器问题 511
14.3内存管理 513
14.4 I/O管理 514
14.5 VMware ESXi 515
14.6微软Hyper-V和Xen变体 517
14.7 Java VM 518
14.8 Linux VServer虚拟机架构 519
14.8.1体系结构 519
14.8.2进程调度 520
14.9 Android虚拟机 521
14.9.1 Dex文件格式 522
14.9.2 Zygote 523
14.10总结 523
14.11推荐阅读 523
14.12关键术语、复习题与习题 524
第7部分 安全 527
第15章 操作系统安全 527
15.1入侵者和恶意软件 528
15.1.1系统访问威胁 528
15.1.2对策 529
15.2缓冲区溢出 531
15.2.1缓冲区溢出攻击 531
15.2.2编译时防御 534
15.2.3运行时防御 536
15.3访问控制 537
15.3.1文件系统访问控制 537
15.3.2访问控制策略 539
15.4 UNIX访问控制 544
15.4.1传统UNIX文件访问控制 544
15.4.2 UNIX中的访问控制列表 546
15.5操作系统强化 546
15.5.1操作系统安装:初次安装与修补 547
15.5.2移除不必要的服务、应用和协议 548
15.5.3配置用户、组和身份验证 548
15.5.4配置资源控制 549
15.5.5安装额外的安全控制 549
15.5.6测试系统安全性 549
15.6安全维护 550
15.6.1用户登入 550
15.6.2数据备份和存档 550
15.7 Windows安全 551
15.7.1访问控制模式 551
15.7.2访问令牌 552
15.7.3安全描述符 552
15.8总结 555
15.9推荐阅读 555
15.10关键术语、复习题与习题 556
第8部分 分布式系统 559
第16章 分布式处理、客户/服务器和集群 559
16.1客户/服务器计算 560
16.1.1什么是客户/服务器计算? 560
16.1.2客户/服务器应用 562
16.1.3中间件 567
16.2分布式消息传递 569
16.2.1可靠性与不可靠性 571
16.2.2阻塞与非阻塞 571
16.3远程过程调用 571
16.3.1参数传递 572
16.3.2参数表示 573
16.3.3客户/服务器绑定 573
16.3.4同步与异步 573
16.3.5面向对象机制 574
16.4集群 574
16.4.1集群的配置 575
16.4.2操作系统的设计问题 577
16.4.3集群计算机的体系结构 578
16.4.4集群与SMP的对比 579
16.5 Windows集群服务器 579
16.6 Beowulf和Linux集群 581
16.6.1 Beowulf特性 581
16.6.2 Beowulf软件 582
16.7总结 582
16.8推荐阅读 583
16.9关键术语、复习题与习题 583
参考文献 586
- 《管理信息系统习题集》郭晓军 2016
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《第一性原理方法及应用》李青坤著 2019
- 《计算机组成原理解题参考 第7版》张基温 2017
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《莎士比亚戏剧精选集》(英)威廉·莎士比亚(William Shakespeare)著 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019