写在开头诚惶诚恐写下这篇文章分享一下笔者在OS中的学习感悟希望能够对读到这篇文章的同学有所帮助。往年的学习经验多为计科专业的学长学姐所作几乎找不到软件的因此写下这篇文章也许对以后软件的学弟学妹的学习更有针对性帮助。但知识的学习不分专业各位一定要在学习中形成自己的理解才能有效地内化学过的知识为自己所用。本人的学习思路是以应试为主但也尽力理解。下面正式开始。HNU的操作系统课程使用的课本是《操作系统导论》OSTEP一、成绩总评99/100。不夸张的说为了学好CS和OS这两门课本人付出了极大的努力也可能是因为我不够聪明也从中收获良多。但获得这个分数并不代表我学精了这门课还有很长的路要走。二、成绩构成本学期的成绩构成大致为实验 10%小班 10%平时作业(考勤?) 25%期中考试 15%期末考试 40%实验和小班本学期各两次比较水。其中实验选取了下面所放链接的实验六、实验七。https://os2024lab.readthedocs.io/zh-cn/latest/index.html但想要提醒各位的是每学年或每学期的实验和小班内容并不一定一样。实验如果想获得高分请在实验报告中一定要根据老师或助教下发的要求完整地把所有要求的内容写全尽管有些部分可能出现重复但这至少能更大程度上避免莫名其妙被扣去一些分数平时作业布置的是课本章节后的习题每次布置的作业也比较多但个人认为很有价值去自己动手做因为作业配套的代码和程序就是在模拟OS的各种操作很有利于你加深对课上所讲内容的理解。期中考试据往届学长所说均为开卷考试但本学期为闭卷考试但内容很简单基本为课本知识点考察。期末考试内容不再是简单的课本知识点考察而是综合运用全部大题有一定的难度要求对知识点的理解而不是单纯背过。比如会给出具体情形考察多级分页机制的具体步骤。我在考前细细地过了几遍课本知识点的原理和机制期末做的比较顺利最终期末获得100分。三、如何学习这门课首先给出我的结论背诵 复习 听讲 刷题1、首先如果你想在这门课拿及格至少背诵对于期中考试是完全足够的并且期末的知识点考察也存在纯知识点的运用有一些不理解的知识点直接背过是可行的。2、我这里的复习不仅指课后回顾学到的知识点而且还要尝试在理解的过程中就背过而不是等到临近期末突击背诵这样就失去了这门课的意义。我建议各位在背诵的过程中要建立知识点的链接网络比如提到地址翻译你需要能够自主地将寻址的完整链路完全描述出来。3、听讲其次但不能完全不听因为老师讲的范围大部分就是考点范围完全不听是有风险的。4、这门课的刷题重要性放在最后但对于想要拿高分的同学非常关键但鉴于往年的卷子非常难找基本只有计科专业的期末题如果想要刷题我建议优先考虑往年408真题。5、请各位一定利用好CS的前置知识的优势来学习OS。尤其是软件专业的同学软件的CS和OS课程在同一学期学习对各位理解OS是极其有利的。在我看来这两门课是互相依赖的很有同时学习的必要。根据我的体会OSTEP尽量通俗地告诉了你某个机制是什么意思提示了你如何去理解而CSAPP则给出了更为严谨的理论分析和具体实现。你需要做的是我在OS里学到的在CS里有什么对应你能不能体会到为什么这么做我在CS里学到的与OS里有什么相似之处例CS的信号和OS的信号量我相信与我同届的同学或是往届的学长学姐如果做过CSAPP的ShellLab其中的并发问题是一个关键因素。如果没有学过OS对于这里的认识一定是不够深刻的。再举个OS中的例子地址翻译在OSTEP内存虚拟化部分占据了许多章节知识点一步步递进。如果你自己去梳理可能会有些混乱。但结合CS你会更清楚。CS中将会有一个CPU寻址的完整实例图的讲解完美的串起了OS对应的诸多章节。以上诸多文字简单来说就是请各位在学习的时候有意识地尝试将CS和OS联动而不是割裂为两门课尤其软件的同学要抓住你们CS和OS同一学期学习的优势。这也是我最深的感悟。当然我的视角可能更偏向应试角度但我认为对理解这门课的特点也能有帮助。我的理解也许比较片面毕竟是第一次学习这种偏底层的课程。虽然OS这门课已经结束但我仍需要继续努力欢迎各位大佬评论指正。