极客时间已完结课程限时免费阅读

结束语 | 生活可以一地鸡毛,但操作系统却是心中的光

结束语 | 生活可以一地鸡毛,但操作系统却是心中的光-极客时间

结束语 | 生活可以一地鸡毛,但操作系统却是心中的光

讲述:陈晨

时长07:53大小10.82M

你好,我是 LMOS。
感谢你的一路相伴,我们的《操作系统实战 45 讲》专栏写到此处,你亦能学至此处,多半是出于兴趣,出于一种对操作系统的热爱,出于一种对事物本质发自内心的苛求……
如果是这样,请你永远保持这份心性,它会给你带来更多意想不到的结果。走到这里,也让我们先停住前进的脚步,回忆一下这一路走来都做了些什么事情,收获了什么,有什么让我们印象深刻的体会?
我作为 Cosmos 和《操作系统实战 45 讲》专栏这两大作品的作者先来开个头,跟你说说我自己的感受和体会,可以用两个“出乎意料”来表示。
第一个“出乎意料”,是课程出乎意料的难写。我之前写过书,也写过多个操作系统内核,更是做过业界重量级的傲腾项目,但是专栏之难,超过我之前做过所有的项目之难。
一开始,我也不明白为什么写专栏比写代码难?但经历了整个专栏的筹备、备稿、修改,一直到更新和答疑的各个环节,我才深刻地体会到这点。
我最初设计整个专栏的时候,就想兼顾宏观思路和细节实现,既带你领略操作系统的壮观风景,也能作为指导手册让你跟着我动手实现。但是写起来才发现,为了完成这两点,我实际花的时间跟精力,远远超过了预估。
写专栏,难就难在要用通俗的大白话,把复杂的操作系统“讲”出来,而不只是写出来;难就难在细节与重点的把握和梳理。如果只有细节,就难以体现出重点。可是如果只有重点思路,我又担心内容会让你觉得过于抽象;难就难在,我要交付的对象,不再是编译器,而是各个不同思想层次、不同思维方式的人。
第二个“出我意料”,是出我意料的“热”。我搞了很多年的操作系统,感觉操作系统在整个行业之中非常冷,操作系统之冷,是那种高处不胜寒的“冷”,是学校老师都只愿意从理论上一笔带过的“冷” ,是互联网时代的创新企业无法触及,也不敢触及的“冷”。
但是出我意料的是,专栏刚刚上线不久就引起了业界广泛关注,其热度超出了我的想像。我以为在业务为王的今天,很少有人会关注这么底层的操作系统。不得不说,这些关注从侧面说明了操作系统在各从业人员心中的重要性,同时也说明了我们对亲手实现一个操作系统这件事充满好奇。
前面这些是对专栏的体会和感受,下面我想谈一谈写 Cosmos 的感受。相信看过专栏的同学,对操作系统工程之浩大,代码之精微,都有了深切的体会和认知。说开发成熟操作系统之难,难于上青天,这绝不是夸张和开玩笑。
在互联网时代,我可能比围观的同学更清楚,不能基于功利的目的去开发 Cosmos,在今天它无法直接给我们产生价值,我开发 Cosmos 是基于兴趣,是对技术的探索和追求。我就是那种人——生活可以一地鸡毛,但操作系统却是心中的光。
Cosmos 断断续续开发很多年,几次推倒重来,正是在这种一次次重构之下,摸索、总结,才设计出了今天 Cosmos 的架构。很多代码要反复测试验证,对于没有达到预期的代码,我需要对其算法进行分析,找出原因。
Cosmos 的调试是最难的,往往需要查找其文件的反汇编代码,然后一条一条对比,在脑中模拟指令的执行过程和结果,并发现隐藏其中的 Bug,这些都是极其烦琐的事情。不瞒你说,我也会一个 bug 卡好几天,感觉写内核仿佛是一场“法事”,一个人念咒、画符,请神跳舞……可以说,若没有“爱”的加持,真的很难坚持下来。
其实,我们写专栏的顺序正是我开发 Cosmos 过程的顺序,只有这样,才能把我的经验原样分享给你们。
因为我就是从 Hello World 应用程序开始,探索计算机是如何运行一个应用程序的,进而一步步了解了操作系统内核中的所有组件,在心中建立了一个现代操作系统内核的模型。
因为操作系统内核必须要运行在具体的计算平台上,所以我研读了大量的芯片手册,并且着重了解了其中 CPU 和内存的细节。接着,我又学习了编译工具集。有了这些基础,我开始写引导器和初始化代码,逐步实现了内存管理、进程调度、设备 I/O、文件系统、网络和若干设备驱动程序,最后实现了系统调用和应用程序库。
虽然这些组件比成熟的操作系统内核中的组件简单得多,但实现的都是最关键、最核心、最必要的功能机制,简小而全面一直是我的思想,而这也正是我们这些操作系统初学者想要的。
我们的专栏虽然结束了,但是我们的 Cosmos 才刚刚开始。不知道你是否也在思考,我们亲自建造的 Cosmos,为什么没有强大的文件系统和网络组件,为什么没有精美且高性能的图形界面,为什么没有工业级的安全性?
如果你真的在思考、在好奇,如果你真的有兴趣,还想继续探索,我真诚地希望你能再次阅读更多的书籍,或者借助万能的互联网,去搜寻资料,去寻找答案。
相信以这份好奇和兴趣为动力,必定会从一无所知,到知道一点点,再到知道一部分,慢慢地积累,也许有一天你会惊奇地跳起来,用尽全身力气喊出来:“原来我也能了”,“我真的能了”!
到了那一天,想必我们也已经有了全新的开始,那一定将是真正具备创造性的开始。
如果你愿意,也可以加入我们的Cosmos 开源社区,让我们再续前缘,一起开发 Cosmos 操作系统,让我们一起开始创造性的工作。
Cosmos 开源社区以 Cosmos 的“Ψ(Psi)”架构为基础进行展开,Ψ(Psi) 内核架构有别于微内核、宏内核、混合内核,它吸收了其它内核架构的优势,完全摒弃了其它内核架构的劣势,这就导致了现有的硬件架构体系,不适应运行这样的 Cosmos。
为此,我们将以 RISCV 处理器为基础进行扩展,形成“Ψ(Psi)”架构的 RISCV 处理器,这个处理器将成为运行 Cosmos 特有的处理器,同时这个“Ψ(Psi)”架构的 RISCV 处理器也会开源,形成硬件、软件双开源的方式,欢迎各方勇士加入,一起迎接挑战,一起开创 IT 新纪元。
也许有一天,人们会用着我们建造的操作系统,在我们自己设计的计算机上,听着杜比级别的音乐、看着 4K 画质的高清电影、玩着如梦如幻的 3D 游戏、和远方的恋人进行视频通话、进行超大规模的科学计算、处理着海量级的网络数据……
但是别忘了,这仅仅是因为我们最初那一点点求知欲和兴趣……
虽然暂时需要告别,但我期待后会有期。感谢 3 个多月的同行,真心希望我的专栏对你有所帮助。
我知道,很多同学总是默默潜水,默默学习。所以在专栏即将结束的今天,我希望听听你学习这个专栏的感受。这里我为你准备了一份毕业问卷,题目不多,希望你可以花两分钟填一下。
分享给需要的人,Ta购买本课程,你将得20
生成海报并分享

赞 17

提建议

上一篇
用户故事|艾同学:路虽远,行则将至
下一篇
结课测试 |这些操作系统的问题,你都掌握了么?
unpreview
 写留言

精选留言(21)

  • neohope
    置顶
    2021-08-25
    跟随东哥的课程一路走来,收获很多。25篇笔记,基本上两节课要记录一个笔记,这课程的知识密度确实够高。 我觉得这个课程有几个很可贵的地方: 1、用这么少的篇幅,把操作系统讲清楚,还要实战,真的难能可贵; 2、每章最后的Cosmos与Linux对比,真的很精彩,每章的这一节也是读代码花时间最多的时候; 3、把很多的知识点串起来了,让自己的知识体系更加完整了; 4、实际上也彻底解答了好多个困惑,让一些模棱两可的知识点,终于清晰了; 5、就算是网络、虚拟化、芯片这几个很大的题目,依然能够硬核到底,赞! 此外,这个专栏,也是一定意义上圆了我一个操作系统的小梦想吧。 虽然不是自己写OS,但相比之前也就是玩过LFS,看过很少部分的Linux源码的水平,感觉还是有一定进步的。 感觉咱们课程的读者,其实有不少高手的,建议高手多发言,多给其他同学提供各类支持。 对于卡在课程前半段的同学,后面容易很多,加油!坚持就是胜利!难以学到的知识,对自己提升也更有帮助。 东哥最后决定去开源Cosmos,我觉得是一个很了不起的决定,支持! 在这个略显浮躁的社会里,能沉下心来做技术的人,佩服! 最后问下,东哥什么时候出新的专栏啊?我先预定啊
    展开

    作者回复: 谢谢 你的认鼓励 有缘江湖再见

    25
  • pedro
    2021-08-25
    眼前有景道不得,崔颢题诗在上头。 我们,开源社区见吧~

    作者回复: 好的,开源社区键、键、键

    7
  • 卢承灏
    2021-08-28
    引用另一个专栏的原文:“开发者们做了种种努力,精心设计。我自己每次看,都会被这种匠心和精益求精的精神打动。” ,完美诠释此刻我的心情。

    作者回复: 哈哈

    4
  • 森林
    2021-08-25
    莫愁前路无知己,天下谁人不识君。

    作者回复: 谢谢 一起加油

    4
  • 青玉白露
    2021-08-25
    从我第一次接触计算机,操作系统的秘密就是我想要了解的东西。 感谢Lmos老师的课程,之后开源社区再见!

    作者回复: 可以可以

    3
  • Fan
    2021-08-25
    “别忘了,这仅仅是因为我们最初那一点点求知欲和兴趣……“ 一路跟来,跌跌撞撞。课程很硬核,中间跳过了很多看得不太懂的地方。😓 希望后面二刷能再懂一点点。

    作者回复: 哈哈 加油

    2
  • 凉人。
    2021-08-25
    生活可以一地鸡毛,但操作系统却是心中的光

    编辑回复: 共勉共勉,希望课程让你不虚此行。

    3
  • 相逢是缘
    2021-08-25
    “这个“Ψ(Psi)”架构的 RISCV 处理器也会开源,形成硬件、软件双开源的方式” 这个硬件也可以搞个专栏啊,订阅订阅!

    作者回复: 哈哈 以后再说咯

    2
  • 我是新手ABC
    2022-06-06
    Mark,打卡~,趁着疫情隔离在家的两个月时间,学完了这门课程,收获颇多,感触颇多。感谢东哥认真的分享~

    作者回复: 哈哈 感谢支持

  • 灿坚
    2022-05-18
    本着兴趣来看的,原本不见得能全部看完,但是看着看着就越发被吸引住了,最后全部看完了。

    作者回复: 66666

    1
  • hdhwjjs
    2021-12-19
    这节课我看到最后突然有泪目的感觉,我不知道是不是每一位从课前必读开篇词开始,一课一课跟下来,完成全部课程学习的同事在开LMOS东哥的这篇课程时内心深处是否也有那么一点点小触动。 特别是,课程最后突然响起的那段背景配乐,更是将情绪带向一个新的高点。 写专栏比写代码更不容易,这一点我能体会到,关键是,东哥能把枯燥机械的代码,特别是高深莫测的操作系统的专栏,写到像我这样“三零基础”的学员都能啃完这45课,那对于大部分有过编程基础,或者是有兴趣学习这门课程的学员来说,只要真的投入时间认真学习完整课程,都会有自己的那一份收获,学完后,在操作系统和编程领域,可以找到自己新的定位和下一步学习、发展方向。 这其中,我觉得非常重要的是,东哥真的是非常用心的,毫无保留的,且有意愿努力的把他这份多年深厚积累的操作系统知识体系分享给更多愿意学习这方面的同学、朋友、伙伴。 编程一直是我内心深处的一份热爱,在工作学习中也曾经闪现过想要自己动手做自己工作中需要使用的程序,但一直被编程技术这关挡在门外。我不敢说学完这个课程后,我一定会去成为编程高手去写出自己需要的程序。但有一点我是确定的,那就是东哥的这个课程学完,让我在认知层面有了更高的高度,通过学习我也对自己在那方面需要进一步学习,有了一个深入的了解,从东哥和大神们的分享中,我也了解到搭建自己知识体系的重要性,以及如何去搭建知识体系的方法,这一点是我接下来的学习、工作中可以直接拿来应用的。 没有功利心的分享,在整个课程中处处能深切感受到,包括课程和学习群里遇到的编辑小姐姐,和课后留言区里精选留言的大神们。 以上是一位“三零基础”学员的课程学习感受。
    展开

    作者回复: 谢谢,希望能帮到你

    1
  • 青鹿
    2021-08-25
    最后一章,我居然又看懂了……

    作者回复: 哈哈 正文下功夫也能看懂

    1
  • InfoQ_26bac4f3cbd8
    2021-08-25
    你是电,你是光,你是我以后学习的方向😃

    作者回复: 哈哈

    1
  • acm1204
    2022-07-11
    东哥,github上的Cosmos在x86下可以运行起来吗?

    作者回复: 可以的

  • ifelse
    2022-03-05
    第一遍粗略过完,代码基本略过

    编辑回复: 加油,二刷可以多深研一下代码了~

  • Ivan.Qi
    2021-12-11
    课程之前略略过了一遍,终于代码也梳理了一遍。花了很长时间

    作者回复: 感觉如何

  • 可怜大灰狼
    2021-09-18
    从《趣谈Linux操作系统》看了一圈又回来,感受到东哥讲的是真简单,实际上跑一个简易的操作系统不是像linux那样复杂。

    编辑回复: 《操作系统实战45讲》里的Cosmos,你能跑起来也很厉害哦,加油。

  • 云师兄
    2021-09-08
    完成了多年夙愿,感谢啊!

    作者回复: 哈哈

  • 可怜大灰狼
    2021-09-05
    记得报名时已有1w2左右的人数,想不到自己最后竟然是第77位完成闯关。谢东哥。

    作者回复: 厉害了

  • 千无
    2021-08-25
    还没学完,先打个卡。生活可以一地鸡毛,但真理是心中的光。路漫漫其修远兮,吾将上下而求索

    编辑回复: 好的,加油,期待你学完以后,再来留言呀~