图书介绍
操作系统 精髓与设计原理PDF|Epub|txt|kindle电子书版本网盘下载
![操作系统 精髓与设计原理](https://www.shukui.net/cover/39/30478641.jpg)
- (美)WILLIAMSTALLINGS著;陈向群,陈渝等译 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121309502
- 出版时间:2017
- 标注页数:474页
- 文件大小:105MB
- 文件页数:494页
- 主题词:操作系统-高等学校-教材
PDF下载
下载说明
操作系统 精髓与设计原理PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第0章 读者与教师指南1
0.1 本书概述1
0.2 实例系统1
0.3 读者和教师的路线图2
0.4 互联网和网站资源3
第一部分 背景知识6
第1章 计算机系统概述6
1.1 基本构成6
1.2 微处理器的发展7
1.3 指令的执行8
1.4 中断10
1.4.1 中断和指令周期11
1.4.2 中断处理12
1.4.3 多个中断14
1.5 存储器的层次结构15
1.6 高速缓存17
1.6.1 动机18
1.6.2 高速缓存原理18
1.6.3 高速缓存设计19
1.7 直接内存存取20
1.8 多处理器和多核计算机组织结构21
1.8.1 对称多处理器21
1.8.2 多核计算机23
1.9 推荐读物23
1.10 关键术语、复习题和习题24
1.10.1 关键术语24
1.10.2 复习题24
1.10.3 习题24
附录1A 两级存储器的性能特征26
第2章 操作系统概述31
2.1 操作系统的目标和功能31
2.1.1 作为用户/计算机接口的操作系统31
2.1.2 作为资源管理器的操作系统32
2.1.3 操作系统的易扩展性33
2.2 操作系统的发展史34
2.2.1 串行处理34
2.2.2 简单批处理系统34
2.2.3 多道批处理系统36
2.2.4 分时系统38
2.3 主要成就40
2.3.1 进程40
2.3.2 内存管理42
2.3.3 信息保护和安全43
2.3.4 调度和资源管理44
2.4 现代操作系统的特征45
2.5 容错性47
2.5.1 基本概念47
2.5.2 错误48
2.5.3 操作系统机制48
2.6 多处理器和多核操作系统设计考虑因素49
2.6.1 对称多处理器操作系统设计考虑因素49
2.6.2 多核操作系统设计考虑因素49
2.7 微软Windows系统简介51
2.7.1 背景51
2.7.2 体系结构51
2.7.3 客户-服务器模型53
2.7.4 线程和SMP54
2.7.5 Windows对象54
2.8 传统的UNIX系统55
2.8.1 历史55
2.8.2 描述56
2.9 现代UNIX系统57
2.9.1 System V Release 4(SVR4)58
2.9.2 BSD58
2.9.3 Solaris 1058
2.10 Linux操作系统58
2.10.1 历史58
2.10.2 模块结构59
2.10.3 内核组件60
2.11 Android62
2.11.1 Android软件体系结构63
2.11.2 Android系统体系结构64
2.11.3 活动65
2.11.4 电源管理65
2.12 推荐读物和动画66
2.13 关键术语、复习题和习题67
2.13.1 关键术语67
2.13.2 复习题67
2.13.3 习题67
第二部分 进程70
第3章 进程描述和控制70
3.1 什么是进程70
3.1.1 背景70
3.1.2 进程和进程控制块71
3.2 进程状态72
3.2.1 两状态进程模型73
3.2.2 进程的创建和终止74
3.2.3 五状态模型75
3.2.4 被挂起的进程78
3.3 进程描述81
3.3.1 操作系统的控制结构82
3.3.2 进程控制结构82
3.4 进程控制86
3.4.1 执行模式86
3.4.2 进程创建87
3.4.3 进程切换88
3.5 操作系统的执行90
3.5.1 无进程内核90
3.5.2 在用户进程内运行90
3.5.3 基于进程的操作系统91
3.6 UNIX SVR4进程管理91
3.6.1 进程状态92
3.6.2 进程描述93
3.6.3 进程控制94
3.7 小结95
3.8 推荐读物和动画95
3.9 关键术语、复习题和习题95
3.9.1 关键术语95
3.9.2 复习题96
3.9.3 习题96
第4章 线程99
4.1 进程和线程99
4.1.1 多线程99
4.1.2 线程的功能102
4.2 线程分类103
4.2.1 用户级和内核级线程103
4.2.2 其他方案106
4.3 多核和多线程107
4.3.1 多核系统上的软件性能107
4.3.2 应用示例:Valve游戏软件109
4.4 Windows 8的进程和线程管理110
4.4.1 Windows 8中的变化111
4.4.2 Windows进程111
4.4.3 进程对象和线程对象112
4.4.4 多线程113
4.4.5 线程状态113
4.4.6 对操作系统子系统的支持114
4.5 Solaris的线程和SMP管理114
4.5.1 多线程体系结构114
4.5.2 动机115
4.5.3 进程结构115
4.5.4 线程的执行116
4.5.5 把中断当作线程117
4.6 Linux的进程和线程管理118
4.6.1 Linux任务118
4.6.2 Linux线程119
4.6.3 Linux命名空间120
4.7 Android的进程和线程管理121
4.7.1 安卓应用121
4.7.2 活动121
4.7.3 进程和线程122
4.8 Mac OS X的GCD技术123
4.9 小结124
4.10 推荐读物125
4.11 关键术语、复习题和习题125
4.11.1 关键术语125
4.11.2 复习题125
4.11.3 习题125
第5章 并发性:互斥和同步129
5.1 并发的原理130
5.1.1 一个简单的例子130
5.1.2 竞争条件132
5.1.3 操作系统关注的问题132
5.1.4 进程的交互133
5.1.5 互斥的要求135
5.2 互斥:硬件的支持136
5.2.1 中断禁用136
5.2.2 专用机器指令136
5.3 信号量138
5.3.1 互斥141
5.3.2 生产者/消费者问题142
5.3.3 信号量的实现146
5.4 管程147
5.4.1 使用信号的管程147
5.4.2 使用通知和广播的管程149
5.5 消息传递151
5.5.1 同步151
5.5.2 寻址152
5.5.3 消息格式153
5.5.4 排队原则154
5.5.5 互斥154
5.6 读者/写者问题155
5.6.1 读者优先156
5.6.2 写者优先156
5.7 小结158
5.8 推荐读物和动画159
5.9 关键术语、复习题和习题160
5.9.1 关键术语160
5.9.2 复习题160
5.9.3 习题160
第6章 并发:死锁和饥饿170
6.1 死锁原理170
6.1.1 可重用资源173
6.1.2 可消耗资源174
6.1.3 资源分配图174
6.1.4 死锁的条件175
6.2 死锁预防176
6.2.1 互斥176
6.2.2 占有且等待176
6.2.3 不可抢占176
6.2.4 循环等待177
6.3 死锁避免177
6.3.1 进程启动拒绝177
6.3.2 资源分配拒绝178
6.4 死锁检测181
6.4.1 死锁检测算法181
6.4.2 恢复182
6.5 一种综合的死锁策略182
6.6 哲学家就餐问题183
6.6.1 基于信号量的解决方案183
6.6.2 基于管程的解决方案184
6.7 UNIX并发机制185
6.7.1 管道186
6.7.2 消息186
6.7.3 共享内存186
6.7.4 信号量186
6.7.5 信号187
6.8 Linux内核并发机制187
6.8.1 原子操作188
6.8.2 自旋锁189
6.8.3 信号量190
6.8.4 屏障191
6.9 Solaris线程同步原语192
6.9.1 互斥锁193
6.9.2 信号量193
6.9.3 多读者/单写者锁193
6.9.4 条件变量193
6.10 Windows 7的并发机制194
6.10.1 等待函数194
6.10.2 分派器对象194
6.10.3 临界区195
6.10.4 轻量级读写锁和条件变量195
6.10.5 锁无关同步机制196
6.11 Android进程间通信196
6.12 小结197
6.13 推荐读物和动画197
6.14 关键术语、复习题和习题198
6.14.1 关键术语198
6.14.2 复习题198
6.14.3 习题198
第三部分 内存204
第7章 内存管理204
7.1 内存管理的需求204
7.1.1 重定位204
7.1.2 保护205
7.1.3 共享205
7.1.4 逻辑组织205
7.1.5 物理组织206
7.2 内存分区206
7.2.1 固定分区207
7.2.2 动态分区208
7.2.3 伙伴系统210
7.2.4 重定位212
7.3 分页212
7.4 分段215
7.5 小结216
7.6 推荐读物和动画216
7.7 关键术语、复习题和习题216
7.7.1 关键术语216
7.7.2 复习题217
7.7.3 习题217
附录7A 加载和链接219
第8章 虚拟内存223
8.1 硬件和控制结构223
8.1.1 局部性和虚拟内存224
8.1.2 分页225
8.1.3 分段232
8.1.4 段页式232
8.1.5 保护和共享233
8.2 操作系统软件234
8.2.1 读取策略235
8.2.2 放置策略235
8.2.3 置换策略235
8.2.4 驻留集管理239
8.2.5 清除策略243
8.2.6 加载控制244
8.3 UNIX和Solaris内存管理245
8.3.1 分页系统245
8.3.2 内核内存分配器247
8.4 Linux内存管理249
8.4.1 虚拟内存249
8.4.2 内核内存分配250
8.5 Windows内存管理251
8.5.1 Windows虚拟地址映射251
8.5.2 Windows分页251
8.5.3 Windows 8交换252
8.6 Android内存管理252
8.7 小结252
8.8 推荐读物和动画253
8.9 关键术语、复习题和习题253
8.9.1 关键术语253
8.9.2 复习题254
8.9.3 习题254
第四部分 调度258
第9章 单处理器调度258
9.1 处理器调度的类型258
9.1.1 长程调度259
9.1.2 中程调度260
9.1.3 短程调度260
9.2 调度算法260
9.2.1 短程调度规则260
9.2.2 优先级的使用261
9.2.3 选择调度策略262
9.2.4 性能比较268
9.2.5 公平共享调度272
9.3 传统的UNIX调度273
9.4 小结274
9.5 推荐读物和动画275
9.6 关键术语、复习题和习题275
9.6.1 关键术语275
9.6.2 复习题275
9.6.3 习题276
第10章 多处理器和实时调度279
10.1 多处理器调度279
10.1.1 粒度279
10.1.2 设计问题280
10.1.3 进程调度281
10.1.4 线程调度283
10.1.5 多核线程调度286
10.2 实时调度287
10.2.1 背景287
10.2.2 实时操作系统的特点288
10.2.3 实时调度290
10.2.4 限期调度291
10.2.5 速率单调调度294
10.2.6 优先级反转295
10.3 Linux调度297
10.3.1 实时调度297
10.3.2 非实时调度298
10.4 UNIX SVR4调度300
10.5 FreeBSD调度程序301
10.5.1 优先级301
10.5.2 对称多处理器与多核支持301
10.6 Windows调度303
10.6.1 进程和线程优先级303
10.6.2 多处理器调度304
10.7 小结305
10.8 推荐读物305
10.9 关键术语、复习题和习题305
10.9.1 关键术语305
10.9.2 复习题306
10.9.3 习题306
第五部分 输入/输出和文件310
第11章 I/O管理和磁盘调度310
11.1 I/O设备310
11.2 I/O功能的组织311
11.2.1 I/O功能的发展312
11.2.2 直接存储器访问312
11.3 操作系统设计问题314
11.3.1 设计目标314
11.3.2 I/O功能的逻辑结构314
11.4 I/O缓冲315
11.4.1 单缓冲316
11.4.2 双缓冲317
11.4.3 循环缓冲317
11.4.4 缓冲的作用317
11.5 磁盘调度317
11.5.1 磁盘性能参数317
11.5.2 磁盘调度策略319
11.6 RAID322
11.6.1 RAID级别0325
11.6.2 RAID级别1325
11.6.3 RAID级别2326
11.6.4 RAID级别3326
11.6.5 RAID级别4327
11.6.6 RAID级别5328
11.6.7 RAID级别6328
11.7 磁盘高速缓存328
11.7.1 设计考虑因素328
11.7.2 性能考虑因素329
11.8 UNIX SVR4 I/O331
11.8.1 缓冲区高速缓冲331
11.8.2 字符队列332
11.8.3 无缓冲I/O332
11.8.4 UNIX设备332
11.9 Linux I/O333
11.9.1 磁盘调度333
11.9.2 Linux页面缓存334
11.10 Windows I/O335
11.10.1 基本I/O机制335
11.10.2 异步I/O和同步I/O335
11.10.3 软件RAID336
11.10.4 卷影复制336
11.10.5 卷加密336
11.11 小结336
11.12 推荐读物和动画337
11.13 关键术语、复习题和习题338
11.13.1 关键术语338
11.13.2 复习题338
11.13.3 习题338
第12章 文件管理340
12.1 概述340
12.1.1 文件和文件系统340
12.1.2 文件结构341
12.1.3 文件管理系统342
12.2 文件组织和访问344
12.2.1 堆345
12.2.2 顺序文件345
12.2.3 索引顺序文件345
12.2.4 索引文件346
12.2.5 直接文件或散列文件346
12.3 B树347
12.4 文件目录349
12.4.1 内容349
12.4.2 结构350
12.4.3 命名351
12.5 文件共享352
12.5.1 访问权限352
12.5.2 同时访问353
12.6 记录组块353
12.7 辅存管理354
12.7.1 文件分配354
12.7.2 空闲空间管理357
12.7.3 卷358
12.7.4 可靠性358
12.8 UNIX文件管理359
12.8.1 索引节点359
12.8.2 文件分配361
12.8.3 目录362
12.8.4 卷结构362
12.9 Linux虚拟文件系统362
12.9.1 超级块对象363
12.9.2 索引节点对象364
12.9.3 目录项对象364
12.9.4 文件对象364
12.9.5 缓存364
12.10 Windows文件系统365
12.10.1 NTFS的重要特征365
12.10.2 NTFS卷和文件结构366
12.10.3 可恢复性367
12.11 Android文件系统368
12.11.1 文件系统368
12.11.2 SQLite369
12.12 小结369
12.13 推荐读物370
12.14 关键术语、复习题和习题370
12.14.1 关键术语370
12.14.2 复习题370
12.14.3 习题371
第六部分 嵌入式系统374
第13章 嵌入式操作系统374
13.1 嵌入式系统374
13.2 嵌入式操作系统的特点375
13.2.1 移植现有商业操作系统375
13.2.2 为特定目的构建的嵌入式操作系统376
13.3 嵌入式Linux376
13.3.1 内核大小376
13.3.2 编译376
13.3.3 嵌入式Linux文件系统377
13.3.4 嵌入式Linux的优点377
13.3.5 Android377
13.4 TinyOS377
13.4.1 无线传感器网络378
13.4.2 TinyOS的目标378
13.4.3 TinyOS的组件379
13.4.4 TinyOS的调度程序381
13.4.5 配置示例381
13.4.6 TinyOS的资源接口383
13.5 推荐读物384
13.6 关键术语、复习题和习题384
13.6.1 关键术语384
13.6.2 复习题385
13.6.3 习题385
第14章 虚拟机387
14.1 虚拟化方法388
14.2 处理器问题390
14.3 内存管理391
14.4 输入/输出管理392
14.5 VMware ESXi393
14.6 微软Hyper-V与Xen系列395
14.7 Java虚拟机396
14.8 Linux VServer虚拟机架构396
14.8.1 架构396
14.8.2 进程调度397
14.9 Android虚拟机398
14.9.1 dex文件系统398
14.9.2 Zygote399
14.10 小结399
14.11 推荐读物399
14.12 关键术语、复习题和习题400
14.12.1 关键术语400
14.12.2 复习题400
14.12.3 习题400
第15章 计算机安全技术401
15.1 入侵者与恶意软件401
15.1.1 系统访问威胁401
15.1.2 应对措施402
15.2 缓冲区溢出404
15.2.1 缓冲区溢出攻击404
15.2.2 编译时防御406
15.2.3 运行时防御408
15.3 访问控制409
15.3.1 文件系统访问控制409
15.3.2 访问控制策略410
15.4 UNIX访问控制414
15.4.1 传统UNIX文件访问控制414
15.4.2 UNIX中的访问控制列表416
15.5 操作系统加固416
15.5.1 操作系统安装:初始安装与后续更新417
15.5.2 删除不必要的服务、应用与协议417
15.5.3 对用户、组和认证过程进行配置418
15.5.4 对资源控制进行配置418
15.5.5 安装额外的安全控制工具418
15.5.6 对系统安全进行测试419
15.6 安全性维护419
15.6.1 记录日志419
15.6.2 数据备份和存档419
15.7 Windows安全性420
15.7.1 访问控制方案420
15.7.2 访问令牌421
15.7.3 安全描述符421
15.8 小结423
15.9 推荐读物424
15.10 关键术语、复习题和习题424
15.10.1 关键术语424
15.10.2 复习题424
15.10.3 习题424
第16章 分布式处理、客户-服务器和集群426
16.1 客户-服务器计算426
16.1.1 什么是客户-服务器计算426
16.1.2 客户-服务器应用427
16.1.3 中间件431
16.2 分布式消息传递433
16.2.1 可靠性与不可靠性434
16.2.2 阻塞与无阻塞434
16.3 远程过程调用434
16.3.1 参数传递435
16.3.2 参数表示436
16.3.3 客户-服务器绑定436
16.3.4 同步和异步436
16.3.5 面向对象机制437
16.4 集群437
16.4.1 集群的配置437
16.4.2 操作系统设计问题439
16.4.3 集群计算机架构440
16.4.4 集群与对称多处理器441
16.5 Windows集群服务器441
16.6 Beowulf和Linux集群442
16.6.1 Beowulf特性442
16.6.2 Beowulf软件443
16.7 小结443
16.8 推荐读物444
16.9 关键术语、复习题和习题444
16.9.1 关键术语444
16.9.2 复习题445
16.9.3 习题445
附录A 并发主题446
附录B 编程和操作系统项目460
参考文献464