| 选课类别:计划 | 教学类型:理论实验课 |
| 课程类别:本科计划内课程 | 开课单位:计算机科学与技术系 |
| 课程层次:专业核心 | 学分:4.0 |
操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。因此本课程的目的是使学生通过本课程的学习,理解操作系统的基本概念和主要功能,通过实例讲解,掌握常用操作系统(如Unix、Linux)中的关键技术,为学生以后的学习、工作和研究打下基础。
李永坤老师讲课清晰,听课体验良好,PPT内容全面,以香港中文大学资源为基础。课程涉及操作系统原理,包括进程管理、内存管理和文件系统等。老师偶尔分享个人经验,展示学术和工业界的实际应用。课上不点名但鼓励出勤,老师态度亲切。
作业量适中,主要由五到七次书面作业组成,内容较基础,涉及课程概念和简答题。作业评分标准明确,但扣分较严,可能影响总评成绩。助教对于作业的指导较为严格。
实验为课程重要组成部分,涵盖linux内核编译、系统调用开发以及动态内存管理器实现等。实验难度高,量大且耗时,但具有实践教学效果,能提升学生动手能力。实验文档详细,但实验内容偏向理论,部分学生表示实验拉开了分差。往届未做完实验的学生有延期完成机会。部分学生反馈今年实验改革不够合理。
考试形式偏向理解与记忆的结合,范围广泛会包含多个概念,例年出题结合两班老师内容,建议准备全方面知识点。试卷主要由概念题、简答题和应用题组成。考试不设补充题,部分题目偏文科,也会延用往年题目。
课程总体评分为考试、实验、作业的结合。严格按比例给分,附加实验可加总评,未必调分,但通常给满优秀率。给分相较公平,强调学生在实验和作业中的努力和参与。
大多数学生给予课程高度评价,认为老师水平高、责任心强。但有些学生抱怨实验和考试形式让人压力过大,平时投入时间不足影响考试表现。课程适合希望深入理解操作系统原理与设计的同学,并能够接触到实际的系统编程。建议重视平时学习,加强早期项目准备,尽早完成实验。课程难度整体较大,却具有较高价值的学习和应用前景。
更新于2025.3.8
最近隔壁组(某厂云存储)在招实习生,我看了下他们所有候选人的面试纪要,把八股里面涉及c++/操作系统的都挑了出来,以飨读者:
这些问题没有100%的标准答案,重要的是得让面试官明白你对他问的问题有深入的认识。答得越多、越深入越好。面试官都是一天到晚都在写代码的,对这些东西是听说过,背过八股还是有实践经验,可以很容易地问出来。
而且遇到一件有意思的事:一个面试官跟我们晒了一个候选人的简历,那人本科GPA3.97/4.0排某985前5%,面试官说“这人学习这么好怕是不好忽悠”。我答“他没实习,你就问他工程,他受不了的”,结果那人八股一问深了就答不明白,排这些人里倒第一,面试官反馈“本来还想挖挖,结果这人学的有点呆”。
更新于2024.2.10
当了半年社畜了,讲讲这半年以来的体会:
ls -ltrh,想一想,后面这一串参数有什么好处?vim或者less呗。好了,这时候怎么查找指定字符串?vim啥的还是得学哦。systemctl, perf, iostat, free, procfs(这个实验貌似被改掉了)的。lab1 linux扫盲部分:
更新于2024.1.31
刚看到一个南大os课的空间说说,发几张截图:
连只要签个到随便写点什么就能拿满分的东西都能有四成人抄,说明什么?说明学生们喜欢说的“我抄是因为实验太难,把实验调简单点我就不会抄了”完全只是借口罢了。
hhh



更新于2023.3.17
今年我不当TA了。所以我搞了一个问卷调查一下大伙更能接受什么样的评分方式。本问卷只是业余调研,不是某门课程的作业/报告。
该问卷的结果会更新到本评课内。每收集20份问卷/两周,本评课更新一次统计结果。
链接:https://wj.qq.com/s2/11514530/9a4d/
本问卷的作者深刻地意识到,本问卷是一个恶心的、痛苦的、充满恶意的问卷,逼着你在一些不愿意的选项里做选择。所以请谨慎填写本问卷,如有不适请尽快关闭页面。
截止至2023.3.17 11:00,共收集23份问卷。为防止精确地披露数据会对之后的填写产生影响,只公布粗略统计。50份之后公开精确数字。
1. 学院:绝大多数是计算机学院。
2. 年级:三分之一大三,三分之一研究生,其他占三分之一。(样本数量有点少,其他年级的多来点人啊)
3. 是否认同学生投票决定的评分方案:大多数人认可少数服从多数。
4. 大多数人认为应该采取以实验为主的评分方案。
5. 对于考试:前两名:出开放题、出大量的题。
6. 对于实验:前两名:查抄袭、加大难度。
7. 对于作业:前两名:出开放题、写课程报告。
8. 大多数人认为放开优秀率限制会引起GPA通货膨胀,但不会导致竞争加剧。
9. 认为排名更重要的人稍微多一点。。
10. 大部分人认为GPA应当是相对数字而非绝对数字,无需在意不同年的公平性。
个人评论:该问卷的结果基本符合本人的预期。计算机作为一门实践学科,专业课的实验必须加大力度。
置顶内容:
更新于2022年:
吐槽:苹果的M系列芯片是操作系统实验最大的bug。
其实,我们已经解决了多位同学的M1芯片环境问题,方法是:劝他们用一台旧的,或从家里寄一个x86电脑过来。所以在这里建议大家使用x86设备完成实验,旧的也可以,最多性能差一些,我们还可以让你使用旧的Ubuntu版本提升性能,至少不至于连虚拟机都没法启动、连Linux内核都编译不了。
ARM遍地是雷,而且我们助教还没有类似设备,连提前踩坑都做不了...更别说苹果和VMware他们自己可能也在踩坑呢...如果真的必须用M系列芯片,建议找找lug,他们懂的应该比我们多。
更新于2021~2022年:
这门课让我感受到了自己对系统方面的兴趣,同时也让我认识了坤哥这位人很好的老师,所以我在推免找导师的时候直接找到了坤哥。当年在这门课上投入了大量的精力与时间,现在想来应该是兴趣使然,而不是“卷”(换成其他课我根本不会做成这样)。21~22年有幸担任助教,在此放一些助教角度观察到的内容:
关于实验:
| 编号 | 内容 | 实验时间 | 按时完成人数 | 逾期完成人数 | 实验文档页数 |
|---|---|---|---|---|---|
| 1 | 环境配置,编译Linux内核 | 2周 | 92.6% | 4.00% | 27 |
| 2 | 编写系统调用实现top+使用系统调用编写一个简单的shell | 3周 | 77.1% | 10.9% | 18 |
| 3.1 | 动态内存分配器 | 5周 | 73.7% | 7.43% | 18 |
| 3.2 | 编写模块、观察进程内存结构、打印页表、dump数据段 | 28 | |||
| 4 | 文件系统:代码填空完成建议FAT16文件系统 | 5周 | 74.3% | 不设逾期 | 15+11 |

关于考试:
关于作业:
纯吐槽部分:
当助教之后发现,很多同学的计算机基础异常薄弱,以下是几个经典表现:
我感觉大部分人做不完实验的原因是时间管理能力太差,最后一两天才开始做实验。而且,我能看出来里面不少人都是不怎么看实验文档,纯“借鉴”别人的代码的,一问实现思路全都乱套了,稍微钓鱼执法一下就立即上钩。拜托,那十几页乃至几十页的实验文档可不是白写的啊...
我个人的一点想法:解决这种问题需要靠加大实验一的难度解决。具体方式比如:
上述三条内容已在2022春实验一中落实。就我们观察而言,学生对于这种改革措施十分满意。
与隔壁班实验的对比:两个班的实验【风格】不同。
后续计划(不一定会实施):明年或之后考虑将实验全部挪到模块上做。Lab1直接统一更换内核并按照《操作系统概念》的书后实验编写内核模块,Lab2系统调用砍掉改成别的。
有人问“MHY除了满嘴跑火车还会干什么”,于是我只能汇报一下助教工作了:
更新于2018年12月21日:
复习编译原理的时候,我觉得每一门文科课都应该要求写阅读报告...阅读报告这玩意真的是可以增进你对知识的理解的。有些东西写一写就记住了。期末复习的时候,你会发现有一份知识点总结是一件很幸福的事情。
因此在这放上之前写的所有阅读报告,可以将其视作复习提纲。(就这点,没有更多了,电脑挂过一次,数据全损,之前写的拿了¥的源码阅读报告也没了)
这门课是我在大二下学期所有必修课里面听得最舒服,干劲最足的一门课。老师水平很高,虽然是第一次教OS但是讲的很清晰。一开始速度较快,在同学们反映意见之后讲课速度有所降低。快期末的时候还找了香港中文大学的吕自成教授(毕竟John C.S.Lui是他的导师,也是实验室的讲座教授)和时任副院长许胤龙教授(毕竟都是ADSL实验室的)来做报告。
(原评课的课程作业部分较为陈旧,所以删去。)
课程PPT全英文。 使用英文的原因是,该ppt内容主要来源于广受好评的拿了多次教学奖的香港中文大学WONG Tsz Yeung博士的ppt。
评分占比:期末考试 : 实验 : 作业 = 5 : 3 : 2。优秀率给满。 考试之后自行回忆了一下试题,有两道题忘了,欢迎补充。根据助教手册1.3.2.10,助教不能泄题,所以试题暂时拿掉(
吐几个槽:


选做就是必做 作业分毫必争 期末失误了就是3.3 卷王这么多我真的会谢
感觉实验量太大了,而且前后难度差异好大。lab1、2非常简单,甚至感觉可以直接合并;lab3前一半是csapp的malloclab,但要求没有malloclab高,后一半应该是新搞出来的,这两部分前后没啥联系,要不分成俩实验吧?lab4有四个part,后面part复用前面的代码很多,就感觉可以但没必要。
太卷了太卷了早上躺在床上被暴击
李老师人相当Nice,上课也很有意思,深入浅出,PPT风格我很喜欢,虽然是英文的,但是看起来一点也不吃力。(考前建议过一遍PPT,今年最后一道题近乎PPT原题)
但是我还是要扣一分,因为实验有点简单了,感觉对个人水平的提高并不是特别多,不知道隔壁班怎么样,但是好像是挺辛苦的,考试周结束了还在肝DDL
李老师是真心想上好这门课的,可惜有的同学不珍惜,到课率常年不高。大家的建议也会认真听取,让我感动的是为考试冲突的同学单独设置考试,这种负责任的态度真的很好。
我们是按学号对应不同的助教,我遇到的助教人很nice,水平挺高的,而且回复我问题的时间几乎都在5分钟之内,感动。老师和助教们真的很用心,给分没的说啦,超好的。
快毕业了,统一评课。
这门课我是20年上的,总体推荐。
少有的可以讲清楚课的老师。
老师做人也没问题,很多事情也会为学生考虑。
优点不赘述,没想到什么值得提的缺点。
总体推荐。
老师很好,作业不多,只是实验难度跨越有点大。但是给分超好。很喜欢李老师。
老师讲课比较清楚扎实,十分认真负责。
和H班的同学讨论过,两个班差别还蛮大的,H班基础教学很少讲课更天马行空一点,很多书上的概念到结课了还不知道是什么,到了期末考试来借李老师的ppt。。。但是H班实践上可能更难然后多一点,前面几个实验差不多,甚至H要求还低一些,后面的实验不太清楚,似乎相当有难度
老师讲得非常好,建议一边听讲一遍做笔记(英文ppt,老师讲课用中文,所以直接记录讲课内容会省非常多事)
课程难度主要在实验时疯狂stfw,写和debug都极其痛苦,占用时间也多,后面两次实验似乎近40%学生没有按时完成。
期末就怕隔壁班出了本班没重点讲的东西(比如这次的银行家算法,考试的时候现场瞎编,似乎还编对了?),建议考前和隔壁班同学交流。试卷存在较多文科题目,建议理解性背诵ppt/笔记。
给分:平时作业平均分97.4(五次,百分制),四次实验满分,没做附加题(评课时才知道附加分直接加到总评上,非常后悔,建议能做就做),期末87,总评93,大致是严格按比例的。
李老师PPT很适合自学,非常清晰。由于疫情关系,这学期实验比较划水,比重依旧是45% 建议大家学习时候深究有些知识点的定义,考前做做往年题,尤其是那个TLB的题。出了很多年了)给分的话能给满优秀率,我觉得就已经很好了。
讲的很好,PPT详尽又精简,20年的实验因为线上的缘故略水。 给分感觉不能算好,没调分。做了附加实验会有加分,推荐做一下,考完能捞一把。
老师年轻有位,讲课非常清晰准确,认真负责,就是实验有一点耗费时间,给分比较好。