编辑手记 | 升级认知,迭代自己的操作系统
下载APP
关闭
渠道合作
推荐作者
编辑手记 | 升级认知,迭代自己的操作系统
2021-09-10 宇新 来自北京
《操作系统实战45讲》
课程介绍
讲述:宇新
时长12:55大小11.80M
你好,我是宇新,《操作系统实战 45 讲》的专栏编辑。
除了负责更新课程里的内容,我也一直关注着小伙伴们的留言。这次,终于有机会自己也留一回言了,很开心能用编辑手记的方式,和你聊一聊我的想法。
这门课的独特之处
细心的小伙伴可能发现了,我们的开篇词标题是“为什么要学写一个操作系统?”注意,不只是学操作系统,而是学着去“写”一个操作系统。
你可能还会想,平时我们接触不到的“黑盒子”,现在却要我们自己写代码实现,听起来很有挑战啊?为什么会这样设计呢,且听我慢慢道来。
操作系统博大精深,甚至每个子模块单拿出来讲,都有无数的知识点,太容易只见树木不见森林。但用一个实战项目连起来的话,就能很好地帮助我们聚焦关键问题。
看似“写”操作系统,这是把难度升级了,其实是为了控制我们的作战范围。写操作系统的时候,涉及哪些关键要点,我们就相应地学习研究这部分内容。
现在成熟的操作系统,像是 Linux 系统,它的源码量级已是今非昔比,我们去看源代码总会晕头转向。但老师的课程像是一条线,把实战需要的东西都展示出来,想要深入研究的同学建议对照查漏补缺,然后继续跟着课程走,这样才能实现“螺旋式”进步。
如果你也喜欢玩游戏的话,估计有这样的体验,把游戏调成了无敌模式,很容易就会索然无味。没错,有挑战的游戏才好玩。有时候卡在某一处确实很痛苦,但是突破以后也会爽。你不妨把自己当作玩家,去攻克一个个操作系统的关卡。当然了,你也不是孤军奋战,遇到疑问,还可以通过学习、交流和讨论去解决。
怎样学习这门课
课程上线以后啊,LMOS 老师跟我都在关注大家的留言反馈。
学习这门课的同学身份各异,从学生党到已经退休的朋友都有,但共同特点就是对操作系统充满热情,因为这样一个专栏而结缘。无论是在课程交流群,还是课程留言区里,这两个疑问算是高频出现的。
学习这门课,我需要什么前置知识?
某个问题 / 知识点好难啊,我该怎么办?
这里我就从编辑的视角说说我的看法吧。
先说第一个问题,需要什么基础。我一直在琢磨这个问题背后的含义。同学们的水平参差不齐,有畏难心理这很正常,你学习课程的时候,其实是明确了自己哪里“不会”,换个角度想,这样学习的时候不就能有的放矢了么?
不少同学担心自己不是科班出身,其实 LMOS 也不是科班出身的,这些历史问题还是翻篇更好,你过去怎么样,并不代表你之后不可以学习、研究操作系统。而且,就算是计算机相关专业的同学,可能学生时代上的操作系统课程也没留下特别深刻的印象,考完试就还给老师的,也大有人在。
现在还没有看完的同学也不要着急,因为更新的速度肯定要比你们的学习速度快上不少。你需要做的是按照课程顺序持续学习,慢慢来,遇到不懂的,就多看几篇,多看几遍。
课代表陈诚同学说过一句话,我记得特别深,他是这么说的:
“其实,我觉得我们想学写操作系统,有时候是为了一碟醋包了一顿饺子,但是最终饺子是自己的了。”
我注意到有不少小伙伴为了打牢基础,为了跟上课程,去补充了汇编、C 语言,以及计算机组成原理方面的知识,我要给这些人点赞。
但是,就算你没有把那些图书从头看到尾,其实也同样可以跟着课程,循序渐进地学习。建议你边学边练,动手跑起来。哪怕最初你只能复制老师给的配套代码,但是只要肯用心,也会对操作系统有更深的理解。与其苦恼于自己基础不行,不如踏踏实实去学习精进。
为了让你明确每个模块的内容重点和难易程度,我为你整理了一张表格,你可以做个参考。
如果你还是想把操作系统的相关资料也都一并啃下来,那可以看看 LMOS 提供的参考书单,在学有余力的情况下拓展阅读。
4. 关于汇编:《汇编程序设计》;
6. 关于操作系统:《操作系统设计与实现》。
如果你想参考优秀课代表的学习经验与方法,可以参考后面这些用户故事。
下面我再说说第二个问题,当你具体学习的时候,觉得某个知识点很难,应该怎么办?对于这个问题我想给你分享三个小建议。
第一个建议就是做好心理建设。
就拿不少同学都觉得头疼的内存管理来说吧。其实当时我在看这部分稿件的时候,也觉得压力山大。记得当时 LMOS 老师还鼓励我说,挺过去就好了。现在你看到的内存章节,其中 16~18 讲原先是一整块的内容,我们经过讨论优化,考虑让大伙儿更容易跟上,才拆分细化成了三节课。
内存是内核的内核,肯定很难。不过就像英语单词不能永远背到“abandon”一样,想要深入地探索操作系统,这关必须迎难而上。
古语说,不积跬步无以至千里。你可能会怀疑自己,但不必过度焦虑。如果咱们因为差距过大,而陷入弃疗状态,那就太可惜了。哪怕是“大佬”,也曾有萌新时期,基础不好就慢慢跟进。
第二个建议就是明确自己的需求,按需学习。
虽然没有什么“跳关”秘籍,但还是有些技巧让你快速掌握一节课内容的。没错,就像数据结构一样,每节课也有“内容结构”,想要快速消化,可以着重理一理后面这几点:
这个模块 / 这节课要解决什么问题(What)
思路是什么 / 为什么要这么解决(Why)
具体如何用代码实现(How)
你还可以自己动手用流程图画一下(pedro 同学推荐了此方法,你可以试试绘图工具 Graph-Easy),这样不容易迷路。
当然,如果你已经有不少的学习积累,或者目的不在于“全景浏览”和“扫盲”,而是想要更加深入,那你必然要花费更多苦工。操作系统是星辰大海,建议以你困惑的问题为导向,进行专项突破。
我的第三个建议是,积极交流,在反馈和记录中激励自己。
虽然学习方法重要,但我们也不要沉迷于把时间消耗在“找方法”上。很可能“优质方法”给你节省的时间,还赶不上你在找方法这件事上花掉的时间。
除了多交流,我也强烈推荐你学习留痕,把你的阶段性学习成果、经验记录下来,这些都能激励自己坚持学习。都说闻道有先后,术业有专攻。百科全书式的人毕竟是少数,但爱学习的小伙伴总会遇到志同道合的朋友。
今天的提问者,也许明天就有能力给别人解答问题了,这就是教学相长。我们的助教 Jason 提到:
“教别人是个沟通的过程,各种感官都会调度起来。调度越多,大脑参与理解记忆的部分就越多,以后回忆起来,搜索路径就越多。光看的话,只是眼睛。这跟实践出真知,道理类似。”
古语有云“读书有三到:谓心到,眼到,口到。”有了主动输出,可以带动你整理自己的理解,还锻炼了表达沟通能力,一举多得。
总之,你可以把这个专栏作为导航,但驾驶位你必须自己坐。临渊羡鱼,不如退而结网,坚持学习和实践,相信你会不虚此行。
1 号用户的独家体验
说了这么多,最后我还想说说做这门课的感受。从 5 月 10 日上线到现在,这个专栏已经伴随你 3 个月的时间了。不过,作为享受了抢先阅读福利的编辑,我这个 1 号用户跟这个专栏共度的时间要更久一些,算上专栏的前期沟通、筹备、打磨这些环节一共 8 个月。
记得 LMOS 跟我说过,当年他写书的时候,用了 13 个月写完了 22 万字,而专栏里只算课程内容文字就超过了这个数字,但我们却是用了 8 个月跑完了这场“马拉松”。当然,老师的工作量远不止这些,就比如 Cosmos 配套代码的设计跟实现,同样是一个极具挑战的大工程。
说句题外话,LMOS 兴趣广泛,爱好文学、音乐。日常写代码之余,他还会拍各种好看的照片(能当壁纸的那种),还是一个被代码“耽误”的摄影师。
但是他一旦进入工作状态,就会非常负责。操作系统的知识体量很大,为了把内容讲得更清楚,就需要老师花很多功夫对内容反复修订。除了对内容品质的高要求,老师也非常乐意回应大家的问题,在课程交流群里也很活跃。
LMOS 身体力行地给我上了一课,我确实被他的热情打动了,也希望这份热情能够通过专栏传递给你。
“保持中立,务实求真,对比之下,方见真章。”
这让我发现,学习就是我们把自己当作一个“操作系统”,保持理性,客观公正,而且要不断优化自己对外界信息的整合能力,升级自己的思考方式。
知识不懂,借助搜索工具就能较快填补,但思维方式的迭代,还有经验洞见的积累,却需要长时间的努力。课程更新结束了,但我们的学习之旅还很漫长。升级认知,迭代自己的操作系统,这需要长期坚持。
分享给需要的人,Ta购买本课程,你将得20元
生成海报并分享
赞 111
提建议
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
上一篇
开篇词 | 为什么要学写一个操作系统?
下一篇
01 | 程序的运行过程:从代码到机器运行
精选留言(17)
- LockedX2021-09-22666,满分作文
编辑回复: 哈哈哈,感谢你的鼓励啊,这个专栏交付下来让我成长很多。真心希望这个专栏对你有帮助,加油加油!
17 - 功夫熊猫2022-01-15为考研准备,书是看懂了,但感觉还是啥都没会。要不是专业课要考,我才不学呢,哼
编辑回复: 你先想想看自己的学习优先级哈。另外说一下,操作系统专栏里的内容,更重在演示如何写操作系统,设计与实现操作性系统的思路、方法,不一定匹配考研考理论知识的需求。
共 3 条评论2 - 糊涂娃2022-07-05做了应用开发八年. 操作系统是心中的易筋经,是时候啃了. 感谢老师们的付出. 课程很好👍
作者回复: 感谢支持
1 - doos2022-04-15我买了倪鹏飞的性能优化课程,但是里面很多内容看的比较费劲,虽然看了很多遍了,但是仍然有不懂的地方,所以我来补补底层系统级别的知识
编辑回复: 加油哦,这门课也有点“硬”,需要耐心,加油,希望对你有帮助~
1 - wang_acmilan2021-12-27购买的很早,一直没有下定决心学习起来。 先动起来再说,哪有说一学就学会并掌握很好的知识。 “为了一包醋,包了饺子;最后饺子是自己的” 这个留言太形象了。
编辑回复: 说了这么多你就记住了饺子么……哈哈,加油吧兄弟,有疑问欢迎留言区讨论。
1 - 李建飞2023-01-20 来自山西买了好久了,开始打卡学习
编辑回复: 期待后面留言区里看到你的更多笔记或提问!
- kingnk2022-11-30 来自湖北现在学校在上操作系统的课,发现自己真的蛮有兴趣的,但学校老师讲的实在是一言难尽,无法实战,真心希望能够通过这门课学习后手写一个简单操作系统!!
作者回复: 多看几遍 就会了
- 图·美克尔2022-10-25 来自北京我都不知道买了几年了,我以为我买了就是学了,结果不是,老老实实回来看
编辑回复: 哈哈哈哈,买的是入场券,知识没法自行剪切复制到脑袋里,需要辛苦老铁亲自学习啦。 21年5月上线,如果你是刚上线就买了,那就是1年零5个月。 总之欢迎回归,继续努力。
- 砥砺奋进2022-07-21加油加油,一季二季争取都啃下来
作者回复: 加油
- Silver heard2022-06-20真的买了好久了,假期到了,好好学习一下
编辑回复: 加油!期待你后面在留言区里提问、打卡~
- Le.Leon2022-06-03前来学习一番 祝我好运!
编辑回复: 加油啊~
- Geek_00618e2022-05-24优秀!!
编辑回复: 学习加油~
- 宇毛2022-05-05操作系统45讲简直就是马哲的一次实践课一样啊
编辑回复: 我当赞扬理解啦,总之需要知行合一哦。加油~
- 卖薪沽酒2022-03-08买了一直没空看, 还是要回来学
作者回复: 哈哈
共 3 条评论 - ifelse2022-02-05开始学习
作者回复: 加油
- 蒲公英小孩2022-01-06我来喽,开始猛学
编辑回复: 加油
- Fan2021-12-17👍
编辑回复: 谢谢认可,希望这门课对你有帮助!