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

讲述:陈晨

时长07:52大小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现金奖励

赞 5

提建议

上一篇
用户故事 | 操作系统发烧友:看不懂?因为你没动手
下一篇
结课测试 |这些操作系统的问题,你都掌握了么?
unpreview
 写留言

精选留言(11)

  • neohope
    置顶
    2021-08-25
    跟随东哥的课程一路走来,收获很多。25篇笔记,基本上两节课要记录一个笔记,这课程的知识密度确实够高。

    我觉得这个课程有几个很可贵的地方:
    1、用这么少的篇幅,把操作系统讲清楚,还要实战,真的难能可贵;
    2、每章最后的Cosmos与Linux对比,真的很精彩,每章的这一节也是读代码花时间最多的时候;
    3、把很多的知识点串起来了,让自己的知识体系更加完整了;
    4、实际上也彻底解答了好多个困惑,让一些模棱两可的知识点,终于清晰了;
    5、就算是网络、虚拟化、芯片这几个很大的题目,依然能够硬核到底,赞!

    此外,这个专栏,也是一定意义上圆了我一个操作系统的小梦想吧。
    虽然不是自己写OS,但相比之前也就是玩过LFS,看过很少部分的Linux源码的水平,感觉还是有一定进步的。

    感觉咱们课程的读者,其实有不少高手的,建议高手多发言,多给其他同学提供各类支持。
    对于卡在课程前半段的同学,后面容易很多,加油!坚持就是胜利!难以学到的知识,对自己提升也更有帮助。

    东哥最后决定去开源Cosmos,我觉得是一个很了不起的决定,支持!
    在这个略显浮躁的社会里,能沉下心来做技术的人,佩服!

    最后问下,东哥什么时候出新的专栏啊?我先预定啊
    展开

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

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

    作者回复: 谢谢 一起加油

    4
  • pedro
    2021-08-25
    眼前有景道不得,崔颢题诗在上头。


    我们,开源社区见吧~

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

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

    作者回复: 可以可以

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

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

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

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

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

    作者回复: 哈哈 加油

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

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

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

    作者回复: 哈哈

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

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

  • Cfunx
    2021-08-25
    学完打卡......
    展开

    编辑回复: 祝贺,学完体验如何呀

×
拖拽到此处
图片将完成下载