写在开头


诚惶诚恐,写下这篇文章,分享一下笔者在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这门课已经结束,但我仍需要继续努力,欢迎各位大佬评论指正。
 

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐