一只小菜鸡学MIT操作系统公开课6.S081的经验分享(持续更新)
一更,目前前边还有几个剩下的没做完,目前是学到fs了,有太多想说的了,实在是忍不住就写了这篇博客,再往后会继续更新这部分相关.
在去年暑假想学操作系统学这门课之前,看很多企业招聘985高材生给的工资都给的挺多的,有的能给到月薪1.8w+,还有什么年终奖啥的, 俺从来就没见过这么多钱, 还是梦想能有份这么挣钱的工作.
听说985的大佬们都是自学国外的公开课的,又听说MIT的操作系统很好,于是就入坑了6.S081这门课,看看自己跟985大佬的差距. 选择这门课作为操作系统的启蒙课简直是炼狱级难度,但从学习能力上来看这差距还真不是一点半点,好在学习能力能慢慢练出来.
我记得我刚开始学这门课的时候的水平很捞,大概是英语四级过线一点,会基本的C语言程序设计还有就是会调点python的包. 基本上有啥问题全靠搜.当时连git都不会用,能学懂的大部分课要么比较简单,要么没啥实验.我之前真的踩了太多太多的坑(踩坑经历在结尾),花费进去太多时间,一直在挫败感中挺了那么多时间,终于找到方法了,如果当时踩坑的时候能有人告诉我这些就好了,于是就有了这篇文章. 在我刚开始独立做出那几个hard难度的lab的时候,我简直高兴的要飞起来了,哈哈哈哈哈哈哈哈哈哈哈.
以下经验仅仅代表我个人,仅供参考,我目前并没有独立做完所有的lab,只是独立做出了一部分,但是我踩坑踩了好久,最终还是摸索出来了一些方法,所以我觉得我后边写的这些也是有点参考价值的. 并不是每个人都是大佬级别的,上来就能很容易学懂这种课,我觉得从一个小菜鸡慢慢学懂的过程可能更具有参考价值, 因为大佬可能根本想不到有人还能才菜到这种坑哈哈哈哈,如果后续发现更好的经验还是会修改并且更新出来的.
如何渐入佳境
渐入佳境前的最低配置要求
我认为学一个新的东西应该现有一些基础,然后是边做边学,有一部分基础并不意味着要太高的要求, 没必要用基础要求太高给自己设限,更多的在于集中注意力的尝试.
-
英语四级过线左右
能识别句子的主谓宾,大体知道一些从句是如何修饰主谓宾的,理解基本的语法是看懂书的关键, 好多函数命名啥的是从书里的单词压缩来的,直接翻译意思不对.
-
c语言程序设计基础
主要是能看懂那些指针的用法,还有一些操作符,读懂lecture2里preparation要求的部分即可(最好做几个后边书上的练习)
-
每次学习大概能抽出4h+的时间
-
每次学习的时候能集中精力
因为涉及到在过程中顺便习惯英语阅读,还有看代码,有时候一个段代码会和其它很多部分的代码联系紧密,只看一个地方可能很懵逼.
我的方法
摸爬滚打很多尝试了很多方法之后,终于找到这条朴实无华但是非常实用的方法:
-
按照课程的日程表来, preparation让干什么就去干什么,
-
read的意思是读懂而不是阅读.
-
看书的时候尽量不要依赖任何关于书的翻译材料,
-
看视频的时候一开始可以看精译双语字幕版,因为有些单词带点连读带点方言可能听不出来是啥词,可能也不认识.
-
在一个集中的时间段内长时间集中精力
直接看xv6的英文书,不会的查字典翻译,一开始特别慢,这是正常的,因为还要加上学英语的时间. 尽量找一块能几种经历的很大的时间,比如说6个小时,比较适合放假学. 集中精力是很重要的,因为一开始的时候有英文和操作系统还有c语言指针相关的很多困难,刚开始的时候很难,后边就好了.
-
尽量不要依赖课程本身提供的任何外部资料(除了视频双语精译和课程记录).
我学这门课的时候希望用它当一个循序渐进的过程去学更多的国外公开课精品课,很多课有时候只是提供教材和lecture notes,甚至都没有视频,很难碰到有人把翻译做到如此精致的课. 我希望我学这门课学完了能拥有通用的学习能力,尽量不依赖除了公开课本身提供的还有字典以外的资料.
听力不那么容易练,因为讲课的时候有很多连读,有可能还有点方言啥的,词汇量不够本身就不那么容易识别一些单词.
-
独立完成,独立做出来之前千万不要去看答案!,独立做出来之前千万不要去看答案!,独立做出来之前千万不要去看答案!
要不然到时候能独立做出来了会很后悔,有种脏了的感觉,会少很多成就感,而且看答案会了并不是会了,只是以为会了.

作者分享了自己学习MIT操作系统6.S081课程的经历,从零基础开始,克服英语和编程难题,强调了集中注意力、独立完成作业的重要性。通过这个过程,作者的英语阅读能力和编程技能得到提升,同时也学会了如何更有效地自学高级课程。

1643

被折叠的 条评论
为什么被折叠?



