国外计算机科学教材系列 操作系统:精髓与设计原理 第9版作者: [美]斯托林斯 出版时间:2020年版丛编项: 国外计算机科学教材系列内容简介 本书既是关于操作系统概念、结构和机制的教材,目的是尽可能清楚和全面地展示现代操作系统的本质和特点;也是讲解操作系统的经典教材,不仅系统地讲述了操作系统的基本概念、原理和方法,而且以当代***的操作系统Windows 10、UNIX、Android、Linux为例,展现了当代操作系统的本质和特点。全书共分背景知识、进程、内存、调度、输入/输出和文件、嵌入式系统六部分,内容包括计算机系统概述、操作系统概述、进程描述和控制、线程、并发性:互斥和同步、并发:死锁和饥饿、内存管理、虚拟内存、单处理器调度、多处理器和实时调度、I/O管理和磁盘调度、文件管理、嵌入式操作系统、虚拟机、计算机安全技术、云操作系统和IoT操作系统等。此外,本书配套网站提供了及时、生动的材料。目录第一部分 背景知识第1章 计算机系统概述/t21.1 基本构成/t21.2 微处理器的发展/t31.3 指令的执行/t41.4 中断/t61.4.1 中断和指令周期/t71.4.2 中断处理/t81.4.3 多个中断/t101.5 存储器的层次结构/t111.6 高速缓存/t131.6.1 动机/t131.6.2 高速缓存原理/t131.6.3 高速缓存设计/t151.7 直接内存存取/t151.8 多处理器和多核计算机组织结构/t161.8.1 对称多处理器/t161.8.2 多核计算机/t171.9 关键术语、复习题和习题/t191.9.1 关键术语/t191.9.2 复习题/t191.9.3 习题/t19附录1A 两级存储器的性能特征/t21第2章 操作系统概述/t262.1 操作系统的目标和功能/t262.1.1 作为用户/计算机接口的操作系统/t262.1.2 作为资源管理器的操作系统/t272.1.3 操作系统的易扩展性/t282.2 操作系统的演化/t292.2.1 串行处理/t292.2.2 简单批处理系统/t292.2.3 多道批处理系统/t312.2.4 分时系统/t332.3 主要成就/t342.3.1 进程/t342.3.2 内存管理/t362.3.3 信息保护和安全/t372.3.4 调度和资源管理/t382.4 现代操作系统的特征/t392.5 容错性/t402.5.1 基本概念/t412.5.2 错误/t412.5.3 操作系统机制/t422.6 多处理器和多核操作系统设计考虑因素/t422.6.1 对称多处理器操作系统设计考虑因素/t422.6.2 多核操作系统设计考虑因素/t432.7 微软Windows系统简介/t442.7.1 背景/t442.7.2 体系结构/t442.7.3 客户-服务器模型/t462.7.4 线程和SMP/t472.7.5 Windows对象/t472.8 传统的UNIX系统/t482.8.1 历史/t482.8.2 描述/t492.9 现代UNIX系统/t502.9.1 System V Release 4(SVR4)/t512.9.2 BSD/t512.9.3 Solaris 11/t512.10 Linux操作系统/t512.10.1 历史/t512.10.2 模块结构/t522.10.3 内核组件/t532.11 Android/t552.11.1 Android软件体系结构/t562.11.2 Android运行时/t572.11.3 Android系统体系结构/t592.11.4 活动/t602.11.5 电源管理/t602.12 关键术语、复习题和习题/t602.12.1 关键术语/t602.12.2 复习题/t612.12.3 习题/t61第二部分 进程第3章 进程描述和控制/t643.1 什么是进程/t643.1.1 背景/t643.1.2 进程和进程控制块/t653.2 进程状态/t663.2.1 两状态进程模型/t673.2.2 进程的创建和终止/t683.2.3 五状态模型/t693.2.4 被挂起的进程/t713.3 进程描述/t743.3.1 操作系统的控制结构/t753.3.2 进程控制结构/t753.4 进程控制/t793.4.1 执行模式/t793.4.2 进程创建/t803.4.3 进程切换/t813.5 操作系统的执行/t823.5.1 无进程内核/t823.5.2 在用户进程内运行/t833.5.3 基于进程的操作系统/t843.6 UNIX SVR4进程管理/t843.6.1 进程状态/t843.6.2 进程描述/t853.6.3 进程控制/t873.7 小结/t873.8 关键术语、复习题和习题/t883.8.1 关键术语/t883.8.2 复习题/t883.8.3 习题/t88第4章 线程/t914.1 进程和线程/t914.1.1 多线程/t914.1.2 线程的功能/t934.2 线程分类/t954.2.1 用户级和内核级线程/t954.2.2 其他方案/t974.3 多核和多线程/t994.3.1 多核系统上的软件性能/t994.3.2 应用示例:Valve游戏软件/t1004.4 Windows的进程和线程管理/t1014.4.1 后台任务管理和应用生命周期/t1024.4.2 Windows进程/t1034.4.3 进程对象和线程对象/t1034.4.4 多线程/t1044.4.5 线程状态/t1044.4.6 对操作系统子系统的支持/t1054.5 Solaris的线程和SMP管理/t1064.5.1 多线程体系结构/t1064.5.2 动机/t1064.5.3 进程结构/t1074.5.4 线程的执行/t1084.5.5 把中断当作线程/t1084.6 Linux的进程和线程管理/t1094.6.1 Linux任务/t1094.6.2 Linux线程/t1104.6.3 Linux命名空间/t1114.7 Android的进程和线程管理/t1124.7.1 安卓应用/t1124.7.2 活动/t1134.7.3 进程和线程/t1144.8 Mac OS X的GCD技术/t1144.9 小结/t1164.10 关键术语、复习题和习题/t1164.10.1 关键术语/t1164.10.2 复习题/t1164.10.3 习题/t117第5章 并发:互斥和同步/t1215.1 互斥:软件解决方法/t1225.1.1 Dekker算法/t1225.1.2 Peterson算法/t1255.2 并发的原理/t1265.2.1 一个简单的例子/t1275.2.2 竞争条件/t1285.2.3 操作系统关注的问题/t1285.2.4 进程的交互/t1285.2.5 互斥的要求/t1315.3 互斥:硬件的支持/t1315.3.1 中断禁用/t1315.3.2 专用机器指令/t1325.4 信号量/t1335.4.1 互斥/t1365.4.2 生产者/消费者问题/t1375.4.3 信号量的实现/t1425.5 管程/t1425.5.1 使用信号的管程/t1425.5.2 使用通知和广播的管程/t1455.6 消息传递/t1465.6.1 同步/t1475.6.2 寻址/t1485.6.3 消息格式/t1495.6.4 排队原则/t1495.6.5 互斥/t1495.7 读者/写者问题/t1505.7.1 读者优先/t1515.7.2 写者优先/t1525.8 小结/t1545.9 关键术语、复习题和习题/t1545.9.1 关键术语/t1545.9.2 复习题/t1545.9.3 习题/t155第6章 并发:死锁和饥饿/t1646.1 死锁原理/t1646.1.1 可重用资源/t1676.1.2 可消耗资源/t1676.1.3 资源分配图/t1686.1.4 死锁的条件/t1696.2 死锁预防/t1696.2.1 互斥/t1706.2.2 占有且等待/t1706.2.3 不可抢占/t1706.2.4 循环等待/t1706.3 死锁避免/t1706.3.1 进程启动拒绝/t1716.3.2 资源分配拒绝/t1716.4 死锁检测/t1746.4.1 死锁检测算法/t1746.4.2 恢复/t1756.5 一种综合的死锁策略/t1756.6 哲学家就餐问题/t1766.6.1 基于信号量的解决方案/t1776.6.2 基于管程的解决方案/t1786.7 UNIX并发机制/t1786.7.1 管道/t1796.7.2 消息/t1796.7.3 共享内存/t1796.7.4 信号量/t1796.7.5 信号/t1806.8 Linux内核并发机制/t1806.8.1 原子操作/t1816.8.2 自旋锁/t1826.8.3 信号量/t1836.8.4 屏障/t1846.9 Solaris线程同步原语/t1856.9.1 互斥锁/t1866.9.2 信号量/t1866.9.3 多读者/单写者锁/t1866.9.4 条件变量/t1876.10 Windows的并发机制/t1876.10.1 等待函数/t1876.10.2 分派器对象/t1876.10.3 临界区/t1886.10.4 轻量级读写锁和条件变量/t1886.10.5 锁无关同步机制/t1896.11 Android进程间通信/t1896.12 小结/t1906.13 关键术语、复习题和习题/t1906.13.1 关键术语/t1906.13.2 复习题/t1906.13.3 习题/t191第三部分 内存第7章 内存管理/t1967.1 内存管理的需求/t1967.1.1 重定位/t1967.1.2 保护/t1977.1.3 共享/t1977.1.4 逻辑组织/t1977.1.5 物理组织/t1987.2 内存分区/t1987.2.1 固定分区/t1987.2.2 动态分区/t2007.2.3 伙伴系统/t2027.2.4 重定位/t2037.3 分页/t2047.4 分段/t2067.5 小结/t2077.6 关键术语、复习题和习题/t2077.6.1 关键术语/t2077.6.2 复习题/t2087.6.3 习题/t208附录7A 加载和链接/t210第8章 虚拟内存/t2148.1 硬件和控制结构/t2148.1.1 局部性和虚拟内存/t2158.1.2 分页/t2168.1.3 分段/t2228.1.4 段页式/t2238.1.5 保护和共享/t2248.2 操作系统软件/t2248.2.1 读取策略/t2258.2.2 放置策略/t2268.2.3 置换策略/t2268.2.4 驻留集管理/t2308.2.5 清除策略/t2348.2.6 加载控制/t2348.3 UNIX和Solaris内存管理/t2358.3.1 分页系统/t2358.3.2 内核内存分配器/t2378.4 Linux内存管理/t2388.4.1 虚拟内存/t2398.4.2 内核内存分配/t2408.5 Windows内存管理/t2408.5.1 Windows虚拟地址映射/t2418.5.2 Windows分页/t2418.5.3 Windows交换/t2428.6 Android内存管理/t2428.7 小结/t2428.8 关键术语、复习题和习题/t2438.8.1 关键术语/t2438.8.2 复习题/t2438.8.3 习题/t243第四部分 调度第9章 单处理器调度/t2489.1 处理器调度的类型/t2489.1.1 长程调度/t2499.1.2 中程调度/t2509.1.3 短程调度/t2509.2 调度算法/t2509.2.1 短程调度规则/t2509.2.2 优先级的使用/t2519.2.3 选择调度策略/t2529.2.4 性能比较/t2589.2.5 公平共享调度/t2619.3 传统的UNIX调度/t2639.4 小结/t2649.5 关键术语、复习题和习题/t2649.5.1 关键术语/t2649.5.2 复习题/t2649.5.3 习题/t265第10章 多处理器、多核和实时调度/t26810.1 多处理器和多核调度/t26810.1.1 粒度/t26810.1.2 设计问题/t26910.1.3 进程调度/t27010.1.4 线程调度/t27110.1.5 多核线程调度/t27510.2 实时调度/t27610.2.1 背景/t27610.2.2 实时操作系统的特点/t27610.2.3 实时调度/t27810.2.4 限期调度/t27910.2.5 速率单调调度/t28210.2.6 优先级反转/t28410.3 Linux调度/t28510.3.1 实时调度/t28510.3.2 非实时调度/t28610.4 UNIX SVR4调度/t28710.5 FreeBSD调度程序/t28810.5.1 优先级/t28810.5.2 对称多处理器与多核支持/t28910.6 Windows调度/t29010.6.1 进程和线程优先级/t29010.6.2 多处理器调度/t29110.7 小结/t29110.8 关键术语、复习题和习题/t29210.8.1 关键术语/t29210.8.2 复习题/t29210.8.3 习题/t292第五部分 输入/输出和文件第11章 I/O管理和磁盘调度/t29611.1 I/O设备/t29611.2 I/O功能的组织/t29711.2.1 I/O功能的发展/t29711.2.2 直接内存访问/t29811.3 操作系统设计问题/t29911.3.1 设计目标/t29911.3.2 I/O功能的逻辑结构/t30011.4 I/O缓冲/t30111.4.1 单缓冲/t30111.4.2 双缓冲/t30211.4.3 循环缓冲/t30211.4.4 缓冲的作用/t30211.5 磁盘调度/t30311.5.1 磁盘性能参数/t30311.5.2 磁盘调度策略/t30411.6 RAID/t30711.6.1 RAID级别0/t31011.6.2 RAID级别1/t31011.6.3 RAID级别2/t31111.6.4 RAID级别3/t31111.6.5 RAID级别4/t31211.6.6 RAID级别5/t31211.6.7 RAID级别6/t31211.7 磁盘高速缓存/t31311.7.1 设计考虑因素/t31311.7.2 性能考虑因素/t31411.8 UNIX SVR 4 I/O/t31511.8.1 缓冲区高速缓冲/t31511.8.2 字符队列/t31611.8.3 无缓冲I/O/t31611.8.4 UNIX设备/t31611.9 Linux I/O/t31711.9.1 磁盘调度/t31711.9.2 Linux页面缓存/t31911.10 Windows I/O/t32011.10.1 基本I/O机制/t32011.10.2 异步I/O和同步I/O/t32011.10.3 软件RAID/t32111.10.4 卷影复制/t32111.10.5 卷加密/t32111.11 小结/t32111.12 关键术语、复习题和习题/t32211.12.1 关键术语/t32211.12.2 复习题/t32211.12.3 习题/t322第12章 文件管理/t32412.1 概述/t32412.1.1 文件和文件系统/t32412.1.2 文件结构/t32512.1.3 文件管理系统/t32612.2 文件组织和访问/t32712.2.1 堆/t32812.2.2 顺序文件/t32812.2.3 索引顺序文件/t32912.2.4 索引文件/t32912.2.5 直接文件或散列文件/t33012.3 B树/t33012.4 文件目录/t33212.4.1 内容/t33212.4.2 结构/t33312.4.3 命名/t33412.5 文件共享/t33512.5.1 访问权限/t33512.5.2 同时访问/t33512.6 记录组块/t33612.7 辅存管理/t33712.7.1 文件分配/t33712.7.2 空闲空间管理/t33912.7.3 卷/t34112.7.4 可靠性/t34112.8 UNIX文件管理/t34112.8.1 索引节点/t34212.8.2 文件分配/t34312.8.3 目录/t34412.8.4 卷结构/t34412.9 Linux虚拟文件系统/t34412.9.1 超级块对象/t34512.9.2 索引节点对象/t34612.9.3 目录项对象/t34612.9.4 文件对象/t34612.9.5 缓存/t34612.10 Windows文件系统/t34712.10.1 NTFS的重要特征/t34712.10.2 NTFS卷和文件结构/t34712.10.3 可恢复性/t34912.11 Android文件系统/t35012.11.1 文件系统/t35012.11.2 SQLite/t35012.12 小结/t35112.13 关键术语、复习题和习题/t35112.13.1 关键术语/t35112.13.2 复习题/t35112.13.3 习题/t352第六部分 嵌入式系统第13章 嵌入式操作系统/t35413.1 嵌入式系统/t35413.1.1 嵌入式系统概念/t35413.1.2 通用处理器和专用处理器/t35513.1.3 微处理器/t35513.1.4 微控制器/t35613.1.5 深度嵌入式系统/t35713.2 嵌入式操作系统的特性/t35713.2.1 主环境和目标环境/t35813.2.2 开发方法/t35913.2.3 适配现有的操作系统/t35913.2.4 根据目标建立的嵌入式操作系统/t35913.3 嵌入式Linux/t36013.3.1 嵌入式Linux系统的特性/t36013.3.2 嵌入式Linux文件系统/t36113.3.3 嵌入式Linux的优势/t36113.3.4 μClinux/t36213.3.5 Android/t36313.4 TinyOS/t36413.4.1 无线传感器网络/t36413.4.2 TinyOS的目标/t36513.4.3 TinyOS的组件/t36513.4.4 TinyOS的调度程序/t36713.4.5 配置示例/t36713.4.6 TinyOS的资源接口/t36913.5 关键术语、复习题和习题/t37013.5.1 关键术语/t37013.5.2 复习题/t37013.5.3 习题/t370第14章 虚拟机/t37214.1 虚拟机概念/t37214.2 虚拟机管理程序/t37414.2.1 虚拟机管理程序/t37414.2.2 半虚拟化/t37514.2.3 硬件辅助虚拟化/t37614.2.4 虚拟设备/t37614.3 容器虚拟化/t37714.3.1 内核控制组/t37714.3.2 容器的概念/t37714.3.3 容器文件系统/t37914.3.4 微服务/t38014.3.5 Docker/t38014.4 处理器问题/t38114.5 内存管理/t38214.6 输入/输出管理/t38314.7 VMware ESXi/t38414.8 微软Hyper-V与Xen系列/t38514.9 Java虚拟机/t38614.10 Linux VServer虚拟机架构/t38614.10.1 架构/t38714.10.2 进程调度/t38714.11 小结/t38814.12 关键术语、复习题和习题/t38814.12.1 关键术语/t38814.12.2 复习题/t38914.12.3 习题/t389第15章 操作系统安全技术/t39015.1 入侵者与恶意软件/t39015.1.1 系统访问威胁/t39015.1.2 应对措施/t39115.2 缓冲区溢出/t39215.2.1 缓冲区溢出攻击/t39215.2.2 编译时防御/t39415.2.3 运行时防御/t39615.3 访问控制/t39715.3.1 文件系统访问控制/t39715.3.2 访问控制策略/t39915.4 UNIX访问控制/t40215.4.1 传统UNIX文件访问控制/t40215.4.2 UNIX中的访问控制列表/t40315.5 操作系统加固/t40415.5.1 操作系统安装:初始安装与后续更新/t40415.5.2 删除不必要的服务、应用与协议/t40515.5.3 对用户、组和认证过程进行配置/t40515.5.4 对资源控制进行配置/t40515.5.5 安装额外的安全控制工具/t40615.5.6 对系统安全进行测试/t40615.6 安全性维护/t40615.6.1 记录日志/t40615.6.2 数据备份和存档/t40715.7 Windows安全性/t40715.7.1 访问控制方案/t40715.7.2 访问令牌/t40815.7.3 安全描述符/t40815.8 小结/t41015.9 关键术语、复习题和习题/t41115.9.1 关键术语/t41115.9.2 复习题/t41115.9.3 习题/t411第16章 云与物联网操作系统/t41316.1 云计算/t41316.1.1 云计算要素/t41316.1.2 云服务模型/t41416.1.3 云部署模型/t41516.1.4 云计算参考架构/t41616.2 云操作系统/t41816.2.1 基础设施即服务/t41916.2.2 云操作系统的需求/t42016.2.3 云操作系统的基本架构/t42016.2.4 OpenStack/t42416.3 物联网/t42816.3.1 物联网中的物/t42916.3.2 升级换代/t42916.3.3 物联网支持设备的组件/t42916.3.4 物联网和云环境/t42916.4 物联网操作系统/t43116.4.1 受限设备/t43116.4.2 物联网操作系统的要求/t43216.4.3 物联网操作系统架构/t43316.4.4 RIOT/t43416.5 关键术语和复习题/t43516.5.1 关键术语/t43516.5.2 复习题/t436附录A 并发主题/t437附录B 编程和操作系统项目/t446参考文献 /t450 上一篇: 五笔字型速查宝典(第2版) 下一篇: 国外计算机科学经典教材 软件测试的有效方法 第三版