陈莉君

陈莉君的博客

她的个人主页  她的博客

重温经典(三)—操作系统

陈莉君  2009年11月27日 星期五 23:15 | 3368次浏览 | 32条评论

在我的操作系统课上,介绍操作系统的参考书时,我只提及 Tanenbaum 的书—《操作系统的设计与实现》和《现代操作系统》。

99 年与学生们一块啃《操作系统设计与实现》一书时,曾记得有诸多感叹、感悟还有释惑后的满足。汤子赢的《计算机操作系统》讲授多年后,那些枯燥的文字越发显得晦涩,并没有因为时间的推移而变得亲切起来,国内教材又都大同小异。于是,购得《国外计算机经典教材》系列中的《操作系统设计与实现》一书上下册,上册为原理以及对应代码的解释,下册为纯代码。代码在手,又配以细致的讲解,那些曾经抽象的文字以简洁的代码呈现在眼前,从中汲取的是原理、实现以及语言的灵活应用,一举几得。可是,并不是每个人都能坚持读下去,毕竟,一页页密密麻麻的文字加代码,若没有探究和执着的勇气,很可能半途把它束之高阁。但是想想尼采的话,还是咬牙坚持吧:

在你立足处深挖下去 ,

      就会有泉水涌出 !

      别管蒙昧者们叫嚷 :

    “下边永远是地狱 !

后来分析 Linux 内核的源代码,那些曾经停留在书本上的原理隐隐约约引导着我们朝着一个正确的方向分析下去。在那些原理的背后,蕴藏着大师们深思并慎密推理过的规律,当没有应用场景出现时,原理显得累赘而无用,当一行行代码呈现在眼前时,在其背后站着的依然是不倒翁 - 那些经典的原理。

国外的教材虽然经典,但文化差异造成文字表达上的异构。读毛德操的《 Linux 内核情景分析》,其通俗易懂和知识的透彻表达,恍然会让你喜欢上中文的口语化。照样是两大厚本,若你有恒心依旧,收获的不仅仅是对 Linux 内核的理解,还有与计算机相关的的方方面面的剖析。

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !
周海汉

回复 周海汉  2009年12月02日 星期三 14:00

大学的操作系统课程是枯燥而且脱节,希望有更具实践性的教材和系统。

0条回复

达伦王

回复 达伦王  2009年11月30日 星期一 09:57

顶尼采那句话,我喜欢

0条回复

杨福平

回复 杨福平  2009年11月28日 星期六 17:47

我是陈老师所述<操作系统设计与实现〉及其系列“国外计算机教材系列”的主要负责人之一。陈老师如此喜爱此书,使我们出版人感到温暖和欣慰。国内搞操作系统研究的人不少,但真正精通者寡,特别是全面地了解和精通一些大型的综合式操作系统的人更少。我们的教课书在处理器管理、多线程、多道、并行,特别在存储管理方面错误多多,甚至一些计算机等级考试命题委员会的专家也会在其官方教材及考题中出现一些低级的错误。
这迫切需要好的教材、好的教师、好的耕耘者和富有实践经验的实践者,需要那些已经掌握了操作系统核心技术的高手和牛人(可能太忙了)把自己的经验和知识拿出来,整体提高我国在操作系统研究和开发等方面的落后局面。

4条回复

  • centerqi

    回复 centerqi  2009年11月29日 星期日 12:45

    你们那些书确实搞的不错,好象现在有的书很少有更新了,计算机更新快,希望以后再看到你们的好书

    0条回复

  • 刘江

    回复 刘江  2009年11月29日 星期日 00:55

    杨总说得够具体的啊,这年头有这样的领导不容易。找机会就类似问题搞个座谈会?

    1条回复

      • centerqi

        回复 centerqi  2009年11月29日 星期日 12:43

        说的很对,那些所谓的研究者去那里开会,这里开会,有几个坐下来呆在实验室

        0条回复

  • 陈莉君

    回复 陈莉君  2009年11月28日 星期六 21:41

    在这个虚拟的环境下,见到了这么多怀有拳拳之心的人,大家一起努力吧。

    0条回复

centerqi

回复 centerqi  2009年11月28日 星期六 13:32

我现在每天都加班到很晚,但是还是每天都看点书

2条回复

太然

回复 太然  2009年11月28日 星期六 11:40

现在正在看这些书,只是总是静不下心,感觉有点不耐烦,因为要养家糊口还要学习。

1条回复

姚坚锋

回复 姚坚锋  2009年11月28日 星期六 10:43

钦佩,深入学习一样东西带来的快乐是无价的

0条回复

郎铁山

回复 郎铁山  2009年11月28日 星期六 09:11

梅延涛的关注和刘江的建议太重要了,我是做培训的,以上二位的见解和关注在教学中也是学员所关心的。
期望国内精通操作系统的工程师和精通教学的老师能够联合起来,出一本便于学习操作系统的课程体系,改变学生学习这些基础课程时候的痛苦现状。

另外听陈莉君老师说,国内每两年全国高校就会举办1次操作系统方面的研讨会,下一届应该在2011吧。感兴趣的朋友可以参加进去。

1条回复

梅延涛

回复 梅延涛  2009年11月28日 星期六 00:10

其实,我觉得操作系统的很多原理并不难理解,如果用一些生活中的事物来类比就更容易理解了,如电梯算法,死锁,鸵鸟策略等等。但是,难的是理解他们当初为何这么设计,如何设计各个模块之间的接口,以及使用那些晦涩而又高效的C代码实现之。

16条回复

  • alexpeng

    回复 alexpeng  2009年11月29日 星期日 23:12

    对了, 类比是个好主意. 比如学校里的课程表就是个scheduler, 食堂里就充斥着 queue, 呵呵. 按SICP作者Abelson和Sussman的说法, 计算机是用来 表示问题 和 解决问题的. 要能看到这些算法后面的问题,理解起来就很容易.

    3条回复

      • 达伦王

        回复 达伦王  2009年11月30日 星期一 09:56

        哈哈,好像类比反了吧?

        2条回复

          • alexpeng

            回复 alexpeng  2009年11月30日 星期一 18:32

            类比类比.

            一种是脑子里充满了算法但对应不到真实的问题, 一种是见到真实的问题不知道该如何表示,如何解决. 具体自己是什么样的, 各人就不同了.

            1条回复

              • 达伦王

                回复 达伦王  2009年11月30日 星期一 20:42

                我的意思是,你可以用现实生活中的某些场景来类比计算机系统里的概念,但用计算机系统里的概念来类比生活里的场景,个人感觉就有些反调了, 因为我认为,所有的计算机系统的概念,通常都是从生活里的某项场景受启发后引入的,呵

                0条回复

  • 张增波

    回复 张增波  2009年11月28日 星期六 22:02

    也许,需要从西方的工业文化和建筑文化中找到些东西,恕我妄言,那些文化我不懂,隐约感觉它们是操作系统设计的源头。

    0条回复

  • 陈莉君

    回复 陈莉君  2009年11月28日 星期六 09:32

    你说的很有道理,那些原理并不难理解。他们当初为何这样设计,这也是我一直想探究的问题,但是,这个问题一直纠结着我,当我把书的内容写出来后,发现所表达出来的还依然是对事实的陈述,后来想,也许,只有作者本人才能阐述清楚。或者,大家发起一些话题,追究下去,终会找到那些设计所蕴藏的来龙去脉

    3条回复

      • alexpeng

        回复 alexpeng  2009年11月29日 星期日 23:08

        其实"当初为什么这么设计",可真的就是见功夫了. Solaris kernel中的项目,在设计阶段,就要被相关部门的各个大牛持续地review和challenge.
        具体的coding, tuning,bug fixing都好办,但如何能有一个好的设计,往往是可遇不可求的. 不过第一步还是应该 代码分析 和 阅读, 分析得多了, 读得多了, 才能继续向前走.

        0条回复

      • 刘江

        回复 刘江  2009年11月28日 星期六 17:56

        现在即使是找某个设计的作者本人问设计原因,也是很有可能的。至少《程序员》杂志就经常有机会采访这些大牛。关键是把问题提出来

        1条回复

          • 陈莉君

            回复 陈莉君  2009年11月29日 星期日 10:42

            如果请到某方面的大牛,在此说一声,以便让精通某方面的人准备出一系列的问题。

            0条回复

  • 刘江

    回复 刘江  2009年11月28日 星期六 05:21

    这个话题很有价值。国内教和教过操作系统的老师很多,算上全世界的就更多了,核心的知识点有没有梳理过,哪些是最重要的,(对程序员设计一般应用程序而言)实战意义最大的,其中哪些又是比较好理解的,哪些是比较难掌握的,最好的解释方法是什么,这些问题有人在研究吗

    我的感觉,各学科最重要的课程和知识点,如果能像中小学教学研究那样搞出一些教学法来,那可是造福社会的大事情

    6条回复

      • 陈莉君

        回复 陈莉君  2009年11月28日 星期六 09:44

        在大学里,教师们被科研和论文压着,像操作系统这样的课程,能够把原理讲清楚的已经算好老师了。

        至于各学科最重要的课程和知识点,核心的知识点有哪些,哪些是最重要的,(对程序员设计一般应用程序而言)实战意义最大是什么,这些话题对于一直呆在学校而没有工程实践的教师,是力所不及的。如果有关心教育的企业、出版社以及学校联合起来,各自发挥自己的优势,也许才能真正做出些造福大家的事来。我所知道的像宫敏老师,毛德操老师那样,精通软硬件的大牛,他们是否有时间?

        5条回复

          • 刘江

            回复 刘江  2009年11月28日 星期六 18:01

            我想很多一线有一定经验积累的工程师也可以做其中某个方面或者某个知识点的。当然,宫老师和毛老师参与更好。宫老师很久没有见面了,不知近来可好。徐继哲该把宫老师和毛老师邀请到这里来嘛。

            0条回复

          • 周琦

            回复 周琦  2009年11月28日 星期六 11:17

            其实抛开教育制度的问题,
            这些人类积累下来的知识的学习本身也是非常有乐趣的,
            外有30多岁才开始学习计算机,结果坚持10年就能出书的案例(也是女教师);
            还有专心用4年,将Windows95 精简到30M 的中年大叔>...
            其实,环境好了不一定有成果,环境不论多恶劣,只要自个儿愿意,什么都可以钻研得出的

            3条回复

              • 周琦

                回复 周琦  2009年11月29日 星期日 10:57

                科技钻研,从来都不是利益驱动的
                都是领域尖端人物自个儿的玩乐,
                然后被二级技术人员实用化而已...
                工作是第一需求,学习是第一娱
                这才是共产社会!

                0条回复

              • 梅延涛

                回复 梅延涛  2009年11月29日 星期日 10:48

                ZQ大哥言之有理,我们可以发现,在科技方面,大部分成功者在真正成功之前,他们的经济目的都不是那么强烈——淡定,淡泊方能坚定,呵呵:)

                0条回复

              • 刘江

                回复 刘江  2009年11月29日 星期日 00:57

                其实学习和人生一样,应该是过程有趣,老想着结果,反而会一事无成。

                0条回复

暂时没有评论

Zeuux © 2024

京ICP备05028076号