MIT6.S081 小结
Posted 鱼竿钓鱼干
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MIT6.S081 小结相关的知识,希望对你有一定的参考价值。
MIT6.S081 小结
迷迷糊糊地把 MIT6.S081 过了一遍,简单谈谈感想吧,复盘一下
过程
老实说进度挺慢的,原本打算学期末把 Lab 给过掉,结果拖到了现在
开学花了一个多月的时间把 OSTEP 看了一遍,知道操作系统大概有哪些玩意。
然后看了几节 NJU JYY 的 OS 课,重塑了一下对计算机的世界观。准备开始刷 MIT6.s081 的操作系统 Lab
后面节奏就被疯狂打断了,大概开学两个月到期末没什么完整的自由时间,考试+好几门课的小组作业+一堆课设
这导致一些资料上周看了,然后一周忙学校的时期,周末写 Lab 写一半写不下去了,然后下一周继续忙学校的事,周末回来写 Lab 一看忘了自己写的是什么玩意了。
进度到期末基本就写了一半的 Lab,特别是那个 COW 的 Lab 给我干懵逼了,看了几天 xv6 原来的代码,然后写了几天 Lab 要的代码,然后又调了好几天写好的代码,最后不如直接重新来过
然后暑假回来一遍补 服务器的框架项目 一边补这个操作系统实验外加间歇性摆烂弄了将近一个月才差不多整完
重大失误
资料看的方式不对
官方给的资料
- xv6 手册
- RISC-V 相关资料
- 课件 PPT
- 讲课视频(直接用大佬的翻译看了)
刚开始我直接硬刚了 xv6 的英文版手册,然后看的非常懵逼,因为这玩意基本就是 xv6 的代码解析手册,不是操作系统教材。后面才感觉到正确的方式应该是
- 上课讲稿
- 课件PPT
- xv6 手册
- xv6 代码
- Lab
整理笔记的方式不对
课程快做完了才意识到,我们所谓的去看好的书、好的课,最终是要通过自己输出出去的(例如面试的时候得讲给别人听)。所以如何整理笔记取决于你想要如何输出你学到的玩意,而不是摘录。所以我干脆把原来的几篇笔记给删了,重新以问题为导向去整理
- 从课件、讲稿、Lab 中收集问题
- 然后从各种资料里寻找答案
收获
- 建立了个人的计算机世界观,jyy 我滴超人
- 稍微有了点系统设计的感觉:需求–>细化文字描述–> 方便理解的示意图–>数据结构设计–> 数据结构操作的实现
- 从代码层面去认识了操作系统的一些概念和技术手段
- 做了几个听起来比较 nb 的玩意(虽然可能在内行人看来挺拉跨的) 丰富了简历,提升竞争力
- 重大失误某种层面上也是重大收获
- 一些工程性的思维方式,稍微有了点长进
TODO
- 继续整理相关笔记文档,直到可以向他人清楚的介绍自己所学到的东西以及所做的工作
- 太久没写代码得补补基础了,纯 C语言指针裸奔让我意识到代码基本功的薄弱
- OS 课程的主体部分暂时告一段落,下学期准备学学 CS144 手搓 TCP ,开冲!
以上是关于MIT6.S081 小结的主要内容,如果未能解决你的问题,请参考以下文章
MIT6.S081-Lab6 Lab Multithreading