您当前的位置:首页 > 国外计算机科学教材系列 操作系统:精髓与设计原理 第9版 [美]斯托林斯 2020年版 > 下载地址2
国外计算机科学教材系列 操作系统:精髓与设计原理 第9版 [美]斯托林斯 2020年版
- 名 称:国外计算机科学教材系列 操作系统:精髓与设计原理 第9版 [美]斯托林斯 2020年版 - 下载地址2
- 类 别:计算机与网络
- 下载地址:[下载地址2]
- 提 取 码:
- 浏览次数:3
新闻评论(共有 0 条评论) |
资料介绍
国外计算机科学教材系列 操作系统:精髓与设计原理 第9版
作者: [美]斯托林斯
出版时间:2020年版
丛编项: 国外计算机科学教材系列
内容简介
本书既是关于操作系统概念、结构和机制的教材,目的是尽可能清楚和全面地展示现代操作系统的本质和特点;也是讲解操作系统的经典教材,不仅系统地讲述了操作系统的基本概念、原理和方法,而且以当代***的操作系统Windows 10、UNIX、Android、Linux为例,展现了当代操作系统的本质和特点。全书共分背景知识、进程、内存、调度、输入/输出和文件、嵌入式系统六部分,内容包括计算机系统概述、操作系统概述、进程描述和控制、线程、并发性:互斥和同步、并发:死锁和饥饿、内存管理、虚拟内存、单处理器调度、多处理器和实时调度、I/O管理和磁盘调度、文件管理、嵌入式操作系统、虚拟机、计算机安全技术、云操作系统和IoT操作系统等。此外,本书配套网站提供了及时、生动的材料。
目录
第一部分 背景知识
第1章 计算机系统概述/t2
1.1 基本构成/t2
1.2 微处理器的发展/t3
1.3 指令的执行/t4
1.4 中断/t6
1.4.1 中断和指令周期/t7
1.4.2 中断处理/t8
1.4.3 多个中断/t10
1.5 存储器的层次结构/t11
1.6 高速缓存/t13
1.6.1 动机/t13
1.6.2 高速缓存原理/t13
1.6.3 高速缓存设计/t15
1.7 直接内存存取/t15
1.8 多处理器和多核计算机组织结构/t16
1.8.1 对称多处理器/t16
1.8.2 多核计算机/t17
1.9 关键术语、复习题和习题/t19
1.9.1 关键术语/t19
1.9.2 复习题/t19
1.9.3 习题/t19
附录1A 两级存储器的性能特征/t21
第2章 操作系统概述/t26
2.1 操作系统的目标和功能/t26
2.1.1 作为用户/计算机接口的
操作系统/t26
2.1.2 作为资源管理器的操作系统/t27
2.1.3 操作系统的易扩展性/t28
2.2 操作系统的演化/t29
2.2.1 串行处理/t29
2.2.2 简单批处理系统/t29
2.2.3 多道批处理系统/t31
2.2.4 分时系统/t33
2.3 主要成就/t34
2.3.1 进程/t34
2.3.2 内存管理/t36
2.3.3 信息保护和安全/t37
2.3.4 调度和资源管理/t38
2.4 现代操作系统的特征/t39
2.5 容错性/t40
2.5.1 基本概念/t41
2.5.2 错误/t41
2.5.3 操作系统机制/t42
2.6 多处理器和多核操作系统设计
考虑因素/t42
2.6.1 对称多处理器操作系统设计
考虑因素/t42
2.6.2 多核操作系统设计考虑因素/t43
2.7 微软Windows系统简介/t44
2.7.1 背景/t44
2.7.2 体系结构/t44
2.7.3 客户-服务器模型/t46
2.7.4 线程和SMP/t47
2.7.5 Windows对象/t47
2.8 传统的UNIX系统/t48
2.8.1 历史/t48
2.8.2 描述/t49
2.9 现代UNIX系统/t50
2.9.1 System V Release 4(SVR4)/t51
2.9.2 BSD/t51
2.9.3 Solaris 11/t51
2.10 Linux操作系统/t51
2.10.1 历史/t51
2.10.2 模块结构/t52
2.10.3 内核组件/t53
2.11 Android/t55
2.11.1 Android软件体系结构/t56
2.11.2 Android运行时/t57
2.11.3 Android系统体系结构/t59
2.11.4 活动/t60
2.11.5 电源管理/t60
2.12 关键术语、复习题和习题/t60
2.12.1 关键术语/t60
2.12.2 复习题/t61
2.12.3 习题/t61
第二部分 进程
第3章 进程描述和控制/t64
3.1 什么是进程/t64
3.1.1 背景/t64
3.1.2 进程和进程控制块/t65
3.2 进程状态/t66
3.2.1 两状态进程模型/t67
3.2.2 进程的创建和终止/t68
3.2.3 五状态模型/t69
3.2.4 被挂起的进程/t71
3.3 进程描述/t74
3.3.1 操作系统的控制结构/t75
3.3.2 进程控制结构/t75
3.4 进程控制/t79
3.4.1 执行模式/t79
3.4.2 进程创建/t80
3.4.3 进程切换/t81
3.5 操作系统的执行/t82
3.5.1 无进程内核/t82
3.5.2 在用户进程内运行/t83
3.5.3 基于进程的操作系统/t84
3.6 UNIX SVR4进程管理/t84
3.6.1 进程状态/t84
3.6.2 进程描述/t85
3.6.3 进程控制/t87
3.7 小结/t87
3.8 关键术语、复习题和习题/t88
3.8.1 关键术语/t88
3.8.2 复习题/t88
3.8.3 习题/t88
第4章 线程/t91
4.1 进程和线程/t91
4.1.1 多线程/t91
4.1.2 线程的功能/t93
4.2 线程分类/t95
4.2.1 用户级和内核级线程/t95
4.2.2 其他方案/t97
4.3 多核和多线程/t99
4.3.1 多核系统上的软件性能/t99
4.3.2 应用示例:Valve游戏软件/t100
4.4 Windows的进程和线程管理/t101
4.4.1 后台任务管理和应用生命
周期/t102
4.4.2 Windows进程/t103
4.4.3 进程对象和线程对象/t103
4.4.4 多线程/t104
4.4.5 线程状态/t104
4.4.6 对操作系统子系统的支持/t105
4.5 Solaris的线程和SMP管理/t106
4.5.1 多线程体系结构/t106
4.5.2 动机/t106
4.5.3 进程结构/t107
4.5.4 线程的执行/t108
4.5.5 把中断当作线程/t108
4.6 Linux的进程和线程管理/t109
4.6.1 Linux任务/t109
4.6.2 Linux线程/t110
4.6.3 Linux命名空间/t111
4.7 Android的进程和线程管理/t112
4.7.1 安卓应用/t112
4.7.2 活动/t113
4.7.3 进程和线程/t114
4.8 Mac OS X的GCD技术/t114
4.9 小结/t116
4.10 关键术语、复习题和习题/t116
4.10.1 关键术语/t116
4.10.2 复习题/t116
4.10.3 习题/t117
第5章 并发:互斥和同步/t121
5.1 互斥:软件解决方法/t122
5.1.1 Dekker算法/t122
5.1.2 Peterson算法/t125
5.2 并发的原理/t126
5.2.1 一个简单的例子/t127
5.2.2 竞争条件/t128
5.2.3 操作系统关注的问题/t128
5.2.4 进程的交互/t128
5.2.5 互斥的要求/t131
5.3 互斥:硬件的支持/t131
5.3.1 中断禁用/t131
5.3.2 专用机器指令/t132
5.4 信号量/t133
5.4.1 互斥/t136
5.4.2 生产者/消费者问题/t137
5.4.3 信号量的实现/t142
5.5 管程/t142
5.5.1 使用信号的管程/t142
5.5.2 使用通知和广播的管程/t145
5.6 消息传递/t146
5.6.1 同步/t147
5.6.2 寻址/t148
5.6.3 消息格式/t149
5.6.4 排队原则/t149
5.6.5 互斥/t149
5.7 读者/写者问题/t150
5.7.1 读者优先/t151
5.7.2 写者优先/t152
5.8 小结/t154
5.9 关键术语、复习题和习题/t154
5.9.1 关键术语/t154
5.9.2 复习题/t154
5.9.3 习题/t155
第6章 并发:死锁和饥饿/t164
6.1 死锁原理/t164
6.1.1 可重用资源/t167
6.1.2 可消耗资源/t167
6.1.3 资源分配图/t168
6.1.4 死锁的条件/t169
6.2 死锁预防/t169
6.2.1 互斥/t170
6.2.2 占有且等待/t170
6.2.3 不可抢占/t170
6.2.4 循环等待/t170
6.3 死锁避免/t170
6.3.1 进程启动拒绝/t171
6.3.2 资源分配拒绝/t171
6.4 死锁检测/t174
6.4.1 死锁检测算法/t174
6.4.2 恢复/t175
6.5 一种综合的死锁策略/t175
6.6 哲学家就餐问题/t176
6.6.1 基于信号量的解决方案/t177
6.6.2 基于管程的解决方案/t178
6.7 UNIX并发机制/t178
6.7.1 管道/t179
6.7.2 消息/t179
6.7.3 共享内存/t179
6.7.4 信号量/t179
6.7.5 信号/t180
6.8 Linux内核并发机制/t180
6.8.1 原子操作/t181
6.8.2 自旋锁/t182
6.8.3 信号量/t183
6.8.4 屏障/t184
6.9 Solaris线程同步原语/t185
6.9.1 互斥锁/t186
6.9.2 信号量/t186
6.9.3 多读者/单写者锁/t186
6.9.4 条件变量/t187
6.10 Windows的并发机制/t187
6.10.1 等待函数/t187
6.10.2 分派器对象/t187
6.10.3 临界区/t188
6.10.4 轻量级读写锁和条件变量/t188
6.10.5 锁无关同步机制/t189
6.11 Android进程间通信/t189
6.12 小结/t190
6.13 关键术语、复习题和习题/t190
6.13.1 关键术语/t190
6.13.2 复习题/t190
6.13.3 习题/t191
第三部分 内存
第7章 内存管理/t196
7.1 内存管理的需求/t196
7.1.1 重定位/t196
7.1.2 保护/t197
7.1.3 共享/t197
7.1.4 逻辑组织/t197
7.1.5 物理组织/t198
7.2 内存分区/t198
7.2.1 固定分区/t198
7.2.2 动态分区/t200
7.2.3 伙伴系统/t202
7.2.4 重定位/t203
7.3 分页/t204
7.4 分段/t206
7.5 小结/t207
7.6 关键术语、复习题和习题/t207
7.6.1 关键术语/t207
7.6.2 复习题/t208
7.6.3 习题/t208
附录7A 加载和链接/t210
第8章 虚拟内存/t214
8.1 硬件和控制结构/t214
8.1.1 局部性和虚拟内存/t215
8.1.2 分页/t216
8.1.3 分段/t222
8.1.4 段页式/t223
8.1.5 保护和共享/t224
8.2 操作系统软件/t224
8.2.1 读取策略/t225
8.2.2 放置策略/t226
8.2.3 置换策略/t226
8.2.4 驻留集管理/t230
8.2.5 清除策略/t234
8.2.6 加载控制/t234
8.3 UNIX和Solaris内存管理/t235
8.3.1 分页系统/t235
8.3.2 内核内存分配器/t237
8.4 Linux内存管理/t238
8.4.1 虚拟内存/t239
8.4.2 内核内存分配/t240
8.5 Windows内存管理/t240
8.5.1 Windows虚拟地址映射/t241
8.5.2 Windows分页/t241
8.5.3 Windows交换/t242
8.6 Android内存管理/t242
8.7 小结/t242
8.8 关键术语、复习题和习题/t243
8.8.1 关键术语/t243
8.8.2 复习题/t243
8.8.3 习题/t243
第四部分 调度
第9章 单处理器调度/t248
9.1 处理器调度的类型/t248
9.1.1 长程调度/t249
9.1.2 中程调度/t250
9.1.3 短程调度/t250
9.2 调度算法/t250
9.2.1 短程调度规则/t250
9.2.2 优先级的使用/t251
9.2.3 选择调度策略/t252
9.2.4 性能比较/t258
9.2.5 公平共享调度/t261
9.3 传统的UNIX调度/t263
9.4 小结/t264
9.5 关键术语、复习题和习题/t264
9.5.1 关键术语/t264
9.5.2 复习题/t264
9.5.3 习题/t265
第10章 多处理器、多核和实时调度/t268
10.1 多处理器和多核调度/t268
10.1.1 粒度/t268
10.1.2 设计问题/t269
10.1.3 进程调度/t270
10.1.4 线程调度/t271
10.1.5 多核线程调度/t275
10.2 实时调度/t276
10.2.1 背景/t276
10.2.2 实时操作系统的特点/t276
10.2.3 实时调度/t278
10.2.4 限期调度/t279
10.2.5 速率单调调度/t282
10.2.6 优先级反转/t284
10.3 Linux调度/t285
10.3.1 实时调度/t285
10.3.2 非实时调度/t286
10.4 UNIX SVR4调度/t287
10.5 FreeBSD调度程序/t288
10.5.1 优先级/t288
10.5.2 对称多处理器与多核支持/t289
10.6 Windows调度/t290
10.6.1 进程和线程优先级/t290
10.6.2 多处理器调度/t291
10.7 小结/t291
10.8 关键术语、复习题和习题/t292
10.8.1 关键术语/t292
10.8.2 复习题/t292
10.8.3 习题/t292
第五部分 输入/输出和文件
第11章 I/O管理和磁盘调度/t296
11.1 I/O设备/t296
11.2 I/O功能的组织/t297
11.2.1 I/O功能的发展/t297
11.2.2 直接内存访问/t298
11.3 操作系统设计问题/t299
11.3.1 设计目标/t299
11.3.2 I/O功能的逻辑结构/t300
11.4 I/O缓冲/t301
11.4.1 单缓冲/t301
11.4.2 双缓冲/t302
11.4.3 循环缓冲/t302
11.4.4 缓冲的作用/t302
11.5 磁盘调度/t303
11.5.1 磁盘性能参数/t303
11.5.2 磁盘调度策略/t304
11.6 RAID/t307
11.6.1 RAID级别0/t310
11.6.2 RAID级别1/t310
11.6.3 RAID级别2/t311
11.6.4 RAID级别3/t311
11.6.5 RAID级别4/t312
11.6.6 RAID级别5/t312
11.6.7 RAID级别6/t312
11.7 磁盘高速缓存/t313
11.7.1 设计考虑因素/t313
11.7.2 性能考虑因素/t314
11.8 UNIX SVR 4 I/O/t315
11.8.1 缓冲区高速缓冲/t315
11.8.2 字符队列/t316
11.8.3 无缓冲I/O/t316
11.8.4 UNIX设备/t316
11.9 Linux I/O/t317
11.9.1 磁盘调度/t317
11.9.2 Linux页面缓存/t319
11.10 Windows I/O/t320
11.10.1 基本I/O机制/t320
11.10.2 异步I/O和同步I/O/t320
11.10.3 软件RAID/t321
11.10.4 卷影复制/t321
11.10.5 卷加密/t321
11.11 小结/t321
11.12 关键术语、复习题和习题/t322
11.12.1 关键术语/t322
11.12.2 复习题/t322
11.12.3 习题/t322
第12章 文件管理/t324
12.1 概述/t324
12.1.1 文件和文件系统/t324
12.1.2 文件结构/t325
12.1.3 文件管理系统/t326
12.2 文件组织和访问/t327
12.2.1 堆/t328
12.2.2 顺序文件/t328
12.2.3 索引顺序文件/t329
12.2.4 索引文件/t329
12.2.5 直接文件或散列文件/t330
12.3 B树/t330
12.4 文件目录/t332
12.4.1 内容/t332
12.4.2 结构/t333
12.4.3 命名/t334
12.5 文件共享/t335
12.5.1 访问权限/t335
12.5.2 同时访问/t335
12.6 记录组块/t336
12.7 辅存管理/t337
12.7.1 文件分配/t337
12.7.2 空闲空间管理/t339
12.7.3 卷/t341
12.7.4 可靠性/t341
12.8 UNIX文件管理/t341
12.8.1 索引节点/t342
12.8.2 文件分配/t343
12.8.3 目录/t344
12.8.4 卷结构/t344
12.9 Linux虚拟文件系统/t344
12.9.1 超级块对象/t345
12.9.2 索引节点对象/t346
12.9.3 目录项对象/t346
12.9.4 文件对象/t346
12.9.5 缓存/t346
12.10 Windows文件系统/t347
12.10.1 NTFS的重要特征/t347
12.10.2 NTFS卷和文件结构/t347
12.10.3 可恢复性/t349
12.11 Android文件系统/t350
12.11.1 文件系统/t350
12.11.2 SQLite/t350
12.12 小结/t351
12.13 关键术语、复习题和习题/t351
12.13.1 关键术语/t351
12.13.2 复习题/t351
12.13.3 习题/t352
第六部分 嵌入式系统
第13章 嵌入式操作系统/t354
13.1 嵌入式系统/t354
13.1.1 嵌入式系统概念/t354
13.1.2 通用处理器和专用处理器/t355
13.1.3 微处理器/t355
13.1.4 微控制器/t356
13.1.5 深度嵌入式系统/t357
13.2 嵌入式操作系统的特性/t357
13.2.1 主环境和目标环境/t358
13.2.2 开发方法/t359
13.2.3 适配现有的操作系统/t359
13.2.4 根据目标建立的嵌入式
操作系统/t359
13.3 嵌入式Linux/t360
13.3.1 嵌入式Linux系统的特性/t360
13.3.2 嵌入式Linux文件系统/t361
13.3.3 嵌入式Linux的优势/t361
13.3.4 μClinux/t362
13.3.5 Android/t363
13.4 TinyOS/t364
13.4.1 无线传感器网络/t364
13.4.2 TinyOS的目标/t365
13.4.3 TinyOS的组件/t365
13.4.4 TinyOS的调度程序/t367
13.4.5 配置示例/t367
13.4.6 TinyOS的资源接口/t369
13.5 关键术语、复习题和习题/t370
13.5.1 关键术语/t370
13.5.2 复习题/t370
13.5.3 习题/t370
第14章 虚拟机/t372
14.1 虚拟机概念/t372
14.2 虚拟机管理程序/t374
14.2.1 虚拟机管理程序/t374
14.2.2 半虚拟化/t375
14.2.3 硬件辅助虚拟化/t376
14.2.4 虚拟设备/t376
14.3 容器虚拟化/t377
14.3.1 内核控制组/t377
14.3.2 容器的概念/t377
14.3.3 容器文件系统/t379
14.3.4 微服务/t380
14.3.5 Docker/t380
14.4 处理器问题/t381
14.5 内存管理/t382
14.6 输入/输出管理/t383
14.7 VMware ESXi/t384
14.8 微软Hyper-V与Xen系列/t385
14.9 Java虚拟机/t386
14.10 Linux VServer虚拟机架构/t386
14.10.1 架构/t387
14.10.2 进程调度/t387
14.11 小结/t388
14.12 关键术语、复习题和习题/t388
14.12.1 关键术语/t388
14.12.2 复习题/t389
14.12.3 习题/t389
第15章 操作系统安全技术/t390
15.1 入侵者与恶意软件/t390
15.1.1 系统访问威胁/t390
15.1.2 应对措施/t391
15.2 缓冲区溢出/t392
15.2.1 缓冲区溢出攻击/t392
15.2.2 编译时防御/t394
15.2.3 运行时防御/t396
15.3 访问控制/t397
15.3.1 文件系统访问控制/t397
15.3.2 访问控制策略/t399
15.4 UNIX访问控制/t402
15.4.1 传统UNIX文件访问控制/t402
15.4.2 UNIX中的访问控制列表/t403
15.5 操作系统加固/t404
15.5.1 操作系统安装:初始安装
与后续更新/t404
15.5.2 删除不必要的服务、应用
与协议/t405
15.5.3 对用户、组和认证过程
进行配置/t405
15.5.4 对资源控制进行配置/t405
15.5.5 安装额外的安全控制工具/t406
15.5.6 对系统安全进行测试/t406
15.6 安全性维护/t406
15.6.1 记录日志/t406
15.6.2 数据备份和存档/t407
15.7 Windows安全性/t407
15.7.1 访问控制方案/t407
15.7.2 访问令牌/t408
15.7.3 安全描述符/t408
15.8 小结/t410
15.9 关键术语、复习题和习题/t411
15.9.1 关键术语/t411
15.9.2 复习题/t411
15.9.3 习题/t411
第16章 云与物联网操作系统/t413
16.1 云计算/t413
16.1.1 云计算要素/t413
16.1.2 云服务模型/t414
16.1.3 云部署模型/t415
16.1.4 云计算参考架构/t416
16.2 云操作系统/t418
16.2.1 基础设施即服务/t419
16.2.2 云操作系统的需求/t420
16.2.3 云操作系统的基本架构/t420
16.2.4 OpenStack/t424
16.3 物联网/t428
16.3.1 物联网中的物/t429
16.3.2 升级换代/t429
16.3.3 物联网支持设备的组件/t429
16.3.4 物联网和云环境/t429
16.4 物联网操作系统/t431
16.4.1 受限设备/t431
16.4.2 物联网操作系统的要求/t432
16.4.3 物联网操作系统架构/t433
16.4.4 RIOT/t434
16.5 关键术语和复习题/t435
16.5.1 关键术语/t435
16.5.2 复习题/t436
附录A 并发主题/t437
附录B 编程和操作系统项目/t446
参考文献 /t450
作者: [美]斯托林斯
出版时间:2020年版
丛编项: 国外计算机科学教材系列
内容简介
本书既是关于操作系统概念、结构和机制的教材,目的是尽可能清楚和全面地展示现代操作系统的本质和特点;也是讲解操作系统的经典教材,不仅系统地讲述了操作系统的基本概念、原理和方法,而且以当代***的操作系统Windows 10、UNIX、Android、Linux为例,展现了当代操作系统的本质和特点。全书共分背景知识、进程、内存、调度、输入/输出和文件、嵌入式系统六部分,内容包括计算机系统概述、操作系统概述、进程描述和控制、线程、并发性:互斥和同步、并发:死锁和饥饿、内存管理、虚拟内存、单处理器调度、多处理器和实时调度、I/O管理和磁盘调度、文件管理、嵌入式操作系统、虚拟机、计算机安全技术、云操作系统和IoT操作系统等。此外,本书配套网站提供了及时、生动的材料。
目录
第一部分 背景知识
第1章 计算机系统概述/t2
1.1 基本构成/t2
1.2 微处理器的发展/t3
1.3 指令的执行/t4
1.4 中断/t6
1.4.1 中断和指令周期/t7
1.4.2 中断处理/t8
1.4.3 多个中断/t10
1.5 存储器的层次结构/t11
1.6 高速缓存/t13
1.6.1 动机/t13
1.6.2 高速缓存原理/t13
1.6.3 高速缓存设计/t15
1.7 直接内存存取/t15
1.8 多处理器和多核计算机组织结构/t16
1.8.1 对称多处理器/t16
1.8.2 多核计算机/t17
1.9 关键术语、复习题和习题/t19
1.9.1 关键术语/t19
1.9.2 复习题/t19
1.9.3 习题/t19
附录1A 两级存储器的性能特征/t21
第2章 操作系统概述/t26
2.1 操作系统的目标和功能/t26
2.1.1 作为用户/计算机接口的
操作系统/t26
2.1.2 作为资源管理器的操作系统/t27
2.1.3 操作系统的易扩展性/t28
2.2 操作系统的演化/t29
2.2.1 串行处理/t29
2.2.2 简单批处理系统/t29
2.2.3 多道批处理系统/t31
2.2.4 分时系统/t33
2.3 主要成就/t34
2.3.1 进程/t34
2.3.2 内存管理/t36
2.3.3 信息保护和安全/t37
2.3.4 调度和资源管理/t38
2.4 现代操作系统的特征/t39
2.5 容错性/t40
2.5.1 基本概念/t41
2.5.2 错误/t41
2.5.3 操作系统机制/t42
2.6 多处理器和多核操作系统设计
考虑因素/t42
2.6.1 对称多处理器操作系统设计
考虑因素/t42
2.6.2 多核操作系统设计考虑因素/t43
2.7 微软Windows系统简介/t44
2.7.1 背景/t44
2.7.2 体系结构/t44
2.7.3 客户-服务器模型/t46
2.7.4 线程和SMP/t47
2.7.5 Windows对象/t47
2.8 传统的UNIX系统/t48
2.8.1 历史/t48
2.8.2 描述/t49
2.9 现代UNIX系统/t50
2.9.1 System V Release 4(SVR4)/t51
2.9.2 BSD/t51
2.9.3 Solaris 11/t51
2.10 Linux操作系统/t51
2.10.1 历史/t51
2.10.2 模块结构/t52
2.10.3 内核组件/t53
2.11 Android/t55
2.11.1 Android软件体系结构/t56
2.11.2 Android运行时/t57
2.11.3 Android系统体系结构/t59
2.11.4 活动/t60
2.11.5 电源管理/t60
2.12 关键术语、复习题和习题/t60
2.12.1 关键术语/t60
2.12.2 复习题/t61
2.12.3 习题/t61
第二部分 进程
第3章 进程描述和控制/t64
3.1 什么是进程/t64
3.1.1 背景/t64
3.1.2 进程和进程控制块/t65
3.2 进程状态/t66
3.2.1 两状态进程模型/t67
3.2.2 进程的创建和终止/t68
3.2.3 五状态模型/t69
3.2.4 被挂起的进程/t71
3.3 进程描述/t74
3.3.1 操作系统的控制结构/t75
3.3.2 进程控制结构/t75
3.4 进程控制/t79
3.4.1 执行模式/t79
3.4.2 进程创建/t80
3.4.3 进程切换/t81
3.5 操作系统的执行/t82
3.5.1 无进程内核/t82
3.5.2 在用户进程内运行/t83
3.5.3 基于进程的操作系统/t84
3.6 UNIX SVR4进程管理/t84
3.6.1 进程状态/t84
3.6.2 进程描述/t85
3.6.3 进程控制/t87
3.7 小结/t87
3.8 关键术语、复习题和习题/t88
3.8.1 关键术语/t88
3.8.2 复习题/t88
3.8.3 习题/t88
第4章 线程/t91
4.1 进程和线程/t91
4.1.1 多线程/t91
4.1.2 线程的功能/t93
4.2 线程分类/t95
4.2.1 用户级和内核级线程/t95
4.2.2 其他方案/t97
4.3 多核和多线程/t99
4.3.1 多核系统上的软件性能/t99
4.3.2 应用示例:Valve游戏软件/t100
4.4 Windows的进程和线程管理/t101
4.4.1 后台任务管理和应用生命
周期/t102
4.4.2 Windows进程/t103
4.4.3 进程对象和线程对象/t103
4.4.4 多线程/t104
4.4.5 线程状态/t104
4.4.6 对操作系统子系统的支持/t105
4.5 Solaris的线程和SMP管理/t106
4.5.1 多线程体系结构/t106
4.5.2 动机/t106
4.5.3 进程结构/t107
4.5.4 线程的执行/t108
4.5.5 把中断当作线程/t108
4.6 Linux的进程和线程管理/t109
4.6.1 Linux任务/t109
4.6.2 Linux线程/t110
4.6.3 Linux命名空间/t111
4.7 Android的进程和线程管理/t112
4.7.1 安卓应用/t112
4.7.2 活动/t113
4.7.3 进程和线程/t114
4.8 Mac OS X的GCD技术/t114
4.9 小结/t116
4.10 关键术语、复习题和习题/t116
4.10.1 关键术语/t116
4.10.2 复习题/t116
4.10.3 习题/t117
第5章 并发:互斥和同步/t121
5.1 互斥:软件解决方法/t122
5.1.1 Dekker算法/t122
5.1.2 Peterson算法/t125
5.2 并发的原理/t126
5.2.1 一个简单的例子/t127
5.2.2 竞争条件/t128
5.2.3 操作系统关注的问题/t128
5.2.4 进程的交互/t128
5.2.5 互斥的要求/t131
5.3 互斥:硬件的支持/t131
5.3.1 中断禁用/t131
5.3.2 专用机器指令/t132
5.4 信号量/t133
5.4.1 互斥/t136
5.4.2 生产者/消费者问题/t137
5.4.3 信号量的实现/t142
5.5 管程/t142
5.5.1 使用信号的管程/t142
5.5.2 使用通知和广播的管程/t145
5.6 消息传递/t146
5.6.1 同步/t147
5.6.2 寻址/t148
5.6.3 消息格式/t149
5.6.4 排队原则/t149
5.6.5 互斥/t149
5.7 读者/写者问题/t150
5.7.1 读者优先/t151
5.7.2 写者优先/t152
5.8 小结/t154
5.9 关键术语、复习题和习题/t154
5.9.1 关键术语/t154
5.9.2 复习题/t154
5.9.3 习题/t155
第6章 并发:死锁和饥饿/t164
6.1 死锁原理/t164
6.1.1 可重用资源/t167
6.1.2 可消耗资源/t167
6.1.3 资源分配图/t168
6.1.4 死锁的条件/t169
6.2 死锁预防/t169
6.2.1 互斥/t170
6.2.2 占有且等待/t170
6.2.3 不可抢占/t170
6.2.4 循环等待/t170
6.3 死锁避免/t170
6.3.1 进程启动拒绝/t171
6.3.2 资源分配拒绝/t171
6.4 死锁检测/t174
6.4.1 死锁检测算法/t174
6.4.2 恢复/t175
6.5 一种综合的死锁策略/t175
6.6 哲学家就餐问题/t176
6.6.1 基于信号量的解决方案/t177
6.6.2 基于管程的解决方案/t178
6.7 UNIX并发机制/t178
6.7.1 管道/t179
6.7.2 消息/t179
6.7.3 共享内存/t179
6.7.4 信号量/t179
6.7.5 信号/t180
6.8 Linux内核并发机制/t180
6.8.1 原子操作/t181
6.8.2 自旋锁/t182
6.8.3 信号量/t183
6.8.4 屏障/t184
6.9 Solaris线程同步原语/t185
6.9.1 互斥锁/t186
6.9.2 信号量/t186
6.9.3 多读者/单写者锁/t186
6.9.4 条件变量/t187
6.10 Windows的并发机制/t187
6.10.1 等待函数/t187
6.10.2 分派器对象/t187
6.10.3 临界区/t188
6.10.4 轻量级读写锁和条件变量/t188
6.10.5 锁无关同步机制/t189
6.11 Android进程间通信/t189
6.12 小结/t190
6.13 关键术语、复习题和习题/t190
6.13.1 关键术语/t190
6.13.2 复习题/t190
6.13.3 习题/t191
第三部分 内存
第7章 内存管理/t196
7.1 内存管理的需求/t196
7.1.1 重定位/t196
7.1.2 保护/t197
7.1.3 共享/t197
7.1.4 逻辑组织/t197
7.1.5 物理组织/t198
7.2 内存分区/t198
7.2.1 固定分区/t198
7.2.2 动态分区/t200
7.2.3 伙伴系统/t202
7.2.4 重定位/t203
7.3 分页/t204
7.4 分段/t206
7.5 小结/t207
7.6 关键术语、复习题和习题/t207
7.6.1 关键术语/t207
7.6.2 复习题/t208
7.6.3 习题/t208
附录7A 加载和链接/t210
第8章 虚拟内存/t214
8.1 硬件和控制结构/t214
8.1.1 局部性和虚拟内存/t215
8.1.2 分页/t216
8.1.3 分段/t222
8.1.4 段页式/t223
8.1.5 保护和共享/t224
8.2 操作系统软件/t224
8.2.1 读取策略/t225
8.2.2 放置策略/t226
8.2.3 置换策略/t226
8.2.4 驻留集管理/t230
8.2.5 清除策略/t234
8.2.6 加载控制/t234
8.3 UNIX和Solaris内存管理/t235
8.3.1 分页系统/t235
8.3.2 内核内存分配器/t237
8.4 Linux内存管理/t238
8.4.1 虚拟内存/t239
8.4.2 内核内存分配/t240
8.5 Windows内存管理/t240
8.5.1 Windows虚拟地址映射/t241
8.5.2 Windows分页/t241
8.5.3 Windows交换/t242
8.6 Android内存管理/t242
8.7 小结/t242
8.8 关键术语、复习题和习题/t243
8.8.1 关键术语/t243
8.8.2 复习题/t243
8.8.3 习题/t243
第四部分 调度
第9章 单处理器调度/t248
9.1 处理器调度的类型/t248
9.1.1 长程调度/t249
9.1.2 中程调度/t250
9.1.3 短程调度/t250
9.2 调度算法/t250
9.2.1 短程调度规则/t250
9.2.2 优先级的使用/t251
9.2.3 选择调度策略/t252
9.2.4 性能比较/t258
9.2.5 公平共享调度/t261
9.3 传统的UNIX调度/t263
9.4 小结/t264
9.5 关键术语、复习题和习题/t264
9.5.1 关键术语/t264
9.5.2 复习题/t264
9.5.3 习题/t265
第10章 多处理器、多核和实时调度/t268
10.1 多处理器和多核调度/t268
10.1.1 粒度/t268
10.1.2 设计问题/t269
10.1.3 进程调度/t270
10.1.4 线程调度/t271
10.1.5 多核线程调度/t275
10.2 实时调度/t276
10.2.1 背景/t276
10.2.2 实时操作系统的特点/t276
10.2.3 实时调度/t278
10.2.4 限期调度/t279
10.2.5 速率单调调度/t282
10.2.6 优先级反转/t284
10.3 Linux调度/t285
10.3.1 实时调度/t285
10.3.2 非实时调度/t286
10.4 UNIX SVR4调度/t287
10.5 FreeBSD调度程序/t288
10.5.1 优先级/t288
10.5.2 对称多处理器与多核支持/t289
10.6 Windows调度/t290
10.6.1 进程和线程优先级/t290
10.6.2 多处理器调度/t291
10.7 小结/t291
10.8 关键术语、复习题和习题/t292
10.8.1 关键术语/t292
10.8.2 复习题/t292
10.8.3 习题/t292
第五部分 输入/输出和文件
第11章 I/O管理和磁盘调度/t296
11.1 I/O设备/t296
11.2 I/O功能的组织/t297
11.2.1 I/O功能的发展/t297
11.2.2 直接内存访问/t298
11.3 操作系统设计问题/t299
11.3.1 设计目标/t299
11.3.2 I/O功能的逻辑结构/t300
11.4 I/O缓冲/t301
11.4.1 单缓冲/t301
11.4.2 双缓冲/t302
11.4.3 循环缓冲/t302
11.4.4 缓冲的作用/t302
11.5 磁盘调度/t303
11.5.1 磁盘性能参数/t303
11.5.2 磁盘调度策略/t304
11.6 RAID/t307
11.6.1 RAID级别0/t310
11.6.2 RAID级别1/t310
11.6.3 RAID级别2/t311
11.6.4 RAID级别3/t311
11.6.5 RAID级别4/t312
11.6.6 RAID级别5/t312
11.6.7 RAID级别6/t312
11.7 磁盘高速缓存/t313
11.7.1 设计考虑因素/t313
11.7.2 性能考虑因素/t314
11.8 UNIX SVR 4 I/O/t315
11.8.1 缓冲区高速缓冲/t315
11.8.2 字符队列/t316
11.8.3 无缓冲I/O/t316
11.8.4 UNIX设备/t316
11.9 Linux I/O/t317
11.9.1 磁盘调度/t317
11.9.2 Linux页面缓存/t319
11.10 Windows I/O/t320
11.10.1 基本I/O机制/t320
11.10.2 异步I/O和同步I/O/t320
11.10.3 软件RAID/t321
11.10.4 卷影复制/t321
11.10.5 卷加密/t321
11.11 小结/t321
11.12 关键术语、复习题和习题/t322
11.12.1 关键术语/t322
11.12.2 复习题/t322
11.12.3 习题/t322
第12章 文件管理/t324
12.1 概述/t324
12.1.1 文件和文件系统/t324
12.1.2 文件结构/t325
12.1.3 文件管理系统/t326
12.2 文件组织和访问/t327
12.2.1 堆/t328
12.2.2 顺序文件/t328
12.2.3 索引顺序文件/t329
12.2.4 索引文件/t329
12.2.5 直接文件或散列文件/t330
12.3 B树/t330
12.4 文件目录/t332
12.4.1 内容/t332
12.4.2 结构/t333
12.4.3 命名/t334
12.5 文件共享/t335
12.5.1 访问权限/t335
12.5.2 同时访问/t335
12.6 记录组块/t336
12.7 辅存管理/t337
12.7.1 文件分配/t337
12.7.2 空闲空间管理/t339
12.7.3 卷/t341
12.7.4 可靠性/t341
12.8 UNIX文件管理/t341
12.8.1 索引节点/t342
12.8.2 文件分配/t343
12.8.3 目录/t344
12.8.4 卷结构/t344
12.9 Linux虚拟文件系统/t344
12.9.1 超级块对象/t345
12.9.2 索引节点对象/t346
12.9.3 目录项对象/t346
12.9.4 文件对象/t346
12.9.5 缓存/t346
12.10 Windows文件系统/t347
12.10.1 NTFS的重要特征/t347
12.10.2 NTFS卷和文件结构/t347
12.10.3 可恢复性/t349
12.11 Android文件系统/t350
12.11.1 文件系统/t350
12.11.2 SQLite/t350
12.12 小结/t351
12.13 关键术语、复习题和习题/t351
12.13.1 关键术语/t351
12.13.2 复习题/t351
12.13.3 习题/t352
第六部分 嵌入式系统
第13章 嵌入式操作系统/t354
13.1 嵌入式系统/t354
13.1.1 嵌入式系统概念/t354
13.1.2 通用处理器和专用处理器/t355
13.1.3 微处理器/t355
13.1.4 微控制器/t356
13.1.5 深度嵌入式系统/t357
13.2 嵌入式操作系统的特性/t357
13.2.1 主环境和目标环境/t358
13.2.2 开发方法/t359
13.2.3 适配现有的操作系统/t359
13.2.4 根据目标建立的嵌入式
操作系统/t359
13.3 嵌入式Linux/t360
13.3.1 嵌入式Linux系统的特性/t360
13.3.2 嵌入式Linux文件系统/t361
13.3.3 嵌入式Linux的优势/t361
13.3.4 μClinux/t362
13.3.5 Android/t363
13.4 TinyOS/t364
13.4.1 无线传感器网络/t364
13.4.2 TinyOS的目标/t365
13.4.3 TinyOS的组件/t365
13.4.4 TinyOS的调度程序/t367
13.4.5 配置示例/t367
13.4.6 TinyOS的资源接口/t369
13.5 关键术语、复习题和习题/t370
13.5.1 关键术语/t370
13.5.2 复习题/t370
13.5.3 习题/t370
第14章 虚拟机/t372
14.1 虚拟机概念/t372
14.2 虚拟机管理程序/t374
14.2.1 虚拟机管理程序/t374
14.2.2 半虚拟化/t375
14.2.3 硬件辅助虚拟化/t376
14.2.4 虚拟设备/t376
14.3 容器虚拟化/t377
14.3.1 内核控制组/t377
14.3.2 容器的概念/t377
14.3.3 容器文件系统/t379
14.3.4 微服务/t380
14.3.5 Docker/t380
14.4 处理器问题/t381
14.5 内存管理/t382
14.6 输入/输出管理/t383
14.7 VMware ESXi/t384
14.8 微软Hyper-V与Xen系列/t385
14.9 Java虚拟机/t386
14.10 Linux VServer虚拟机架构/t386
14.10.1 架构/t387
14.10.2 进程调度/t387
14.11 小结/t388
14.12 关键术语、复习题和习题/t388
14.12.1 关键术语/t388
14.12.2 复习题/t389
14.12.3 习题/t389
第15章 操作系统安全技术/t390
15.1 入侵者与恶意软件/t390
15.1.1 系统访问威胁/t390
15.1.2 应对措施/t391
15.2 缓冲区溢出/t392
15.2.1 缓冲区溢出攻击/t392
15.2.2 编译时防御/t394
15.2.3 运行时防御/t396
15.3 访问控制/t397
15.3.1 文件系统访问控制/t397
15.3.2 访问控制策略/t399
15.4 UNIX访问控制/t402
15.4.1 传统UNIX文件访问控制/t402
15.4.2 UNIX中的访问控制列表/t403
15.5 操作系统加固/t404
15.5.1 操作系统安装:初始安装
与后续更新/t404
15.5.2 删除不必要的服务、应用
与协议/t405
15.5.3 对用户、组和认证过程
进行配置/t405
15.5.4 对资源控制进行配置/t405
15.5.5 安装额外的安全控制工具/t406
15.5.6 对系统安全进行测试/t406
15.6 安全性维护/t406
15.6.1 记录日志/t406
15.6.2 数据备份和存档/t407
15.7 Windows安全性/t407
15.7.1 访问控制方案/t407
15.7.2 访问令牌/t408
15.7.3 安全描述符/t408
15.8 小结/t410
15.9 关键术语、复习题和习题/t411
15.9.1 关键术语/t411
15.9.2 复习题/t411
15.9.3 习题/t411
第16章 云与物联网操作系统/t413
16.1 云计算/t413
16.1.1 云计算要素/t413
16.1.2 云服务模型/t414
16.1.3 云部署模型/t415
16.1.4 云计算参考架构/t416
16.2 云操作系统/t418
16.2.1 基础设施即服务/t419
16.2.2 云操作系统的需求/t420
16.2.3 云操作系统的基本架构/t420
16.2.4 OpenStack/t424
16.3 物联网/t428
16.3.1 物联网中的物/t429
16.3.2 升级换代/t429
16.3.3 物联网支持设备的组件/t429
16.3.4 物联网和云环境/t429
16.4 物联网操作系统/t431
16.4.1 受限设备/t431
16.4.2 物联网操作系统的要求/t432
16.4.3 物联网操作系统架构/t433
16.4.4 RIOT/t434
16.5 关键术语和复习题/t435
16.5.1 关键术语/t435
16.5.2 复习题/t436
附录A 并发主题/t437
附录B 编程和操作系统项目/t446
参考文献 /t450
下一篇: 国外计算机科学经典教材 软件测试的有效方法 第三版
上一篇: 五笔字型速查宝典(第2版)