Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

关于本书的对话

教授: 欢迎来到这本书!它的名字叫《操作系统三大易解篇章》(Operating Systems: Three Easy Pieces),而我会在这里教你那些你需要了解的操作系统知识。你可以叫我“教授”;你又是谁呢?

学生: 你好,教授!正如你大概已经猜到的那样,我叫“学生”。我已经到场,并且准备好开始学习了!

教授: 很好。有什么问题吗?

学生: 当然有!为什么它要叫“三个简单部分”呢?

教授: 这个问题很简单。你看,Richard Feynman 曾经讲过一些非常棒的物理学课程……

学生: 哦!就是那个写了《别闹了,费曼先生》的家伙,对吧?那本书超棒!这本书也会像那本书一样好笑吗?

教授: 呃……这个嘛,不会。那本书确实很棒,我也很高兴你读过它。不过我更希望这本书像他写的那些物理学讲义。其中有些基础内容后来被整理成了一本叫《六个简单部分》的书。他讲的是物理学;而我们要讲的是操作系统这个美妙主题的“三个简单部分”。这也挺合适,因为操作系统大概只有物理学一半那么难。

学生: 嗯,我挺喜欢物理,所以这听起来应该不错。那么,这三个部分分别是什么?

教授: 它们就是我们将要学习的三个核心思想:虚拟化(virtualization)并发(concurrency)持久性(persistence)。在学习这些思想的过程中,我们会了解操作系统是如何工作的:包括它如何决定接下来让哪个程序在 CPU 上运行;它如何在虚拟内存系统中处理内存超载;虚拟机监视器是如何工作的;磁盘上的信息该如何管理;甚至还会稍微谈一点,当系统某些部分失效时,怎样构建一个仍然能正常工作的分布式系统。大概就是这些内容。

学生: 老实说,我完全不知道你在说些什么。

教授: 很好!这说明你来对课了。

学生: 我还有一个问题:学习这些内容最好的方式是什么?

教授: 问得好!当然,每个人都得自己摸索最适合自己的方法;不过如果是我,我会这样做:先去上课,听教授介绍这些内容。然后,每周结束时读一遍这些讲义,让这些思想更好地沉淀到你的脑子里。当然,过一段时间之后(提示:考试前!),再把讲义读一遍,进一步巩固你的理解。你的教授肯定还会布置一些作业和项目,所以这些你也应该认真做;尤其是那些需要你编写真正的代码来解决真实问题的项目,它们是把这份讲义中的思想真正付诸实践的最佳方式。正如孔子所说……

学生: 哦,这句我知道!“我听见了就会忘记;我看见了就会记住;我做过了就会理解。”大概是这么说的吧。

教授: (惊讶)你怎么知道我正要说什么?!

学生: 很顺理成章啊。而且,我是孔子的忠实粉丝;不过我更喜欢荀子,因为这句话其实更有可能出自他。1

教授: (震惊)嗯,我觉得我们一定会相处得很愉快的!一定会的。

学生: 教授——如果可以的话,我还有最后一个问题。这些对话到底是干什么用的?我的意思是,这不就是一本书吗?为什么不直接讲内容,而要这样对话式地呈现呢?

教授: 啊,好问题,好问题!有时候,暂时从一条连续的叙述中抽离出来,停下来想一想,是很有帮助的;这些对话就是为这种时刻准备的。所以,你和我会一起努力,把这些相当复杂的思想理清楚。你准备好了吗?

学生: 所以我们还得思考?好吧,这我倒愿意。我是说,反正我还能干什么呢?我在这本书之外也没什么精彩的人生可过。

教授: 可惜,我也一样。所以,我们开始干活吧!


  1. 根据这个网站的说法:http://www.barrypopik.com/index.php/new_entry/tell_me_and_i_forget_teach_me_and_i_may_remember_involve_me_and_i_will_lear/,儒家思想家荀子曾说过:“不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之。”后来,不知为何,这句话被归到了孔子名下。感谢 Jiao Dong(Rutgers)告诉我们这件事。