6.s081通关小结

6.s081通关小结

终于是完成6.s081的所有lab了,感慨万千。已经忘了第一次听说这个lab是在什么时候了,只是模模糊糊地感觉是大三。那时的我第一次找到了刷题之外的新方向。但囿于小镇做题家对计算机认识的滞后性,什么Linux、Ubuntu之类的新系统如同一座大山横亘在我于s081之间。又或是在刷题这种片段性的学习中沉浸了太久,偏工程型的lab也令我望而却步。正巧彼时我又发现了一本名为《30天自制操作系统》的书籍,这仿佛成了另一缕穿透迷雾的光。对于任何一个在黑暗中独自摸索前行的来旅人来说,即便是一丝几乎微不可见的光线,也应当被牢牢抓住。就这样,我跟随着这一缕曙光开启了操作系统的学习之路。

大四那一整个暑假我都在折腾这本书,顺便学习Linux。书上所有的代码我都会自己手敲一遍,即便是当时在我看来晦涩难懂的汇编也不例外。但是《30天》这本书本身就有个致命的缺点——难以debug,并且难以兼容现在的键盘。导致调试的时候只能肉眼来核对与书上思路不一致的地方,堪称折磨。最终在day23我倒在了bug上,并且核对了几遍也没发现出错的地方。由于前面进行了太多自己的修改,bug可能出在之前看似正确的代码中。终于,这个bug成为了压死骆驼的最后一根稻草。

我放弃了。

仔细想来我从这本书上学到的真正知识就是把整个大文件拆分成小文件的必要性,以及学会坚持。有了这次的经历,我眼中的s081慢慢褪去了神秘的面纱。

“是时候攀登上这座高峰了”,我对自己如是说。

还记得在完成lab1的时候,什么文件描述符、管道等概念总是让我百思不得其解。那个时候感觉每一步前进都是沉重的——困难的不是解决问题的过程,而是寻找着手点。就像在捋顺一团混乱的丝线,准确拆开每个绳结固然困难重重,但准确找到线头才是一切的根本。彼时的我就处于找线头的阶段,不得不说四处碰壁真的很打击自信心,没有同路者则让这个阶段更加难熬。

所幸这次我坚持了下去,跌跌撞撞地叩开了lab2的大门。其实这次的内容也相当于找线头的过程。但有了lab1的拷打,我慢慢找到了那种可意会不可言传的解题感觉,理清思路然后完成lab变成了一个自然而然的过程。虽然可能进度缓慢,但至少有了着手之处。

再然后就到了pgtbl。说实话这个lab给我带来的感觉是全系列最难,要考虑的点实在太多了,重重陷阱让我一次又一次地跌倒。在网上借鉴其他博客成了唯一的解决之道,然而纵使如此还是没能改变不断 “踩坑—掉坑”的主旋律。东拼西凑搞了好几天之后终于思路变得明了起来,pagetable的概念不说了如指掌至少也是烂熟于心。终于,踩完了无数坑之后我和“All tests passed”相遇了。过程虽然充满坎坷,结局还算是可以接受。

再后来啊,路依旧难走,但有了“坚持”与“信心”加持下的我还是一步一个脚印走踏过来。从挑战cow,到尝试locks,再到攻克fs,直至完成mmap。每个lab都带走了我数不清的脑细胞,又不断巩固着我的道心。当networking最后出现“Score 100/100”的时候,这两个多月的历程终于圆满画上了一个句号。也算是给大三的自己递过去一个差强人意的答复。

为了在周三这天晚上写一篇总结我可是等了五天哈哈哈,终于总结也到了尾声。如今,是时候给这阶段s081的学习历程画上具号了。

不过属于s081的故事还没结束,还有少数遗留的challenge等着我去完成。属于操作系统的学习诗篇也还未完结,6.824将是我下一段征途,虽难必克。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值