| 选课类别:计划内与自由选修 | 教学类型:理论实验课 |
| 课程类别:本科计划内课程 | 开课单位:计算机科学与技术系 |
| 课程层次:专业核心 | 学分:4.0 |
操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。因此本课程的目的是使学生通过本课程的学习,理解操作系统的基本概念和主要功能,通过实例讲解,掌握常用操作系统(如Unix、Linux)中的关键技术,为学生以后的学习、工作和研究打下基础。
陈香兰老师的《操作系统原理与设计》课程涵盖了操作系统的四大模块:概念、算法、思想等。课程内容丰富,全部以英文PPT呈现。这些PPT被评价为简略或者跳跃性强,不过非常全面,与《操作系统概念》教材相辅相成。学生普遍认为上课是面向应试的,强调背诵。
陈老师被普遍认为人很好,教学认真负责,讲课的内容比较详尽。然而,由于课程内容较为“文科”,上课时部分同学容易走神。实际上,老师的PPT是总结非常详细的学习资料,只是少部分学生反映,课堂风格可能不太生动。
作业一般包含基本概念的理解与调度算法的分析,往往通过课堂小测取代,难度不大并在今年全部变为作业提交。总体来说,小测占总评15%,相对于课本内容较浅,通常是开卷可搜索式的。
实验内容主要是从0开始在qemu上设计并实现一个简单的操作系统,包括VGA输出、时钟中断、内存管理及进程调度。实验难度适中,但引导性不足,许多同学反映实验指导文档过于抽象。每周会有实验辅导课,助教会回答问题。然而即使实验框架辅助,实验最大难度在于需求的不明确。完成一个完整可运行的系统虽有成就感,没有实际效果。
考试是闭卷形式,偏重背诵,包括填空、名词解释、简答题、计算题及编程题等。给分政策上相对友好,许多学期末分数在卷面成绩基础上有适度调分;不过,考试如无好好复习和背诵部分内容,可能难以取得高分。
总体而言,《操作系统原理与设计》课程内容广泛,虽然可能带有一定的应试倾向,教学内容考验学生自学能力,高质量的PPT和实验设计能够支持学有余力的学生深入学习操作系统原理。选择此课程应该准备好面对背诵与实验挑战,且积极主动地利用课程以外的资源借鉴补助学习。无论从考试评价还是助教状况来看,背靠背的学生特别可能需要更加努力,以抵消课堂式微的互动体验。
助教插个眼~随缘更新~
看其他两位助教都发了小作文(bushi),我也来小说两句~
作业和实验我们原则上只要别太过分至少能拿90%的分数,所以最后总评不太美丽的同学应该是作业/实验出了点问题。考虑到本班有相当大一部分辅修的同学,我们最后也放弃了在作业/实验上设置关卡(我当年在隔壁上os实验实验课是要一对一拷问的😰),所以这门课就成了背书课的模样。只能说这是科大cs教育不得不品尝的一环,以至于gpa和大家习得技能与否的相关性也就不大了,希望这门课能作为反面典型来告诉大家,在ustc要学好cs还得靠自学😭,因为大家会注意到一些基本工具如markdown, latex乃至面向对象的编程思想都是统统不教的,大部分课程尽管有丰富的实验/作业来辅助学习,但最后都会在考场上变成背书大赛~
因为单身多年,所以我改完的试卷题目是最多的。整张试卷抛开难绷的背书题,第一道简单的计算题基本全灭,于是乎我在出最后一题答案的时候稍稍放了点海,基本上有字就能混到个10多分,没想到还是没把卷面平均分奶上60,可见这张试卷对大家参考价值不大,全看前面想象的翅膀有没有张好
最后也感谢大家一学期的包容与理解,感恩~(这可能是苯人最后一次做助教了,从22FA一己之力写完所有课程实验/作业文档,到现在变成摆烂老狗,令人感叹)
我的天呐,这分给得好到我瞳孔地震,真就全靠同行帮衬😭
实验查严一点→大家都被扣了→一起上调😭
我是 2025 春的助教。
又是一年“本来想好好干,但忙起来什么都没干”。放点资料先:
vlab 速通配环境视频链接、vscode + gdb debug qemu 视频链接、
哎现在这套实验真该早点扔了
下面发泄一点情绪:
今年班上辅修的同学特别多(没有说辅修同学不好的意思,部分相当强的),在有祖传代码流传和 ai 时代的今天,这门课的助教体验有点地狱了。
包括但不限于:
1. 部分实验报告质量低下:没有不允许 ai 写报告的意思,但你得检查一下自己写的是啥啊,ai 给你 mermaid 和 代码块 你就直接塞 word 里 ```mermaid ``` 是不是有点太过分了;还有拍屏拍个大灯在屏幕上镜面反射的、排版巨烂无比(首行随机空半行)、画个图手绘得贼草的(没有完全不允许手绘的意思);大量文字也是纯 aigc 凑数而并不准备真正复盘实验的。

2. 浑水摸鱼严重:虽然并未刻意查重,但改到一些实在绷不住了。抄别人的报告名字没改、别人做了很个性化的 ui 也直接用、mtime < 2025、没跑起来的代码也直接交等。然后交一份“报告”上来浪费双方的时间。有几位同学被提醒了多次实验被查到重了(直接交别人的学号、报告等),还是兢兢业业往 bb 上提交别人的/不能跑的实验,害我白下载解压了多次。


(但他还是交上来了 2021 年的祖传代码,还是我助教的,界面非常个性化。仔细对比了一下仅把 lab6 内容删去、把 .h 中定义的变量改成 extern、把名作改成自己)
虽然在实验不改的情况下这确实是一门祖传养老课,但直接演都不演了,这态度不好吧。文档是有点抽象,但感觉点也基本在上面了(好吧没怎么改实验文档确实是我摆了),评课社区大家都说实验难度并不高,哪里觉得说得有问题、不清楚,倒是问啊。单步调试也教了,感觉实验难度进一步下降。第三次实验开始实验课基本没人来了,问问题的也越来越少。结果每次一改实验,改到抽象的难受十几分钟。
如果以不端的态度学习、只交得上抽象的作业,我觉得考试再会背书、拿再高的绩、修再多学分也没有任何意义。
(真的没有范围攻击的意思)
以下为原回答:
老师人很好,讲得很清楚,就是容易听着走神(真的有点容易)。课下问的问题都会很热心回答(不管什么课的,甚至是不会的也会帮忙search或提供一下想法)。
实验设计的思路很不错,从0开始写个OS。只是总感觉文档容易看不懂要干什么,导致实验难度虚高(前两次实验看得我非常畏难,好不容易搞明白了发现难度完全没了)。
实验框架也比较纯c的样子,后面文件太多看着有点眼花缭乱。或许可以用class使结构更清晰一点?
最后一次实验今年是不给框架自行发挥的,因为文件数目太多+无框架+考试周来临,狠狠emo住了。希望前面节奏能快点。shell实验和malloc实验都属于工作量很小了,不明白为什么拖了这么久,考试周才来弄无框架。
可惜这门课还是开得太像文科了点。
虽然没有特别优秀,但总体来说是体验不错的一门课了。
感觉听懂讲课需要提前学学。
希望老师多给几分。
最后老师加了几分,遂卡绩。
20221224更新:
又到了选课的季节。我本学期担任计算系统概论A的助教,给我们班的人讲了讲vlab linux的一些简单使用(配置),不过来听的不多。如果你选了这门课(指操作系统),且打算使用vlab做实验(强烈推荐)的,可以查看我写的教程折腾一下电脑。(不过陈老师这门课怕是不好完全靠ssh,一定程度上还得靠桌面,因为qemu好像不能ssh;不过写代码的时候用vscode、需要运行的时候切到网页桌面用qemu也是不错的选择)
隔壁班不知道情况咋样,不过根据同学的描述,如果按照我上边的教程配置好那么对于做实验也有帮助。
限于本人水平,教程写的不咋地,可能有各种错误或者待改进的地方,欢迎评论区提出。
以下为原回答
省流助手:好好写实验,好好背书!
我是2022春上的这个课,这个学期由于jwc人为限制换班所以这个班人数不少。根据群里观测,老师给的优秀不少,不过高分上不去。
本课程使用的教材为《操作系统概念》的中文版,虽然教务系统上好像写的是英文版。需要教材中文或英文版本电子版课本的可以评论区邮箱留下,也可以通过其他联系方式。我尽量两天内处理。(不过也许过几个月我就把文件删了,所以想要的请抓紧)(跟我的计算机组成原理一样)参考书籍为汤晓丹的《计算机操作系统》,东区漂流书屋有。其实我觉得这个国产教材并不比那个课本写的差,也可能是翻译原因导致的。总之那本书的语言感觉不怎么流畅。也许对于英语大佬,看英语书更好一些。
授课内容为第一本书的前13章,每章后边的东西不讲,看也看不明白。
实验内容是从0搭建一个很简单的操作系统,本学期有6个实验,每次实验题目如下
听说比隔壁班更简单一些。我的实验全是满分或超满分,代码在这里,(2022/07/15更新:看见有人讨论代码开源问题,故删除链接)建议自己完成,不要抄;辅修人当我没说。
楼上tx同学说这门课考试比COD简单,不过我不这么认为,我认为这个课程考试比COD难。
可以看得出来老师讲课还是比较努力的,可惜实际上还是比较无聊,听的人也不多。教室里感觉大致为均匀分布。其实感觉如果好好听会有不少收获,可惜我没好好听。
上课有几次点名,不是所有人都点,我记得大概是所有点名加起来把所有人点了三次。
老师的PPT做的很用心,除了实验;PPT满满干货全是重点,这个应该好好看,建议及时把老师PPT的内容打下来以做好复习,别像我一样。
老师身体状况不是很好,希望同学体谅。不过老师还是比较负责任的。
老师讲实验的水平有点一言难尽,而且抓不到重点,就算是有人提到的20年录课视频也一样;实验PPT也抽象得很;建议主要使用助教的实验文档。每周六早上会有实验辅导,建议每次试验都去那问问,实验会顺利很多。(心疼助教小giegie~被我麻烦了那么多次)
这门课应该是比较重要的一门课,建议认真学习。
不过老师实验讲的水平一般,实验文档抽象,实验布置时间不合理,所以扣一分。
我没学好这门课,暑假得回炉重造。
身边实验交不上的人挺多的,其实实验没那么难,不过不少人都拖ddl完成,那肯定会比较困难。建议实验下发之后尽快完成。
我的建议如下:
1 一定要及时复习,别像我一样考前抱佛脚。
2 实验自己做,辅修人可忽略这一条。
3 老师会给每个人一次实验延迟提交机会,使用延迟提交之后可以在固定ddl之后一周内提交且没有晚交扣分。前几次实验都比较简单,建议留在最后一次实验使用,或者不使用。
4 考前可以看看tx同学(评课社区id:txtxj)评论里的链接。
5 装好vscode或其他合适的文本编辑器如Sublime等(Visual Studio不算),学会gdb的调试,否则实验会比较困难。我看对着几十个文件用ubuntu自带的文本编辑器写代码的,这属实是困难。
6 学会一点简单的命令行操作。
目前根据少量水群得到的样本观测,这个老师给分不差,优秀率比较高但是高分上不去。
我个人实验还不错,考试寄了,背书背不会。好在老师捞我,最后总评3.7,可惜在拥有125学分的前提下,增加4学分的3.7并不能改变我GPA的百分位,呜呜
今年我们班似乎比隔壁班躺,任务量也小一些,选这个班在计科恶心人的大二下可以减轻压力,毕竟组成原理、【请文明用语】的量子物理、一堆可能数学课还是比较消耗精力的。可以考虑选择此班。
这个班有很多超摆辅修人,由于大三老登懒的去上课,点名几乎全翘了,学期中处于摆和卷的叠加态,因此作业有几次补交了,实验为祖传实验,本身比较ez,网上还有很多参考代码可以抄。最后一次实验原本打算quit结果发现copliot太好用直接给我写完了。只把王道考研草草看了一遍+期末前突击了一个多小时(上场考试16:30结束,下场19:00开始),居然混了个中位数成绩。已经完全满意了。这课给我的感觉就是一些trivial东西反复讲(例如分级存储,以及一些“显然”的算法)学的不够深入也无法给出更多评价了。
据说这门课明年实验要改了,可能明年工作量就要大一些了。
讲课上,老师用的英文PPT,用中文讲授,总体上感觉PPT还是很详尽的,基本上涵盖了《Operating System Concepts》那本书讲授章节(1-13)的全部知识点,拿来看一遍复习完全够用了,不过英文PPT确实有些地方稍微有点难懂。老师身体不太好,不过十分负责,也是尽量想讲的更生动一些,可惜文科课大家确实听的兴趣一般般,基本上教室内集中在后排。老师语速我个人感觉有点慢,有时候回放1.5倍速听感觉更合适些(
作业基本上就是概念默写或者调度算法自己分析一下之类的,本来貌似是小测但是两个时间段都有人来不了就改成了作业,作业总体不难,必须手写拍照上传到BB系统上,感觉助教能多提醒一下提交ddl就更好了,我就不幸忘记交了一次(捂脸
重中之重就是试验了:Lab1基本环境搭建;Lab2VGA、UART串口输出;Lab3时钟中断,shell功能简单实现;Lab4内存分配和管理;Lab5&Lab6进程调度算法实现。总体设计相当不错,基本上就是不断完善一个简单操作系统的功能,层层递进,写起来很有成就感。实验还是有一定难度的,也问过好几次助教问题,实验文档和实验讲解稍微有一点不太完善,感觉有些要写的地方并没有叙述很详细清楚,一开始会感觉无从下手。通过实验也学了比较多的东西,包括一些shell命令、写简单脚本、简单的汇编命令等等。实验是写实验报告,最后提交报告+代码,实验报告要求的东西还蛮多的。
考试基本上就是背书大赛+默写大会,没啥好说的,背好1200页PPT基本就行,但是文科考试的确很无聊。注意一些细节,会考概念题,我们这次考了硬链接软链接,背的时候觉得不太可能考就没背,考试直接傻眼;还有一些简单的编程题(也就是进程同步、死锁那块,CS问题、哲学家就餐问题一类)、计算题等等,总体难度不大,但是要背的实在是太多了。。。
最后公布了卷面成绩,感觉给分海星(?)
目前看来是比较适合躺平养老的班级,不过要是什么时候出现了强力助教把实验改了就不好说了()
一共是 6 次作业和 6 个实验,外加五次签到构成平时分(今年第一次签到还在选课期所以没算分)。实验不需要当场检查,提交报告即可。
期末考试是统考,感觉题目比较谔谔,大概回忆一点:
平均分56.71,中位数57。听说改卷放海了,可能是辅修人有点多
整体难度是比较低的,不过前面的小题(填空和名词解释)比较难绷。正常写大概一个小时出头可以完卷,今年最后的信号量编程大题是设计写者优先的方案,直接命中 cache 了。
对着助教提供的资料复习基本不会出大问题。听说平常实验课气氛很欢快可惜我没去过(好像助教们很欢迎同学们来唠嗑)。
有同学喷助教喷实验啥的也可以理解,毕竟什么文档和框架几乎都是祖传的。不过还是建议多跟助教沟通沟通,听听他们的看法之类的。这个班大概有超过 30% 的辅修人,而且今年的助教这学期好像都比较忙,想大改实验可能得有一个比较合适的契机。想锻炼自己的可以先去隔壁班((
调分水平高超,本人期末 10%(btw,事后发现原来我大题扣了很多分,感觉离人类已经很远了),签到去了一半,实验和作业接近全满,最后 93。
本来不想评课,但是看到出分之后莫名喜感,还是来评一下
先说上课,真的听不进去,PPT看着很迷糊,课我也听不太明白。老师身体也不是很好,经常咳嗽(感觉老师还是得多注意身体QAQ),上课老师会把正课内容和实验都讲一下,正课内容还是比较丰富的,至少从期末复习课上看讲的内容还是蛮多的(比王道多)
关于理论学习还是比较推荐学堂在线陈渝、向勇老师的OS课,感觉讲的不算难,也很清晰,PPT写的也很nice(ucore可不听,感觉是thu的巨大实验)。之后和王道的内容互相补充,基本上可以cover科大PPT上的内容。
关于实验不说了,写了不太到一半,主打一个辅修摆烂
作业全交,期末大概10%左右,最后被捞到3.7,很满意(及格万岁党),毕竟今年期末还是背书大赛,平时没时间好好写实验期末周还没时间背书吗(×,其实是因为大三没啥期末考了期末就开始背书了)
上课用的英文ppt,老师用中午讲,ppt很不错,对着自学也没有任何问题。
实验相比其他班,较为简单,而且收获不少。
总评成绩按开学约定的比例给分,并且向上调分(我上调了好多分)。
考试前,一定一定要把课本+ppt的东西背一遍,答案都在其中
老师本人非常友好,甚至有点可爱。
上课中规中矩,考试的形式有点像文科,不过复习倒是很方便,考前画好重点,一通背记就能考个不错的成绩。总评应该捞了不少人,反正感谢老师捞我。
通常情况下,没有作业,而是用课堂小测代替。
今年实验和去年基本一样,在qemu上从零开始编写简单操作系统。文档比较简略,对我这种人来说,需要参考很多其它的资料才能写好。
实验对于我这个物院的来说还是相当有难度的,一开始被实验整得有些懵,不知道从何入手。需要自己静下心来慢慢理清思路,慢慢写,独立完成还是能学到不少东西的。 关于考试,因为是两个班一起出题,可能会出现一些没讲过的东西(?也可能是我忘了),也会考一些非常细的概念,不过大致上看看ppt应该就没什么问题。 给分还是不错的,实验按时完成,考试感觉一般,没想到最后给了4.3
讲课:PPT英文授课中文(艹装什么B),语调催眠但是内容确实有料,但我基本没听(看王道书导致的
小测:无
作业:中文出题,看PPT即可解决
考试:中文出题,名词解释(别想拿满)+简答+大题(内存缓存访问时间计算、调度算法甘特图绘制+典型信号量题目)
实验:如其他评论所说,古板且难度适中,可独立完成,助教也愿意答疑和查bug。
捞人:期末69+实验作业近似满分=4.0
推荐程度:由于pksq和置课因素,计科学生选的较少,辅修重修较多。到课率低,因此对于计科同学有一定优势。
老师讲得很不错,但叠课了,遂摆。 实验做了三个,签到一次没去,小测全是线上提交,还有一次忘交了,期末考前三小时把PPT翻了一遍,结果还行,老师给分很好。
陈老师语速挺快的,声音不大,也比较无聊,但仔细听还是比较详细的。PPT挺详细但看起来莫名的怪,PPT上的内容都可能会考,大概相当于教材的大部分加上一小部分的考研书,考前最好背一遍,毕竟有二十分名词解释和二十分简答。
没有作业,只有课前小测,今年总共6次,完全开卷,可以用手机。实验挺玄学,文档和PPT都不怎么详细,很多东西搞不明白还得看看祖传代码,特别是前两次实验。中间三次实验难度不太大,在提供框架的情况下实现也不需要很多时间,逻辑也很简单,就是一些链表。第六次实验不给框架了,感觉一下子就难了起来,需要自己实现其他调度算法。整体来看实验难度不大,今年实验报告要求也不高,助教会给出需要写的内容,只要完成任务就是满分。考试不难,PPT和书要好好背,每年都有不少于30分的纯背诵题。信号量的编程,死锁的银行家算法,各种调度,包括进城调度,虚存的页面调度和最后的磁盘调度,内存管理部分的各种计算和过程都要熟悉,后面的大题就主要考这些内容。文件管理部分各种概念都要熟悉,还有一些PPT上只提到个名词的东西比如软链接,硬链接之类的最好也要自己查一查熟悉一下。
最后给分不错,实验满分,期末84就可以上95了
给分很好,最后一个实验没时间做,期末稀碎都能2.7,
不太建议翻于渊的《自制一个操作系统》并为此看王爽老师的《汇编语言》,你猜猜我是怎么知道的
实验没用到汇编,很友好
老师人很好,讲课也不错。实验共六次,感觉比另一个班简单(虽然每个实验我都要做很久,最后两个还没有做完)。我总评2.0,对于只求不挂的我来说还是很好了。
讲义做的不错,期末前要多看几遍,很有帮助。
实验今年改革了,有点难度。每次实验都要交,否则至少会差一档
期末有点像文科,都看看书和讲义吧,期末考的好的,总评会调的比较高。我期末考了前三,实验都交了,作业平均8分吧,最后总评98.