图书介绍
操作系统 精髓与设计原理PDF|Epub|txt|kindle电子书版本网盘下载
![操作系统 精髓与设计原理](https://www.shukui.net/cover/25/31329058.jpg)
- (美)威廉·斯托林斯(William Stallings)著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115477026
- 出版时间:2019
- 标注页数:596页
- 文件大小:100MB
- 文件页数:615页
- 主题词:操作系统-高等学校-教材
PDF下载
下载说明
操作系统 精髓与设计原理PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第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线程和SMP70
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 BSD75
2.9.3 Solaris 1075
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 Dispatch161
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 RAID423
11.6.1 0级RAID426
11.6.2 1级RAID427
11.6.3 2级RAID428
11.6.4 3级RAID428
11.6.5 4级RAID429
11.6.6 5级RAID430
11.6.7 6级RAID430
11.7磁盘高速缓存430
11.7.1设计考虑431
11.7.2性能考虑432
11.8 UNIX SVR4 I/O434
11.8.1缓冲区高速缓存434
11.8.2字符队列435
11.8.3无缓冲的I/O435
11.8.4 UNIX设备436
11.9 Linux I/O436
11.9.1磁盘调度436
11.9.2 Linux页面缓存438
11.10 Windows I/O439
11.10.1基本I/O机制439
11.10.2异步I/O和同步I/O439
11.10.3软件RAID440
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 SQLite484
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嵌入式Linux493
13.3.1内核大小493
13.3.2编译493
13.3.3嵌入式Linux文件系统493
13.3.4嵌入式Linux的优势494
13.3.5 Android494
13.4 TinyOS495
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 ESXi515
14.6微软Hyper-V和Xen变体517
14.7 Java VM518
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 Zygote523
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