操作系统导论
作者:[美] 雷姆兹·H.阿帕希杜塞尔( Remzi H. Arpaci-Dusseau), [美]安德莉亚·C.阿帕希杜塞尔(Andrea C. Arpaci-Dusseau)
译者:王海鹏
image- 美国知名操作系统教材
- 紧紧围绕操作系统的三大主题元素:虚拟化 并发和持久性进行讲解
- 豆瓣原版评分9.7
本书围绕虚拟化、并发和持久性这三个主要概念展开,介绍了所有现代系统的主要组件(包括调度、虚拟内存管理、磁盘和I/O子系统、文件系统)。全书共50章,分为3个部分,分别讲述虚拟化、并发和持久性的相关内容。作者以对话形式引入所介绍的主题概念,行文诙谐幽默却又鞭辟入里,力求帮助读者理解操作系统中虚拟化、并发和持久性的原理。
本书内容全面,并给出了真实可运行的代码(而非伪代码),还提供了相应的练习,很适合高等院校相关专业的教师开展教学和高校学生进行自学。
本书具有以下特色:
● 主题突出,紧紧围绕操作系统的三大主题元素——虚拟化、并发和持久性。
● 以对话的方式引入背景,提出问题,进而阐释原理,启发动手实践。
● 包含众多“补充”和“提示”,拓展读者知识面,增加趣味性。
● 使用真实代码而不是伪代码,让读者更加深入透彻地了解操作系统。
● 提供作业、模拟和项目等众多学习方式,鼓励读者动手实践。
● 为教师提供教学辅助资源。
本书为教师提供如下教学辅助资源:
- 教学PPT和听课笔记。
- 考试题和参考答案。
- 讨论题和作业。
- 项目说明和指导。
如果您是教师,希望获得教学配套资源,请发邮件到contact@epubit.com.cn申请。
【京东购买】【当当购买】
目录结构
内容提要
前言
资源与支持
第1章 关于本书的对话
第2章 操作系统介绍
第1部分 虚拟化
第3章 关于虚拟化的对话
第4章 抽象:进程
第5章 插叙:进程API
第6章 机制:受限直接执行
第7章 进程调度:介绍
第8章 调度:多级反馈队列
第9章 调度:比例份额
第10章 多处理器调度(高级)
第11章 关于CPU虚拟化的总结对话
第12章 关于内存虚拟化的对话
第13章 抽象:地址空间
第14章 插叙:内存操作API
第15章 机制:地址转换
第16章 分段
第17章 空闲空间管理
第18章 分页:介绍
第19章 分页:快速地址转换(TLB)
第20章 分页:较小的表
第21章 超越物理内存:机制
第22章 超越物理内存:策略
第23章 VAX/VMS虚拟内存系统
第24章 内存虚拟化总结对话
第2部分 并发
第25章 关于并发的对话
第26章 并发:介绍
第27章 插叙:线程API
第28章 锁
第29章 基于锁的并发数据结构
第30章 条件变量
第31章 信号量
第32章 常见并发问题
第33章 基于事件的并发(进阶)
第34章 并发的总结对话
第3部分 持久性
第35章 关于持久性的对话
第36章 I/O设备
第37章 磁盘驱动器
第38章 廉价冗余磁盘阵列(RAID)
第39章 插叙:文件和目录
第40章 文件系统实现
第41章 局部性和快速文件系统
第42章 崩溃一致性:FSCK和日志
第43章 日志结构文件系统
第44章 数据完整性和保护
第45章 关于持久的总结对话
第46章 关于分布式的对话
第47章 分布式系统
第48章 Sun的网络文件系统(NFS)
第49章 Andrew文件系统(AFS)
第50章 关于分布式的总结对话
附录A 关于虚拟机监视器的对话
附录B 虚拟机监视器
附录C 关于监视器的对话
附录D 关于实验室的对话
附录E 实验室:指南
附录F 实验室:系统项目
附录G 实验室:xv6项目
与操作系统导论对话
教授:
欢迎阅读这本书,本书英文书名为《Operating Systems:Three Easy Pieces》,由我来讲授关于操作系统的知识。请做一下自我介绍。
学生:
教授,您好,我是学生,您可能已经猜到了,我已经准备好开始学习了!
教授:
很好。有问题吗?
学生:
有!本书为什么讲“3个简单部分”?
教授:
这很简单。理查德·费曼有几本关于物理学的讲义,非常不错……
学生:
啊,是《别闹了,费曼先生》的作者吗?那本书很棒!这书也会像那本书一样搞笑吗?
教授:
呃……不。那本书的确很棒,很高兴你读过它。我希望这本书更像他关于物理学的讲义。将一些基本内容汇集成一本书,名为《Six Easy Pieces》。他讲的是物理学,而我们将探讨的主题是操作系统的 3 个简单部分。这很合适,因为操作系统的难度差不多是物理学的一半。
学生:
懂了,我喜欢物理学。是哪3个部分呢?
教授:
虚拟化(virtualization)、并发(concurrency)和持久性(persistence)。这是我们要学习的 3 个关键概念。通过学习这 3 个概念,我们将理解操作系统是如何工作的,包括它如何决定接下来哪个程序使用CPU,如何在虚拟内存系统中处理内存使用过载,虚拟机监控器如何工作,如何管理磁盘上的数据,还会讲一点如何构建在部分节点失败时仍能正常工作的分布式系统。
学生:
对于您说的这些,我都没有概念。
教授:
好极了,这说明你来对了地方。
学生:
我还有一个问题:学习这些内容最好的方法是什么?
教授:
好问题!当然,每个人都有适合自己的学习方法,但我的方法是:首先听课,听老师讲解并做好笔记,然后每个周末阅读笔记,以便更好地理解这些概念。过一段时间(比如考试前),再阅读一遍笔记来进一步巩固知识。当然老师也肯定会布置作业和项目,你需要认真完成。特别是做项目,你会编写真正的代码来解决真正的问题,这是将笔记中的概念活学活用。就像孔子说的那样……
学生:
我知道!“不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之。”
教授:
(惊讶)你怎么知道我要说这个?
学生:
这样似乎很连贯。我是孔子的粉丝,更是荀子的粉丝,实际上荀子才是说这句话的人。
教授:
(愕然)我猜我们会相处得很愉快。
学生:
教授,我还有一个问题,我们这样的对话有什么用的。我是说如果这仅是一本书,为什么您不直接上来就讲述知识呢?
教授:
好问题!我觉得有的时候将自己从叙述中抽离出来,然后进行一些思考会更有用。这些对话就是思考。我们将协作探究所有这些复杂的概念。你是为此而来的吗?
学生:
所以我们必须思考?好的,我正是为此而来。不过我还有什么要做的吗?看起来我好像就是为此书而生。
教授:
我也是。我们开始学习吧!
对话看完,想知道这本书什么时间上架吗?预计明后天就可以在京东、当当买到了。如果着急,可以移步异步社区官方购买。
网友评论