选课类别:计划 | 教学类型:理论实验课 |
课程类别:本科计划内课程 | 开课单位:计算机科学与技术系 |
课程层次:专业核心 | 学分:4.0 |
操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。因此本课程的目的是使学生通过本课程的学习,理解操作系统的基本概念和主要功能,通过实例讲解,掌握常用操作系统(如Unix、Linux)中的关键技术,为学生以后的学习、工作和研究打下基础。
置顶内容:
更新于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,助教不能泄题,所以试题暂时拿掉(
吐几个槽:
立即登录,说说你的看法
大学计算机类课程体验极佳的一门课
以下只是个人看法,仅做参考
上课体验超好,一个学期只点了一次还是两次名,用的全英文ppt,但就像前面学长说的,ppt质量很高,个人感觉英文ppt好处在于你要是认真看还能提高阅读水平,毕竟后面多少还是要受英语论文的折磨,但是复习起来确实不太方便,因为找重点的话不好找(也怪我我上课没咋记笔记),和书对应起来也挺麻烦的,但是不得不说,复习得看ppt和作业题。老师人挺好的,上课偶尔的课外话题就可以看出来老师非常nice,三观很正。
实验体验好,助教都很负责,实验文档详细无比,基本上肯花时间就能做完,但可能是因为linux环境的原因,内核编译什么的不太好debug,所以导致最后实验提交率有点低吧,其实助教可以多讲一下linux环境的debug以及虚拟机环境保存快照的重要性,否则虚拟机炸了很搞心态。最后一点:实验的附加分很值,一般做完实验的必做部分,附加题工作量也不大。按我的成绩,照比例计算,卡绩94,实验附加分4分是直接加到总评成绩的,然后被奶上去了。
作业部分的话,除了第一次作业,其他全英文,电子版提交,可中文也可以英文,题目量很少,吐槽一下:隔壁机器学习一次的作业堪比os一学期的作业,而且基本每年题目都不变,参考Google得到的某学长20春的作业,连数据都没有改。
关于考试,虽然是和隔壁cxl共同出卷,但是内容都是上课讲过的,要说槽点的话,有些上课非重点的部分考得有的多,比如上课简单带过的银行家算法考了一道计算大题10分,不过银行家算法确实挺简单的,知道什么是safe和unsafe状态的定义,穷举就完事了。(不过我大概率在这道题上倒了)
能记起来的考的知识点有:VFS,IO的方式,磁盘调度的算法(SSTF,SCAN,C-SCAN,计算以及优缺点,提出改进的方法),操作系统的概念/功能(好像是第一章书上的某段原话来填空),page fault,RAID1,死锁的条件,上面的银行家算法,最后一道大题是代码题(看往年好像出的都是信号量相关的题目):用信号量解决服务窗口的排队问题(n个窗口,w个等待座位)。
更新:身边有人邮件通知总评94(严格按比例),教务系统最后奶到了95,坤哥yyds!
这门课没什么说的,李永坤老师基本上就是非H班的最优解了。
首先定个调,助教,老师负责且可爱,和下学期李诚老师的的编译原理同是 ADSL 实验室出品,质量可以的。
时间有点久了,很多经历实际上记不太清了所以下面都是虚构内容:)
说一下 21 SP 同学讨论中有点问题的地方,印象最深的是 Lab 4,不知道是哪位助教负责的。质量的话其实是可以的,不过有几点有点不足:
* 文档没有 Lab 3 详细,看得出来有点赶工,不过快期末了,也能理解
* 同期实验横向相比(例如 2021 SP 新加入的 Lab 3,你一看就是那种香喷喷全新出炉的)创新点有点少。我们结课后发现 Lab 4 原型实际上来自 GitHub,改动了几个变量名字挖了空就放上来了,而与此同时,这个 FAT16 的 implementation 思路包括变量名很多都是 follow 那个作者的思路来的,而文档中并没有特别详细的说明,这样呢,顺着思路实现的时候就比较难受了(因为得猜这个是干啥的)。
我不是说框架不可以搬 GitHub(毕竟有现成的轮子还现写干啥),只是这个实验框架搬好了,省下来的时间打磨打磨文档总是可以的吧,但文档相比前面几次(我记得还有 30 pages+ 的,可能是研究生学长负责的)实验没有显眼的提升,那可能就是设计实验的助教期末比较忙吧哈哈(
不过,看起来每年的实验都是有迭代的,所以到 22 SP 实验会是什么样子我也不清楚,估计会有变化。希望能变好点(
给学弟学妹的选课建议就是过来上啊,PPT 和上课思路都比较清晰,follow 非常容易。
扣一分给实验,另扣一分给不知道谁出的期末卷子(南大不知道哪年的陈年老题直接放上来了,真有意思
立即登录,说说你的看法
选做就是必做 作业分毫必争 期末失误了就是3.3 卷王这么多我真的会谢
感觉实验量太大了,而且前后难度差异好大。lab1、2非常简单,甚至感觉可以直接合并;lab3前一半是csapp的malloclab,但要求没有malloclab高,后一半应该是新搞出来的,这两部分前后没啥联系,要不分成俩实验吧?lab4有四个part,后面part复用前面的代码很多,就感觉可以但没必要。
太卷了太卷了早上躺在床上被暴击
且先打个给分一般,等出分了再更;
前有量子物理后有cod,os属于是我 大二下体验最好的一门课程。
对我来说很难。是操作系统这门课本身的困难。概念繁杂,内容丰富,平时需要花费很多时间来学明白(当然到现在还有很多没有理解的地方...)。但是坤哥的讲课可以说对弱鸡很友好了,只要上课不开小差就能在课堂上听懂个大半。PPT的质量很高,据本人称是源自香港某大学教授的获奖PPT,只要看懂了PPT就基本掌握了该课程的基础知识。
(但是ppt是全英文的,不习惯的话看起来着实费劲啊)
本学期一共布置5次作业,每次作业有统一的评分标准,相对来说还是非常公平的。作业都是近期课上内容,都能找到答案。大概是临近期末助教统一评分,可能答得不全就会扣掉毎题30%~70%的分数,所以平时还是要老老实实地翻书/PPT不要偷懒。 ~~有位转院老哥好像因为作业分不如预期在群里面破防了~~
好难啊!真心觉得很难。lab1,lab2比较基础,完成率接近100%,lab2甚至平均分10.4,可见不少人做了1分附加。lab3,lab4看得头大,从此无法直视segmentation fault,头一回体会到“一包茶一包烟,一个bugde一天”。本人只会通过printf来debug,经常看了三四个小时的printf结果发现是自己变量名写错了, ~~慎用自动补全谨慎进行上下文的复制粘贴,~~ 欲哭无泪啊,这种粗心的毛病还经常犯,只能说建议大家写代码的时候就仔细检查。更多的还是各种情况没有考虑到,比如说为什么删不了文件了,又为什么不能在子目录里面删除文件了,为什么不能复制粘贴大文件了等等。lab3、4都有附加分,可本人能力实在有限 ~~也可能是懒。~~ 对于那些愿意卷的人,我真心佩服也觉得他们得分很理所应当。
(小声bb,即使lab34在我看来已经非常难了,完成率仍高达73%,附加分率也有16~20%可见大家还是很努力想拿高分 ~~被卷烂了~~ )
突击了一天半,后来战略性放弃10章以后的内容了,太多了实在看不完。建议大家趁早复习,不要和我一样拖到前一门考完了才开始。拿到试卷后意料之中地很多概念依旧记忆不深 ~~根本没印象~~ ,总体上卷子不是很难,目测考场上有1/4左右同学提前交卷了 ~~结束坐牢。~~ 毕竟这种东西吧,会者不难难者不会,没复习到的概念想破脑子也编不出来。(希望自己能上平均分吧秋梨膏)
总的来说,坤哥的os课还是很推荐的 ~~除了难没有什么缺点了~~ ,上课与实验体验都很良好,助教老师都非常负责任(二三十页的实验文档真的用心了)。缺点是,可能会有很多大佬来卷。所以,自己权衡吧。
给分出了 84卡绩 果然被卷烂了
简简单单评个课
OS,听上去就很CS嘛.
这课也确实是CS的一门核心专业课.
其实课程本身并没有特别硬核,更多的是介绍了计算机科学中解决各种问题时的一些基本方法和思想.
构造一个复杂体系(例如操作系统)需要哪些设计思路,解决问题时对各方面诉求的权衡.
也就是以操作系统实现过程中需要考虑的问题(这里以Linux OS)为背景,介绍了一些经典的解决方案,引入了设计系统时的基本思想.
李老师的讲课还不错,ppt是全英文的看起来可能比较蒙古,不过图比较多,也比较有意思.
期末考前一定要仔细地把ppt过一遍.
考试的话,说是偏向文科的考试,要记很多东西,但其实还是偏向于理解类型的,不需要特意的死记硬背.
实验的话,简陋的C写起来会很让人头疼,但其实只要你肯在ddl两天前开工都是能完成的,不过要注意一些小细节,尽可能考虑程序的健壮性(别助教敲两下就死了).
平时作业认真写,考试复习时可以省点心.
(我就是那个成绩单上94,到教务系统里变成95的,泪目了)
ppt还可以,虽然是全英文的,但是慢慢啃肯定是能消化的,实验的难度应该是不大的,推荐完成选做实验,总评好像是直接加了4分。总评被坤坤奶了一口没有卡绩,感谢坤哥。但是作为一个被zql深深伤害过的人,已经不在乎gpa了。所以19级的同学们,编译原理不建议选zql班。
李老师人相当Nice,上课也很有意思,深入浅出,PPT风格我很喜欢,虽然是英文的,但是看起来一点也不吃力。(考前建议过一遍PPT,今年最后一道题近乎PPT原题)
但是我还是要扣一分,因为实验有点简单了,感觉对个人水平的提高并不是特别多,不知道隔壁班怎么样,但是好像是挺辛苦的,考试周结束了还在肝DDL
李老师是真心想上好这门课的,可惜有的同学不珍惜,到课率常年不高。大家的建议也会认真听取,让我感动的是为考试冲突的同学单独设置考试,这种负责任的态度真的很好。
我们是按学号对应不同的助教,我遇到的助教人很nice,水平挺高的,而且回复我问题的时间几乎都在5分钟之内,感动。老师和助教们真的很用心,给分没的说啦,超好的。
总评出来人麻了,只有3.0,直接把绩点下拉一个档次,严格5:3:2没有调分。请原谅我不能免俗。
总得来说这门课一学期学下来收获挺大的,老师课讲的也不错,但请原谅我英文水平不高,ppt全英文这一点太阴间了,给平时学习和复习增加了不小的压力,1300多页的英文ppt真的会看到吐血。
再然后是实验,具体情况和往年一样,我是自己独立完成的,特别是最后两个实验,极其耗费时间。
最后吐槽一下考试,一共四道大题,第一大题第二大题全是概念,第三大题计算题,一共三小题,居然还是有一题是概念,然后还考了一题上课只提了一下的银行家问题(10分),只有一题考磁盘调度算法,是正儿八经的计算。考前复习的什么页调度,进程调度算法还有每年都考的TLB今年一题没考。最后的编程题也和往年出ppt或书本原题不一样,貌似还有坑。在这种情况下最终不调分,感觉付出和回报完全不成正比,最后平均分也不给,也不知道优秀率有没有给满。我最烦的就是只公布卷面成绩,然后不给平均分和成绩分布。这又不是什么见不得人的事。考试前一小时仿佛在考政治,就是概念背背背。前面那些说给分超好的可能是本来就是大佬,也可能是卷面本来就简单。感觉这门课的给分和大一的那个代数结构一样,基本取决于卷面分而非排位。
我这条评论仅供参考,整个学期花时间最多的课总评最低,建议大二修这门课的学弟学妹不止多花时间背ppt和作业里的概念,还要多看看ppt里的细节,毕竟谁也不知道会不会把细节内容变成10分大题。
OS 真的是一门非常重要的课,理解OS的许多概念是利用计算机来高效地解决问题的关键。暑研在做一个可穿戴设备各运算步骤整合与加速的工作,解决其中的很多问题都用到了许多这学期在OS课中学到的概念与思想,不禁感慨科班出身的程序员还是会有许多先天优势。
李老师讲课和备课都可以说是很用心,讲课重点鲜明,讲到一些相关内容时也会联系讲讲现在的学术/工业界实际场景是如何处理的。PPT 设计的很好,复习时让人感觉很清晰。这学期的实验设计也可以点个赞,第三次实验实现堆内存管理和第四次实验实现FAT文件系统都让人收获很大,有不小的难度,非常锻炼能力。想要真正学东西的同学还是推荐选李老师的课的。
不知道为啥那么多说给分好的,来吐槽一下给分:
7次书面作业+4次实验+4次实验报告,一次3分,共45分。最后考试占55分。没有调分。
4次实验占比这么小明显不合理,最后两次实验基本是 10h+ 的工作量,难度也不小,最后只占 3 分?实验报告改的也莫名其妙的严,我已经把能写的内容尽量丰富了,最后平均只有8分(满分10)。期末试卷应该是两个班老师各出一半,其中至少有 5-10 分的题是我们班没讲或者只是提了一下的(隔壁班也有一些题是同样的状况)。这样的给分比例个人认为想要拿到 4.3 是一件非常困难的事。
最后通知查卷时已经放假离校很久了,听助教说是有一道大题做崩了 ,最后总评只有3.7,个人觉得这个成绩与这学期的付出不匹配。作为参照:这学期在这门课上的付出大于等于组成原理,而组成原理拿了4.3。
老师讲课比较清楚扎实,十分认真负责。
和H班的同学讨论过,两个班差别还蛮大的,H班基础教学很少讲课更天马行空一点,很多书上的概念到结课了还不知道是什么,到了期末考试来借李老师的ppt。。。但是H班实践上可能更难然后多一点,前面几个实验差不多,甚至H要求还低一些,后面的实验不太清楚,似乎相当有难度
老师讲得非常好,建议一边听讲一遍做笔记(英文ppt,老师讲课用中文,所以直接记录讲课内容会省非常多事)
课程难度主要在实验时疯狂stfw,写和debug都极其痛苦,占用时间也多,后面两次实验似乎近40%学生没有按时完成。
期末就怕隔壁班出了本班没重点讲的东西(比如这次的银行家算法,考试的时候现场瞎编,似乎还编对了?),建议考前和隔壁班同学交流。试卷存在较多文科题目,建议理解性背诵ppt/笔记。
给分:平时作业平均分97.4(五次,百分制),四次实验满分,没做附加题(评课时才知道附加分直接加到总评上,非常后悔,建议能做就做),期末87,总评93,大致是严格按比例的。
老师上课水平很高,虽然语速有点快我经常跟不上……PPT很详细适合课后自学和复习。实验好难,后两个实验做的很痛苦,不过作为专业核心课,应该好好做实验,收获挺大的。最后考试把PPT上的知识点掌握好,平时作业做好,问题应该不大了。
作业量中等,基本都是重点。
实验有点耗费时间,并且其中两次实验有存在一定难度的加分项,更加耗费时间。
考试考很多概念、简答,因此建议复习的时候把ppt过一遍。
对于整个OS课程的评价(含信院计科os):
完全不知道英文PPT的意义何在,如果是说名词翻译问题,但其他课翻译的也很烂的时候也没有全英文,非常像是整个课程组的偷懒行为,复习时极度痛苦,考试双语双待,中英混杂,似乎也没有对改卷和审题有太多的帮助
对本课程的评价:
可以感觉老师上课的诚恳……因为有几节课我实在是听不动了,本课堂200+人即使小半翘课也有150+,社恐上课体验极差,在我听的课里感觉老师还是讲的不错的,就是语速太快了,不一定能跟上脑回路。另外,板书字有点小
关于实验和作业:
作业还行。实验也还行,实验文档非常详细(但有点详细过头)。对比我们班和隔壁班的实验差距摸鱼壬非常快乐(室友考完还在写实验)
关于本次考试:
警 惕 出 题 人。考前就传闻cxl班出题,结果真nm就隔壁班出题……与本班重点重合率小于80%,部分题能蒙出来还靠考前看了陈班的小测,所以你需要有一个cxl班的室友或者同学,,,另,我怀疑这是为了平衡两个班的人数的课程组py交易
成绩比我想象的好不少,是好事,,,
快毕业了,统一评课。
这门课我是20年上的,总体推荐。
少有的可以讲清楚课的老师。
老师做人也没问题,很多事情也会为学生考虑。
优点不赘述,没想到什么值得提的缺点。
总体推荐。
李老师PPT很适合自学,非常清晰。由于疫情关系,这学期实验比较划水,比重依旧是45% 建议大家学习时候深究有些知识点的定义,考前做做往年题,尤其是那个TLB的题。出了很多年了)给分的话能给满优秀率,我觉得就已经很好了。
老师讲得很清楚,作业很少,实验很少,最后的bonus实验加分很直接。考试目测要记清楚ppt上的各种定义,不然很容易我以为我对了实际上还差着远2333
美中不足的是OS作为本科cs最重要的课之一实验实在略显单薄(可能因为线上上实验课,难度都降低了很多很多),跟着贵清网课,看着答案写了实验感觉收获很大。如果想在实验方面有比较好的体验建议隔壁cxl班,目测给分也很奶。
提供一个给分样本:作业平均9分,实验基本都交了,bonus实验做了2-3分,期末卷面89,总评95。
先把回忆版试卷放在最前边,省得19级同学来翻看不见。
//老师
操作系统是我2020春季学期网课期间唯一一门认真听讲的课程。李老师上课主要也是讲ppt,(所幸ppt质量不错)而且老师额外的解释也不少,听起来不觉得乏味。期末考试时终于见到了李老师本人,个子挺高,说话声音也和网课时挺像(感觉自己在说废话)
就我的观察,李老师在同学们这里的评价是很不错的
//关于实验
本学期一共四次实验,其中:
* 三次必做,每次占总评10分;提交实验代码、文档及录屏讲解(不过以后肯定是线下检查了)分别是:1. 编译Linux0.11内核+熟悉qemu+gdb调试 ;2. 添加系统调用+简单shell (管道通信);3. 动态内存分配器的实现。OS普通班的实验都是些祖传实验,主体部分不知道多少年没改过了……可能会有些创新,比如写写Makefile之类的,但是大体上和往届的都差不多(遇到困难了找到往届的实验报告,发现让补全的函数的函数名都是一样的)……助教给的文档也很详细,顺着做下来基本问题不大
* 一次选做,分为两部分:其中第一部分实验要求较详细,根据完成情况在总评上额外加1/2/4分;第二部分是开放性的,酌情加0~4分。第一部分是关于FAT文件系统,第二部分开放性的就不多说了。有四分之一的同学做了选做实验,这其中大部分只拿到了1分或者2分的额外加分。(最高有人在选做实验上拿到了一共6分的额外加分)
//平时作业
一共布置了7次作业,2周左右一次,英文题目,大部分是些概念解释,简答题等等,相对于实验比较基础。值得吐槽的就是在classin上不允许迟交,室友有次忘记交了结果一直到期末才允许补交……
//关于考试
卷子出的不算难,就是太文科,而且考了一些奇奇怪怪的概念(上来第一题就考操作系统的四大特征orz,好像是 cxl 班上课讲过的,直接总评 -2)。出了一道关于磁盘调度的20分大题,凭借微弱的一点印象编了好久QAQ 文件系统反而考的内容挺少的,对于OS课程来说有点本末倒置的感觉。考前看了挺多运用信号量解决的问题,写者优先/读写公平的读者-写者问题之类,结果考试就考了个哲学家用餐的ppt原题…
据说是期末两个老师各出50%题目,想考好成绩最好把两个班ppt、作业都看了,因为貌似考完后有cxl班的同学不知道trashing是什么?这是lyk班的一道作业题……
//关于给分
作业20%实验30%期末50%,再加上选做实验的加分。没有调分。
//总结
这门课平时上课讲的内容+课下查阅资料看的内容零零总总加起来还算是能学到不少东西。我本身默认置课是cxl,但是看评课社区说要随堂小测实在是顶不住,就换来了。今年lyk班上一共180人,而cxl班51人,不知道明年情况如何(我反正觉得这波换课不亏~
考试还是挺无趣的,核心知识全部掌握也不见得考得好,必须尽量复习到所有细枝末节才稳……我本身考前觉得能拿4.3,结果最后还是凭着选做实验加分才得了4.0。根据评课社区评价来看,想刷高分还是考前使劲复习吧!1300多页的英文ppt等着你~
老师的PPT做的很赞,线上上课所以看回放或者PPT都能很好的看懂,作业布置的不多。上课逻辑也很清晰,助教很负责。总体还是推荐的。 实验部分因为在家,难度降了很多,只要填填空,熟悉熟悉操作就OK,最后一次选做加分事实证明很划算。 考试部分不做过多评价,自我感觉良好难度不大但是分数啪啪打脸,可能什么细节没把握好。
课讲的还是不错的。老师讲课很会打比方,ppt也很有活力,特别是当时讲进程管理的时候僵尸进程老师真的找了个僵尸头扔在那里。整个ppt逻辑结构也很清晰,每一个topic都会把主轴内容放在每一张ppt里面,比如讲内存管理的时候内存里的所有东西都一直放在一侧时时刻刻提醒你内存的结构是什么,免去了第一次接触一个新的知识然后跟着老师走的时候把框架丢了。 作业比较基础,难度不大。不过和课本知识结合的还是很好的,对你理解操作系统的流程很有帮助。 不过实验出的就有点糟糕了。前三个实验太easy,第四个实验又过于开放…第一个实验是熟悉Qemu和gdb,第二个实验是进城通信和shell,第三个实验是实现动态内存管理(都是给框架,只用填一点点东西),然后第四个实验就是自己动手写一个FS?我觉得大家都是第一次学的话还是多引导引导比较好吧… (不过据说大部分计人都是被其他班的实验劝退的…可能我当时应该换班?)
==========================
补充:
毁掉一门课需要几步?一张期末考试试卷就够了
名词解释居然可以因为“不完美”而把分扣光了?
明明有那么多重要的有趣的内容,实验不涉及、考试不涉及,那我们到底在学什么?学背书么?明明是实践性非常强的一门学科却要搞成概念考察课么?
我希望我能看到操作系统课程的实验能达到李诚班编译实验的质量的那一天。
这是李老师第一次教这门课,可以看出他是很想上好这门课的,我们提的很多意见他都采纳了,直接联系他比通过助教联系他还有效,助教也跟我们抱怨他有什么事都只是跟我们说不会跟助教们说。
但是小白鼠终究是不好当的,应该所有助教也都是第一次做助教的,对作业和实验难度把握不是很好。第一次实验的实验文档有些地方说得不是很详细,助教也没有在源码上做任何修改以简化实验,导致ddl过了之后仍有很多同学没有检查,当然我觉得部分原因是因为其中有同学到快到检查时间才开始做实验的。似乎第一次实验把助教吓到了,第二次实验就特别简单,基本照着文档来写就得了,虽然可以组队,但是一个人10个小时以内也是可以写完的。
平时作业有教材阅读和源码阅读,有两次问答题形式的作业。教材阅读就不说了,某个交流生大佬看到这个就换到H班去了。源码阅读布置了两次,第一次布置之后很多人反映这个太难了,然后就决定降低这部分的比重,改为写得好的得额外的加分,一次最高加三分。但是个人认为这并未没有减轻压力,反倒限制了优秀率,相信不会有多少人愿意看着别人总评加三分自己去佛系的吧。
想要在这门课提高编程水平大概是不可能的吧,对比H班的实验就知道这差别有多大,想多写代码而不是阅读报告的还是换到H班吧。不过也要慎重,貌似H班那帮人考试周还在写大作业。