Appearance
操作系统自学心得
做一件事情人们往往想找点意义,那么为什么学操作系统?可以看看下面蒋老师在 ppt 的解答。
.B5KgQ4SM.png)
.HEqBMhiH.png)
当初应该是大三上学期,我接触到 CS 自学指南这个网站,决定拿一学期试一试,放弃学校的课程,看看完全拥抱自学是不是比按照学校课程按部就班学习更有收获。先说结果,这一学期学到的东西,在我后面许多面试、讲项目中给了我巨大的帮助。尤其是学习的操作系统,这里必须推荐我选择的这门课程,那就是南京大学蒋炎岩老师的 操作系统课程 ,这个链接是课程主页,他在 B 站会更新课程视频,名字叫 绿老师原谅你了 。现在他在上课的时候他会直接在 B 站直播,有兴趣可以去看看。
下面说说这门课程的亮点,蒋老师的操作系统课不光在操作系统知识层面讲解非常深入。其最精辟的观点——「一切皆是状态机」,包括后面用可视化网页展现进程并发过程 ( Model cheker ) ,一下就能看懂多进程并发执行的过程。这个以及其他一些代码都是老师自己写的,在他的 github 仓库 ,可以直接拉下来自己玩一下。让我印象最深的还是,为了讲进程内存空间,现场写一个红警外挂,通过修改内存实现对红警金钱数量的修改,当时看到不由感慨,这才是计算机课该有的样子。
课程的实验设计也深入有趣,几乎可以说是 linux 指令与系统调用教学+实现运行在裸机的操作系统以及一系列丰富有趣的 minilab,比如手动实现 linux 系统的任务管理器,实现轻量级线程等等。实验难度够高,深度够深,非常有挑战性,对代码能力和对系统的理解提升非常大。蒋老师还会讲很多前沿的东西,比如用数学证明没有 bug 的微内核操作系统,移动端大小核处理器的调度问题等等,也会推荐很多相关领域内的文章,极大开阔学生视野。
在他的课程中完成的许多项目,在我遇到的一些面试中都给予了我很大帮助,有些问题,我的看法是,一个人的视野不同,你的想法会截然不同,比如同样面对 AI 的应用,你就可以把他用到今天处理器上的进程调度来实现 CPU 利用率最高,当然这只是一个思路不一定能实现,可是有时候我觉得好的教育应该启发人,让人能够把思维开拓出来。也是这门课程,让我了解了南京大学,南京大学的计算机学科实力非常强,欢迎大家升学时选择南京大学 😂
不过不上学校的课选择自学是有弊端的,因为不同课程内容不同,就不会很契合山大期末考试的要求,如果追求绩点,我觉得可以假期学,以免影响成绩。如果不在意绩点,只想深入了解一个方向,我觉得哪怕这些课程与学校有些不同之处,也绝不会因此挂科。