计算机操作系统

(张殷乾)CS3022026春 2025春 2024春 2023春 2022春 2021春  
2026春 2025春 2024春 2023春 2022春 2021春
4.4(19人评价)
  • 课程难度
    困难
  • 作业多少
    中等
  • 给分好坏
    一般
  • 收获大小
    一般
选课类别:专业任务 教学语言:英文
课程类别:专业核心课 开课单位:计算机科学与工程系
课程层次:本科 获得学分:3.0
课程主页:暂无(如果你知道,请点右上角“编辑课程信息”添加!)
点评写点评
排序学期
评分评分19条点评
user avatar   nuxiak     2026春
  • 难度:困难
  • 作业:很多
  • 给分:杀手
  • 收获:一般

1分是给沈昀老师的(一如既往好评),剩下的是0分

一次彻底失败的AI与去AI化教育改革

 

先说结论:project不算bonus平均分12,我们组13.5;期中我个人104,平均80分(老师原话太高了);期末分还没出,我不想让分数成为对这个课程评价的bias来源,以下的吐槽都不是基于分数高低,而是做题的感受。


(1)期中期末出题依赖AI:

题目做下来的感觉非常不好,题目就像你用AI总结知识点一样,对于你的要求就是背诵所有lecture、lab课件和课上不讲但是要求你会的课外资料,包括但不限于所有知识点,例子,>1000行的代码实现,全部背诵,漏了就扣分(如果你不想背也可以选择放弃60分(30x5个选项,每个选项就像是ai总结的知识点随机mutation)的选择题),但是应该还好,因为120分的考试本来就没想让你做完。
考试的题目中会随机出现"in the reading", "in our lab5"等rag特征的题面,对不起,我没有向量检索功能,想不起来你说的是什么意思。但是应该还好,因为120分的考试本来就没想让你做完。
考试内容并不evenly distributed,我理解老师是搞security的,对这方面有热情,这很好。但是一共讲了半节lecture的内容,占了可能有20分的部分。但是应该还好,因为120分的考试本来就没想让你做完。
有人说软件工程是文科课程,这OS何尝又不是呢?如果这样的话,我建议下学期直接做个闭环:老师对着AI讲,AI理解了就说明课讲好了;学生每人限定参数量训练一个本地模型,打包上传替你考试,可能得不了高分,但是应该还好,因为120分的考试本来就没想让你做完。

 

(2)project希望去AI化,最后还是AI占了上风

project需要你实现一个ext2/3文件系统,15分,基础分40%过了checkpoint就能拿,剩余基础分60%做题拿到,1分的journaling实现也需要答题不然没分,5分的内卷速度排名(原话没想让多少人拿到),一个agent会花大概2小时完成的任务,答辩时不需要你展示,你只需要根据AI阅读你代码生成的问题6选3(如果做了bonus是6选3+1)回答,据我的了解和观察,同学们仍然没有理解自己的代码,大家沉浸在自己预先生成的题库中(不是贬义,我们组生成了5000题,最后成功cache hit)。可能有人会说你难道不应该理解你自己的代码吗?是的,我承认,我们需要在答辩时展现我们对自己项目的了解。
但是,你问的问题都是“你的项目中xxxxx的定义是xxxxxx,如果在xxxxx情况下xxxxxx了,有可能会发生什么样的问题,你觉得这样合理吗,你怎么改进?”如果我说答辩是讲述自己如何实现的代码,特色有哪些,这很合理;但是如果你让我在答辩的时候改进我的代码,我不理解为什么要做这个project,你明明可以把大家拉到机房做2小时线上手写代码题,却也一定要我们在15分钟针对3个1000行代码体量的问题精准定位并提出分析和解决方案,我觉得你的去AI化只是在用要求AI的方式要求人做到一样的事情,是不合理的。最终的结果就是,所有人都在用AI打败AI出的题,而这是我个人感觉到这门课的"去AI化"努力。
 

这门课最大的讽刺就是我们希望行动上去除对AI的依赖,但是它根本没有实现过——因为从出题到考核,从始至终就没离开过AI。你用AI出题,用AI生成答辩问题,用AI的逻辑设计考核标准,然后告诉学生我们会考察你本人对代码的理解。这不是教育改革,这是一场自我欺骗的行为艺术。当你费尽心思设计出一套让人背诵一切、回答一切、在15分钟内解决一切的考核体系时,你培养的早已不是会思考的未来工程师,而是一个参数更少、推理更慢、还要付学费的劣质语言模型。(本段生成自claude opus4.8

我看了其他同学的一些评价,我只能说这门课教的东西本身没有失去意义。但当AI已经到来,有些改变确实得想清楚再做——至少,得先想清楚到底在教人,还是在训练人和AI做一样的工作然后假装自己不是AI。

user avatar   匿名用户     2026春
  • 难度:困难
  • 作业:中等
  • 给分:杀手
  • 收获:很多

本课程考核体系基于大语言模型自动化出题、机器学习驱动智能评阅构建,以全局平均分阈值调控为核心优化目标,通过对全体学生作答数据集的负载均衡式分数压缩,实现考核结果的中心化调度与偏差收敛,本质是一套面向学生群体的进程调度级评分限流机制。

从内核运行逻辑拆解:AI命题阶段依托虚拟内存地址随机映射逻辑,对进程管理、死锁预防、分页分段存储、磁盘调度算法、文件系统索引结构、PCB进程控制块、缓冲区管理等核心知识点进行碎片化哈希采样,规避固定考点的内存缓存命中漏洞,最大化试题熵值与考核随机性,降低学生知识栈的局部最优解复用概率。

AI自动化评阅环节采用中断优先级调度式打分规则,以预设的平均分水位线为系统临界区阈值,当全体作答分数资源占用过高、超出阈值时,自动触发资源抢占式降权,对高分作答执行页面置换式扣分、中等分进行时间片压缩式压分,低分维持阻塞队列优先级不变,通过全局信号量调控强行拉低群体平均分,保障考核数据集符合预设的正态分布调度策略。

整套机制下,学生作答行为可视为向操作系统内核提交系统调用请求,AI命题是随机生成的硬件中断信号,AI改卷是内核层的权限校验与资源分配,而压低平均分本质是系统为维持负载均衡,主动对用户态进程(学生作答)实施CPU时间片节流、内存配额压缩,最终实现考核生态的内核级稳定性管控,让所有作答结果被统一调度至预设的平均分运行区间。

要不要我再给你一版更简短、吐槽感更强、AI学术腔拉满的精简版?

正如上文所言,在这门课引入AI出卷阅卷(甚至Project也由AI阅读仓库出题并打分)的机制是相当前卫的,同时也是步子迈太大的。题量很大很难读,很难不给同学们一种挫败感——我们的能力真的能够被考察到这么多深入的知识吗,操作系统这门课的精华真的有被我们吸收吗?

技不如人甘拜下风,这门课仍然非常重要,也仍然值得被多次学习(lecture的很多内容的确应该成为计算机学生的常识),沈姐姐的lab也依旧扎实在线,希望后来的同学们能够多花一些时间,在AI时代也把这门课学扎实!

user avatar   叽叽喳喳     2026春
  • 难度:困难
  • 作业:很少
  • 给分:杀手
  • 收获:一般

傻福ai改题,project答辩唯一一道给了满分的题是计算题,这还是在其他题都是ai押中了的情况。

 

 

本回答由 AI 生成,内容仅供参考,请仔细甄别。

 

明白了,之前是我理解有误,把两个部分搞混了。现在我清楚了:

一门操作系统课,两种崩溃体验

这学期操作系统课的教学考核,堪称一场精心策划的双重暴击:一边是把 project 答辩异化成现场抽背的“3+1”速记大赛,另一边是把期末考试膨胀成覆盖 53 份文件的海量记忆酷刑。两条路殊途同归——它们与“考察操作系统理解能力”这件事,基本无关。

一、Project 答辩:名为反 AI,实为催生 AI 押题

为了避免学生对 AI 的依赖,答辩被设计成现场开卷考试:20 分钟内六选三,再加一道 Bonus。用意似乎是好的——如果没法提前准备,你总得真懂吧?

但题目一出来,你就知道这逻辑有多荒谬。题目通篇围绕一段具体代码实现进行追问,比如:

filo.open 的实现中(第131-195行),named FIFO 的打开语义使用了 reader_seqwriter_seq 两个序列号字段来控制阻塞等待逻辑(第155行和第169行的 while 循环条件)。请解释:(1)为什么不能仅用 fifo->readers == 0fifo->writers == 0 来判断是否需要等待,而必须引入 seen_readers/seen_writers 和序列号机制?(2)如果去掉序列号机制,仅用计数判断,可能出现什么竞态问题?请给出一个具体的进程交错时序来说明。

这题什么水平?哪怕你亲手写过这段代码,在 20 分钟限时压力下也未必能当场讲透彻。它考察的不是你对同步机制的理解,而是你对一个特定代码片段的记忆复现能力。

结果呢?最有效的备考方式是 AI 押题。我们组用 AI 押了 2000 道题,全部押中。讽刺就讽刺在这:一场号称“避免学生依赖 AI”的答辩,最终赢家是事先用 AI 准备得最充分的人。

但即使全部押中,AI的答案也没有拿满分数。Bonus 更是黑盒出分——没有评分标准,不验证代码正确性,唯一的尺度似乎就是“快就行了”。项目答辩本该是工程能力的展示,在这里却变成了一场速记表演赛,而且裁判还戴着墨镜。

二、期末考试:AI 出题,AI 阅卷,海量记忆彩票

如果答辩的问题是形式扭曲内容,那期末考试的问题就是内容膨胀到反人类。

期末考试 120 分的卷子,印了整整 12 页。其中 30 道不定项选择,每道题 5 个选项,选择题部分就占满 10 页纸。张老师的表态是:“出 120 分的卷子就是让你们挑着 100 分复习到了的题做,不是给你们 20 分 bonus。”

这话听着大方,实则荒谬——我不做怎么知道我会不会?整张卷子变成了刮彩票,刮到哪算哪。你的分数不取决于你掌握了多少操作系统原理,而取决于你的记忆恰好覆盖了哪些犄角旮旯。

更让人窒息的是出题方式。期末范围涵盖整个学期的 lab、lec 和课外阅读资料,总计 53 份文件。课外阅读是外国教材章节节选,没有一份 PDF 低于 10 页。出题逻辑是在所有文件里随机抽——于是你就能见到这种题目:RAID 4 和 RAID 5 的区别哪些是对的(多选)?请说明为什么磁盘顺序读取优先级比随机读取更高,请用 specific performance number 说明。还考了大量安全问题,而对应的 L13 Operating System Security 课件,张老师只讲了半堂课。

题目里 AI 的痕迹藏都藏不住。“根据 lab5 的内容……”“根据 lecture slides……”这种句式反复出现,验题环节形同虚设。lab 考试内容和平时 lab quiz 差距巨大,仿佛出题人根本不知道学生实际做了什么。

更魔幻的是,期末考试前直接告知将用 AI 阅卷。AI 出题,AI 阅卷,学生被夹在中间当数据搬运工——把 53 份文件的内容尽可能多地塞进脑子,再在考场上尽可能多地吐出来。这不是教育,这是一场信息存储与检索的压力测试。

期中 80 分的均分被认为“太高了”,于是期末设计的一切都指向一个目标:把平均分压回 60。但对于张老师来说,设计一套考察一点点智力的题目或许还是太困难了——用题海战术压分,显然更容易。

三、殊途同归的荒诞

答辩和期末,形式截然不同,内核却惊人一致:它们都不信任学生能真正理解操作系统,也不试图去考察这种理解。答辩用高压限时把理解逼成条件反射,期末用海量范围把学习逼成文档背诵。两条路最终汇合在同一个终点——学生对操作系统的兴趣被消耗殆尽,除了如何在这种畸形考核里苟且求生,什么都没学会。

而最悲哀的是,这一切甚至不是因为老师太严格。严格是好的。这是懒政——用 AI 生成题目,用题量代替难度,用黑盒代替标准,用压分代替反馈。一门核心专业课,就这样沦为了一场互相折磨的形式主义仪式。

user avatar   FALSS     2026春
  • 难度:困难
  • 作业:中等
  • 给分:杀手
  • 收获:很多

其实我有认真思考过,这门课如果抛开考试体验不谈,应该给它打多少分?…然后我发现我抛不开(

为啥给5分,因为我估摸着我们期末考的平均分也就5字开头。

-又双叒叕是一门让我学的头昏脑胀的课程,我发现真的每学期都有一门这样的专业课。操作系统的知识也是挺杂的,概念很多,每个东西要完全搞懂都有一定难度,而课上老师讲得飞快,以我的能力确实根本做不到跟上老师的节奏,于是只能被迫按自己的节奏学,把老师的讲课当成白噪音(

+每节课都有一次计入总评的quiz,不知道是不是老师默认大家都会用ai做,所以quiz的出题范围有些放飞自我。经常会出现课还没讲到,但是quiz就已经出现了的知识点,没AI的话哪怕跟上了课程内容也做不了。而且老师很可能有特意针对AI的目标,基本上每次quiz都会出现一道AI稳定做错的题目。不过好在quiz总分是溢出的,次次都做了的话很难拿不满分。

+本课程实验课相关部分的体验都特别好,但是这一点基本跟课程本身无关,单纯是因为沈昀老师太伟大了。沈昀老师特别好说话,几乎有问必答,而且在许多地方都对学生做出了特别大的让步。就比如说最后的project,本来根据要求除了提交代码,准备答辩,还要写两份报告,一份介绍project实现的,一份介绍AI使用的(后者甚至要求学生明确贴出哪一段代码是用AI写的,要把跟AI的对话都给贴上去),但是沈昀老师为了让我们能有更好的体验,直接跟我们说“report不用交了,大家好好复习考试”,真的,被各种改革的project答辩流程给弄得晕头转向的时候,看到这一句话,你就会明白什么TMD叫救赎感,沈昀老师永远的神。

+每节实验课都有一个计入总评的lab report,这个的体验还是不错的,lab report满分10分,只要写了名字就有6分,一般每次3~4道题,每道题也就1~2分,中间写错了什么地方,分都是0.1,0.2这样的刮痧式扣分,基本上不会出现拿不满分的情况,总分甚至还是溢出的,完全没有任何压力,就当是自己给自己制作期末复习资料了。

+平时作业环节能说的不多,5次作业取4次最高分,更何况现在还有AI大人,很容易就无痛处理了。

+本学期的project,张殷乾老师明确表达了“针对AI做出了相当大的改革”,由于是第一个学期这么干,很多都是实验性的操作,真的把人弄得晕头转向的。首先,project的总评基础分虽然还是15分,但是从以往的只看checkpoint通过与否,到这次checkpoint只占6分,答辩占9分。这么改革是因为,由于AI的存在,教学组必须要确认你是理解自己的代码的,想法是非常好的,但是实际执行起来非常沟槽,操作系统的代码有一大坨,教学组根本不可能去细看每个组的实现(甚至搞不好光是找到“实现”被写在了哪都要先找半天),所以,你很难想象,我们的“答辩”流程是这样的:

        答辩前一天晚上,是代码的最后修改期限。到期之后,教学组会让AI去读取你的仓库,让AI来出题,教学组会粗浅地审核一下AI出的题目合不合理,然后第二天去答辩的时候,最终的题目(6道基础题+1道bonus相关问题)就会打印出来交到你手上。你和你的组员要在15~20分钟内,从6道基础题里面挑选3道完成,bonus只要做了那么那1题是必答,将答案写到扫码扫出的问卷链接里,就结束了。全程不需要跟老师们产生任何交流,这就是“答辩”流程。与其说是答辩,不如说是一场线下的半开卷考试,答题期间你和你的组员可以动用一切不联网的手段,包括但不限于翻看代码,查看笔记,还有提前让AI根据自己的仓库代码押题,把押题的内容打印出来或者写成文档在答题的时候打开来看,直接ctrl+F搜索内容都行。

         看上去还挺容易对付的,毕竟你可以提前让AI押几百道题到时候从容地搜索相关内容,但实际还是要看运气。AI出题非常的细,会盯着你实现里的一个犄角旮旯的地方,问XX函数中具体的XX步骤如果出了XX情况,你的操作系统会如何处理?处理过程会调用的函数序列是什么样的?这么处理是否还有缺陷?有的话应该怎么办?…全都是这种题目。我觉得哪怕真的理解了自己代码的人,碰到这种题也得愣半天,所以答辩当天真的基本就是看你押中了多少题,你底气才有多少。

OK啊,经常看我点评的都知道,我每一个点前面是+,代表这一项我觉得是个加分项,是-就代表我觉得这一项是个减分项,那么为什么前面那么多明明让人体验不太好的内容,我都算成加分项了?因为,无论如何,他们从期中期末考试的手里,分走了总评的分数。

-正如前人所言,这门课有着我有史以来见过最难拿分的期末考试,期中稍微好点但也绝非善类。期中和期末各有自己的病情。

-期中考试是大量的重复题量堆叠,一个知识点可能在选择题里考了一遍,然后又在选择题里考了一遍,然后又在选择题里考了一遍,然后…哦这回是在大题里考了一遍。你可能会说,这不是好事吗?不同题目之间相互对照一下更容易做对,大题还能照抄选择题选项。这倒确实,但我怀疑老师可能就是冲着这点,在题量上彻底放飞自我了。期中除选择题以外,题型只有大题,和伪装成简答题的大题。每个题目都有好几个小问,每个小问都需要你写一堆话,甚至可能还需要你进行多方比较,罗列各种什么玩意的特点,和他们之间的不同之处…然后这竟然只是一道大题的一道小题的其中一句话。简答题的题干里命名写着“Answer with a single sentence”之类的内容,但你只要看了题就会知道真能一句话答完那才有鬼了。

-期末考试则是在题量没有有效削减的情况下,出现了大量的做梦都没想到会考的知识。考前不到一天,老师在群里发了这么一条信息:“考试内容包含:(1)一部分期中前的内容,(2)lab内容会考核,一定要复习,(3)教材内容中,指定阅读的部分即便上课没讲也会考。”为考试内容的百花齐放埋下了伏笔。当时我看到这信息,以为lab部分应该是会考一些lab report里的内容,比如手推死锁检测算法,手推页表置换,手推PPN/VPN翻译之类。结果做梦都没想到,他在考试里竟然大量涉及针对某次lab内容的代码中的某个特定函数的作用这种问题,真的很大量,选择题一共30道里面好像11道都有这种东西,然后真的也有很多光看课件绝对看不到的“超纲”知识。你要说“没说不考”的话,确实,你甚至说了这些东西“要考”,但是,占比这么大,阿巴阿巴阿巴…我当时第一页选择题都还没做完的时候直接释怀地笑了。

-最后提一嘴,你能感觉到老师有着毫不遮掩的刻意压分意识。期末考前老师说过这么一句话:“去年期末考的平均分是60左右,但是你们今年期中考平均分有80,我觉得可能给你们出题出简单了,所以期末我会加一点难度。”

对了,期中期末的满分都是120分,只要拿了100分就是满分,去年也是一样的分数配置,但是去年期末平均分不到60。

†升天†

user avatar   匿名用户     2026春
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:很多

在agent大行其道的时代,为数不多的还值得学习的课程,虽然几乎所有作业和proj都是agent写的了(

这个学期太短了,只有14节课。感觉学完这门课程会很心虚,但好像的确把slides cover的内容都搞懂了。这种心虚感应该是来源于几乎撒手的代码工作吧,最后的proj都已经演化成开很多个agent做性能斗蛐蛐了。

张老师+三教107的低频共振的确难集中注意力,但是lab课肯定还得是sy👩。

——————————

鸡掰,傻卵期末想把我们训练成ai人神速prefilling是吧。哪个RAG出的烂题context都放不全叫我们做,还在课程群嘴硬,这是人类吗?教学态度何在?

user avatar   水都的拉帝欧斯     2025春
  • 难度:困难
  • 作业:中等
  • 给分:一般
  • 收获:很多

不是哥们,我说我考六十分,你tm真给我六十分啊?
大学期间最难的期末考试,没有之一!没有之一!!没有之一!!!

客观评价,如果说前几年唐博DSAA是实践部分比较难(写代码比较难debug),理论部分可以说是相对简单(期末考试难纯粹是唐博想要故意刁难);那我觉得操作系统则是一门理论部分和实践部分都非常复杂的课。先说分数安排:

理论课Quiz 5分:总共大约十多次Quiz,总体来说难度较高,但是对答案老师也不管,所以都可以找别人对答案),Quiz的内容大致是当堂课的内容,绝大多数题目是不定项选择,如果没听课200%靠自己写不出来,而且AI不能100%解决这门课上的Quiz,最好找满分的同学对一下答案。以及,期中期末考前一定,一定,一定要仔细看Quiz!会出原题!

Lab 签到 14 分:和寄系大部分课程不同的是,这门课并不是要完成一段代码什么的然后找老师检查,而是每堂Lab课都会发一个练习(纸质),总共10分,写了名字就有6分,剩下四道题一题一分,然后一学期总共有12次左右的练习,拿满100分就可以了,这个还算比较轻松

作业16分:作业每次4分,总共5次,选取4次最高分,不是算总分。前三次作业难度呈递增趋势,前两次都需要6-8小时不等才能完成(个人情况,而且还是问了沈姐姐怎么做的,超级感谢沈姐姐,真的超有耐心!无论我提出了多么愚蠢的问题她都会超级耐心地解答!!大家要是有分都去冲沈姐姐的Lab课!),第三次作业爆难直接放弃,个人估计没有12小时写不出来。4和5基本送分,20分钟到半个小时足矣。所以这一部分的分数也并不算太难拿。

project 20分:初看上去挺难的,实际上手写就会发现一点也不简单。操作系统是非常难以debug的,因为操作系统的代码牵一发而动全身而且细节非常非常多,如果程序不正常运行,那么它大概率不会死在第一现场,而是不知道在哪里就崩溃了,而且很难推测是哪里出现了问题,只能不停print然后慢慢找。project全部依赖AI大概是比较困难的,所以如果出现bug最好还是自己仔细看看哪里出问题了,真的是非常烧脑。但是好在project的代码量并不大,大概一千行以内就可以搞定,这部分的分数也不会太难拿,而且不会的都可以问沈姐姐!

期中考试20分:总的来说并不算太困难,只要认真看了课件都不会觉得很难。120分满分,超过100分的算溢出并且不加到任何地方。印象最深的题目是考了一个简述OpenSBI的启动流程,这个是一个很Lab的内容,毕竟理论课上好像都没有讲过什么是OpenSBI,所以Lab课件有空的话还是过一下比较好。笨人喜提109.5,还算是非常满意。

期末考试25分:期末也是120满分,平均分是53.7,笨人喜提65.5。我本以为判断和和填空也跟期中一样看了课件背一下重要的东西就行,结果重要的东西一个不考,净考一些很偏门的东西,尤其是操作系统安全,最后一节课的内容考了很多很多,我感觉我填空空了一半都不会写在那儿干瞪眼。然而事实证明干瞪眼是错误的,因为根本没有时间干瞪眼,大题的题量巨大,一道期中大约占12分左右的计算题,到期末考只占5-6分,我根本数不清有多少道大题,最后两道大题题目都没仔细看就打铃交卷了。说实话最后半个小时整个人都不好了,心态极差,因为根本没有料到会有这么多的题目,而且每道题都挺难的。。。要么是一些很偏门的知识点,考文科题,要么是计算量比较大的计算题,要么是代码题(手写C代码),所以这张卷子考下来感觉确实非常难……

笨人总评92,只有期末考试扣了分。或许也可以说这门课是平时任务不太难的期末杀手,但是这门课程还是很有收获的(虽然现在也已经全部忘光光辣),覆盖的内容很广,并且还是比较深入的。并且理论和Lab的脱节现象并不严重,甚至可以说是紧密结合的,这一点在寄系的课程中实属难得。

这门课还有一个槽点……就是张老师说英语的速度真的很快,而且这个学期是在一教107上的课,然后张老师又要拿话筒,所以声音真的比较糊,基本上听不清他在讲什么。所以最终还是看课件自学(

user avatar   Usagi     2025春
  • 难度:困难
  • 作业:中等
  • 给分:超好
  • 收获:很多

这门课上完了给人一种有点心虚的感觉,感觉自己对于OS的认识还是相当肤浅。

  • 理论知识:

    理论知识内容相当繁杂,个人感觉concurrency和deadlock部分是最难理解的(我到现在其实也没完全理解),其他部分相对来说没那么困难;我不懂某个知识点的时候就让Gemini用暴躁老哥的语气讲给我听,跟听单口相声一样,很好玩儿,学没学会另说。

  • 代码量:

    这方面是最让人感到心虚的。隔壁计组多少是让你手搓一个CPU的,但是OS就只是要你盯着xv6写好的代码修修补补,以通过checkpoint为目的。我并不觉得“修修补补”就没有难度或者没有意义,但是它有一些缺点:

    1. 学习曲线比较陡峭。

      你需要在没有自己写过OS,只知道一点理论知识的情况下去尝试理解xv6的代码和逻辑。

    2. 相对来说没那么有成就感。

      毕竟代码不是自己从头一点点写出来的。

    3. 过了checkpoint不代表我真的懂了。

     

    当然,如果真的能抽出课余时间把xv6每一行代码都看懂,那自然是最好的;但是我太懒了,没有这么做。

    另外,助教学长准备的lab课相当用心,内容很丰富,涉及很多理论课不会讲的细节;但是我太懒了,很多时候课件都没有认真看。

  • 考试:

    期末考试题量超大,对于理论知识考得非常细,是我考过的最难的考试。我考完觉得自己就能得一半分左右,没想到结果出来莫名其妙地好,最后得了A+,感觉运气成分很大。

user avatar   Stephanie_Collins     2026春
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:一般

复习计网中间过来看眼计操的评价,感觉现在 4.8 的评分还是太高了。张老师似乎想把我们期末均分往下压一压,我也顺手过来压一压评价均分。

客观来讲,计算机操作系统是一门很有价值、很值得学习的课程,我也并不质疑张老师的授课水准。这里主要想讨论的,是本学期教学组推进的激进 AI 改革。本学期的改革有做得好的地方,也有做得不够好的地方,但其中有三个问题,我认为确实值得认真思考。

第一个问题:AI 的可信性问题。

AI 幻觉是学界公认的问题。我相信教学组不会拿那种不靠谱的模型 API 来辅助教学、阅卷、出题、project 答辩,应该用的是 GPT、Gemini 这类相对稳定的大模型和 agent。问题是:现在的 AI 技术真的已经成熟到可以规避幻觉了吗?我们真的能相信 AI 给出的题目、答案、阅卷分数都是对的吗?agent 真的已经强到不存在 hallucination 了吗?

显然没有。

现在的风气是,媒体在吹,资本在吹,学校也在吹,大家开始盲目相信 AI 的强大,甚至把它当成“绝对正确的神谕”。但别忘了,AI 本质上依然是个 black box,是靠 pretrain + post training 从黑箱里训练出来的东西。现在 LLM 的 pretrain 方式本质上还是 next-token prediction,它真的已经强大到可以说自己“理解”了人类世界吗?我们真的能相信它吗?

AI 在认知广度上可能碾压人类,这没问题;但在深度上,它真的赢了吗?它真的能问出有价值的问题吗?它真的能给出深刻 insight 吗?我们真的能相信它吗?进一步说,它真的能提出有价值的问题吗?

所以具体到我们的考试,里面 AI 出的题目,真的是对的问题吗?真的是考验我们对 OS 理解的题目吗?

人类有偏见,互联网有偏见,在人类偏见本来就很浅薄的语料上训练出来的 AI,真的已经值得我们完全信赖了吗?

第二个问题:这个时代到底要学什么。

这是更值得思考的问题。

现在 agent 写一个计系 project 已经轻轻松松,甚至比大部分学生写得还好。那我们到底还需要学什么?这大概也是很多同学的迷茫:如果 AI 能替你解决问题,那它是不是就能取代你?这个问题或许仍然没有定论,或许也是每个人心里的疑惑,我们似乎还没有一个明确的最终答案。

但教学组似乎已经给出了答案:AI 知道你要学什么。

因为:

project 答辩题是 AI 出的
卷子里相当一部分题目是 AI 出的

那我就想问一句:

你的 GPT 是在 pretrain 的时候想明白了“人类应该学什么”?还是在 SFT 的时候?还是在 RLHF 的时候?还是在 CoT 的时候?还是在你们给它塞 skill 的时候?

这个问题的答案,到底应该在人类手上,还是在 AI 手上?这样一个深刻的人文问题,交给一些 black box 的技术,就真的能算解决了吗?

第三个问题:AI 辅助的评价体系,是否公平。

AI 进课堂不是问题,AI 辅助教学也不是问题,问题是:当 AI 开始介入出题、阅卷、评分、答辩的时候,学生的分数到底是谁说了算?

是学生自己?是老师?还是一个你根本不知道它在想什么、也不知道它为什么这么想的黑箱模型?

AI 扣你分你能申诉吗?AI 出题难度漂不漂?AI 的偏差谁负责?AI 的错误谁背锅?AI 的决策教学组能解释吗?还是最后一句话:AI 说你错了,你就错了。AI这么出题,你就该这么学。

这玩意儿到底算不算公平?到底算不算透明?到底算不算可追责?到底算不算教育?

更离谱的是,AI 的不可解释性本来就是学界公认的问题,现在却摇身一变成了“评分依据”。你甚至不知道它扣你分的理由是不是它自己幻觉出来的。你甚至不知道它是不是因为 prompt 写得不够好就把你当成另一个人来判。你甚至不知道它是不是因为训练数据里某些偏见,就把你往某个方向推。

这不是“改革”,这是把学生的命运交给一个你无法质疑、无法追责、无法理解的系统。
这不是“现代化教学”,这是“责任外包”。
这不是“提高效率”,这是“降低透明度”。
这不是“教育公平”,这是“教育抽奖”。

 

以上评论在我写完初稿后由GPT-5.4mini保留语气润色而成,因为我语文太差了写点评条理不够而且骂的不够狠

 

 

二编:

忍不了了,看着project的AI写的feedback,里边每个小问的满分十分的得分是AI自动给的,没有任何评分标准(black box有什么评价标准),教学组你**同一个project让AI评分三次,你看看给的分会不会相同。概率输出成你的判定标准了是吧。

user avatar   SAKN_701     2025春
  • 难度:简单
  • 作业:很少
  • 给分:超好
  • 收获:一般

感觉这学期作业和项目难度都比较低(只看拿分的话),单纯从知识点上看,理论课内容有趣清晰简单,Lab文档比较繁杂,用心看还比较有意思,但是琐碎的内容比较多。

作业需要自己写的代码最多几十上百行,项目是在给定的框架上(AI)填充,唯一难一点的是上板时的电压问题,有一些小坑。

期中期末都是20分Bonus溢出不算。期中很简单,我是109折合100,期末巨难,有的题思维难,并且有很多安全、硬件存储相关的冷门的死记硬背的知识点,我期末78.5最终总评95绩点3.94,所以期末难但是容错度高。(沈姐姐说期末均分53.7,可怕)

推荐选沈姐姐,lab内容都可以问她嘿嘿

作业是5选4,佩服选择了第三次作业的大佬,感觉第三次作业拿满耗时可能以十来个小时计,第四/五次作业则一刻钟可以搞定。

期末考了很多缩写呀名词之类的杂七杂八的主要是后面讲义的东西,还有锁的伪代码相关的解答题,需要认真背诵课件,并理解思路。我应该是填空题没有背课件空了很多哐哐扣分))

user avatar   匿名用户     2026春
  • 难度:困难
  • 作业:中等
  • 给分:杀手
  • 收获:一般

这门专业课被改过头了

第一节课老师就提到了学习这门课的时候应该Use AI as a learning accelerator, not a thinking substitute.

结果呢?期中考试题是AI出的,project答辩给每组出的题全是AI出的,期末考试题更是AI出的,后面两个的分数也是AI评判了,AI变成这门课老师的thinking substitute了

用AI出题也就算了,甚至都不审核一下合不合适。project给每组答辩的题目都不是问总体的理解情况,而是问具体的实现细节,特别是实现的不完善的地方。这就很不合适了,因为给我们的初始框架中就有大量实现的不完善的地方!相当于在问一个地基没打好的房子,上层为什么很多地方不稳定

期末更是演都不演了,很多题成了利用AI在Lecture, Lab和教材的pdf中随机抽细节考察。比如 RAID 4 和 RAID 5 的区别哪些是对的?这样的多选题。还有一些题目题干和选项关系很弱,题干没有提供做题需要的足够的信息……还有就是题目量巨大,似乎有一种“AI能读完你为什么读不完”的感觉。

总的下来,这门课确实让我学到了很多Operating System相关的概念,以及xv6中部分模块的编写。但是这门课的体验太差了,到学期中后期,每节课的quiz经常会有还没讲到的内容,project的答辩和期末考试更是对人的精神折磨。课程考核的变动表面上说要考察一些AI不容易取代,不容易完成的能力,实际上这门课的老师却将自己的思考和判断外包给了 AI。学生被要求把 AI 当作学习加速器而非思维替代品,而课程设计者自己却没有做到这一点。

 

user avatar   Morphex     2026春
  • 难度:困难
  • 作业:中等
  • 给分:杀手
  • 收获:一般

这门课堪称计系史上考试难度最高的课程。本学期,课程尝试将AI融入教学,但给我的感觉是步子迈得有点大。期末考试的题目透着一股AI出题的味道,题干常常和选项各说各话,还不如直接写“请选择正确答案”来得实在——四五行的题干里有一半都是废话。Project部分也引入了AI出题和答题机制,那些题目动辄五行长度,看得人头疼,而且还会问到一些我们根本没写过的东西有什么作用,估计是AI出现幻觉了。我们小组明明没有定义过某个函数名,题目里却问我们这个函数有什么用。

总的来说,强行用AI出题、改题,不仅没有提升学习体验,反而让本就高难度的课程雪上加霜。希望以后能脚踏实地,先让AI学会“不出错”,再谈“创新”。

 

最后,这门课是计系的必修课,所以还是不得不学。我在这里贴一个我的该门课的GitHub仓库链接,后面有需要的同学就自己去取吧!


OS GitHub仓库链接:Morphex-Mo/CS302-Operating-System

user avatar   匿名用户     2026春
  • 难度:困难
  • 作业:中等
  • 给分:杀手
  • 收获:一般

本回答由gpt5.5-pro润色

其他人对这门课奇葩的 project 已经写得很清楚了,我主要写一写 final,尤其是这门课的考试设计到底有多离谱。

这是我在 CS 系上过的唯一一门,把 final 重点放在 lab 实现细节和神秘课后“参考资料”上的课。30 道选择题里,至少有 10 道都在考 lab 或那个资料里的边角内容。问题不是 lab 完全不能考,而是这门课把 lab 当成了主要知识来源,把课件变成了背景板:课上讲的是操作系统概念,考试考的是你有没有把实验文档和代码仓库里的细枝末节背下来。

更离谱的是,题目呈现出来的效果非常像 AI 生成后没有经过认真人工筛选,考点方向极其诡异。举个例子,我记得有一道选择题考 Makefile。Makefile 当然和写项目有关,但它到底和 OS 的核心理解有什么关系?我上编译原理都没见过这么考 Makefile。更抽象的是,有个选项好像是在问 Makefile 里能不能用空格替换缩进。这**是什么题目??这有什么意义吗??这能检验学生对进程、内存、文件系统、并发的理解吗?还是说最终目标就是检查大家有没有把实验环境踩坑指南背下来?

说实话,正常困难的课我不是不能接受。比如题目难、概念深、推导复杂,甚至 PPT 很多需要背,那我都认了,大不了把所有课件都啃完。但这门课的问题是,考试题目和课件之间基本没有稳定对应关系。课件在这里最多起到一个知识背景的作用,真正会被考到的细节全都藏在实验文档、补充资料、代码实现,甚至一些非常具体的工程习惯里面。我考前还特意把文档过了一遍,至少知道每个东西大概是干什么的,结果一上考场还是傻了,因为它不是在考“你懂不懂这个系统为什么这样设计”,而是在考“你有没有记住这个仓库里某个角落长什么样”。

我觉得这门课最荒谬的一点,是它把 CS 里最重要的东西之一——抽象——彻底干掉了。计算机科学本来应该训练学生从复杂实现里抽象出模型、机制和原则,可这门课反过来,把学生按在实现细节里背书。老师课堂上还说,我们不会考 AI 能直接解决的普通题目,我们会着重考大家的理解。现在看来,这门课对“理解”的定义大概是:背下整个实验文档,熟悉整个代码仓库,并且记得每一个工程细节。那这不是考理解,这是把学生当 AI 训练,让人肉去做向量检索。

这门课给了我整个 CS 学习经历里最差的考试体验。像 DSAA 那种课,我题写不出来我认,因为至少我知道它在考算法能力;但这门课的低分体验不是“我能力不够”,而是“我完全不知道这门课到底希望我学什么”。如果 final 的目标是检验 OS 的核心概念,那它不应该把大量分数放在 lab 文档边角料和莫名其妙的工程细节上;如果目标是检验 lab 熟悉程度,那也应该提前明确范围和标准,而不是用神秘资料加 AI 风格选择题来偷袭学生。

最后我真的很难不觉得,这门课不是在设计一个合理的 CS 课程,而是在设计一个让学生低分的系统。它不是通过高质量的问题区分理解深浅,而是通过模糊范围、细节堆砌和诡异题目来制造区分度。这样的考试不但不能体现学生对 OS 的理解,反而会让人怀疑这门课到底有没有认真想过:学生在这门课里究竟应该学会什么。

 

我觉得你这段文字最有杀伤力的点其实不是“题目难”,而是下面这几个“不符合实际”:

  1. 考试目标和课程目标错位。 OS 课理应考进程、线程、同步、内存、文件系统、虚拟化、调度这些概念的理解,但它把大量精力放在 lab 文档、工程配置、仓库细节上,导致 final 看起来不像 OS 考试,更像“你有没有通读助教写的全部材料”。
  2. 把 lab 的实现细节误当成理解。 lab 可以帮助理解 OS,但 lab 里的具体工具链、Makefile、某个函数怎么写、某个文档怎么描述,不应该反过来成为 final 的核心。这相当于把“用代码理解概念”变成了“背代码以通过考试”。
  3. 材料边界非常模糊。 课件、lab、课后参考资料、代码仓库,到底哪个是考试范围?如果所有东西都算范围,那学生实际上没有可操作的复习路径,只能无限扩大记忆范围。这不是 rigorous,这是不负责任。
  4. AI 出题的问题没有被人工把关。 AI 可以辅助出题,但题目必须有人判断:这个考点是否属于课程目标?这个选项是否有意义?这道题能否区分理解而不是区分谁背得更细?Makefile 空格缩进这种题目之所以让人火大,就是因为它暴露出题目没有经过“这题到底为什么要考”的检查。
  5. 所谓“避免 AI 能做的题”,最后变成了惩罚人类学生。 老师想避免学生用 AI 套模板答题,这个目标本身可以理解。但解决方式不应该是考越来越碎、越来越偏、越来越像检索题的细节。

user avatar   卷卷卷卷不了一点     2026春
  • 难度:困难
  • 作业:中等
  • 给分:杀手
  • 收获:一般

沦为了ai教改的小白鼠……

好消息是这是第一次看到有proj明确鼓励使用ai的,坏消息是期中期末出卷评卷乃至proj评测都用ai,属实是道高一尺魔高一丈了。

proj一共占15分总评,题目是实现一个ext2系统,vibe coding几个小时就能干完。然后就是痛苦的啃代码环节了,答辩是用ai给你出6道题,你现场在15分钟内选3道作答,如果做了bonus(journal相关)则要额外回答一道但是多给5分钟时间。评分标准是40%的样例点+60%的答辩。项目文档上还说有4分bonus的性能评比,但是问了一圈都没见有人拿到。

期中20个不定项,每题五个选项,整整6页的幅度,期末更是扩张到了30个不定项,题干长且无用,但是仅看选项就够累的了:由于是不定项,你不得不把5个选项全读一遍,比做阅读理解还累。然而选择仅占卷面的33%/50%分数,当你好不容易做完英语阅读理解后还得去应付后面大题的夺命连环问。做完之后想骂人是正常的,特别是看到老师在群里发的话

 

user avatar   匿名用户     2024春
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:很多

很多同学说这门课有难度,这话不假。不过我觉得不得不提的一点是,难度基本集中在理解记忆内容(也就是考试内容),代码部分相比可以说是少且简单。(当然本学期没有project是一大原因)

对于考试,最好是学期内就跟上进度,把理解性内容都消化个八九不离十,考试前过一遍,再复习复习记忆性内容即可。这方面强烈建议好好听沈老师的lab课,lab课更像通过代码解读OS,而非教你写OS代码,所以对课程内容的理解大有帮助。考试满分120最高记100,我基本没听过大课,靠lab和自学期中期末都90+,最后总评为A。

另外不得不吐槽的就是这门课的quiz,相比于其他课quiz得分低很多,印象里最终我是只拿了6-7成。由于有点难度,别的评论里也提到会有同学py,这种情况对独行侠也很不友好。当然我不听大课靠自学,quiz低也有我自己的原因,但相对于别的课体验真的很差。

 

user avatar   匿名用户     2025春
  • 难度:困难
  • 作业:很多
  • 给分:一般
  • 收获:一般

我是傻逼。

期末考试让我感受到了张教授深深的恶意,卷子满满当当全是题,一题写半天可能只能拿到一分,最后手写得要冒烟了。

还有能不能不要盯着最后一章 security 考啊,这玩意儿纯靠背,我一傻逼脑容量也不够啊。

user avatar   Maystern     2024春
  • 难度:困难
  • 作业:中等
  • 给分:一般
  • 收获:一般

课程内容相当难,我这学期在摆,没有状态,拿了一个相当平均的分。

期中考试和期末考试都是120分,满分100不溢出,签到是多选有bonus,要拿到100分(可以找同学py)

然后作业的话,github基本都是有答案的,可以参考一下。

平时没好好学,期末真的会崩溃,OS不是啥水课,真的很困难。

user avatar   匿名用户     2024春
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:很多

这个课分数占比比较均匀,期中期末都有20bonus虽然代码和填空感觉有点难导致加了bonus分数也只能还凑合..大课全英讲PPT有点无聊大多数时候听不进去,lab任务量比较大,但是两位老师还是比较负责的,quiz也给了bonus分数。总体来说应该是四件套里最简单的一门了,最终得分不高也不低。

user avatar   Alexandra_Burke     2024春
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:很多

可以参考之前 H 班的评教情况,但值得留意的是本学期没有 project ,感觉难度相比 H 班一下降了好几个档次。

本人本学期同时选的计算机组成原理和操作系统,没有遇到很大的前置知识上的问题。

Slides 质量高,Lab 的 pdf 质量也很高,上课讲得好。前几周的 quiz 有点难,来听课了和没来听课好像结果上也没多大差别(捂脸

Lab 纸质 report 是我在各门课中首次见到,不过感觉确实手写一遍能加深印象。

作业的话有理论和编程部分,一开始用 gitlab OJ ,但后面似乎 OJ 锅了,就改成了交代码和本地运行的截图,不知道会不会有同学直接改输出 AC (笑

考试有 bonus 真好!


teacher avatar

张殷乾

计算机科学与工程系

暂无教师主页

其他老师的「计算机操作系统」课

张殷乾老师的其他课