操作系统原理与设计(李永坤) 2024春 2023春 2021春 2020春 2019春 2018春  课程号:01117402
2024春 2023春 2021春 2020春 2019春 2018春  课程号:01117402
9.1(42人评价)
9.1(42人评价)
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:很多
选课类别:计划 教学类型:理论实验课
课程类别:本科计划内课程 开课单位:计算机科学与技术系
课程层次:专业核心   学分:4.0
简介 最后更新:

操作系统对计算机系统资源实施管理,是所有其他软件与计算机硬件的唯一接口,所有用户在使用计算机时都要得到操作系统提供的服务。因此本课程的目的是使学生通过本课程的学习,理解操作系统的基本概念和主要功能,通过实例讲解,掌握常用操作系统(如Unix、Linux)中的关键技术,为学生以后的学习、工作和研究打下基础。

  • 教材:Operating System Concepts, Tenth Edition
  • 作业:每1-2周一次,每次5-10个题目。
  • 实验:共4次。
  • PPT全英文。英文不好的建议上课记笔记。
  • 考试形式:闭卷。
  • 给分规则:考试 : 实验 : 作业 = 5 : 3 : 2,优秀率给满。
AI 总结 AI 总结为根据点评内容自动生成,仅供参考

教学水平与课程内容

李永坤老师讲课清晰,听课体验良好,PPT内容全面,以香港中文大学资源为基础。课程涉及操作系统原理,包括进程管理、内存管理和文件系统等。老师偶尔分享个人经验,展示学术和工业界的实际应用。课上不点名但鼓励出勤,老师态度亲切。

课外作业

作业量适中,主要由五到七次书面作业组成,内容较基础,涉及课程概念和简答题。作业评分标准明确,但扣分较严,可能影响总评成绩。助教对于作业的指导较为严格。

实验与实验难度

实验为课程重要组成部分,涵盖linux内核编译、系统调用开发以及动态内存管理器实现等。实验难度高,量大且耗时,但具有实践教学效果,能提升学生动手能力。实验文档详细,但实验内容偏向理论,部分学生表示实验拉开了分差。往届未做完实验的学生有延期完成机会。部分学生反馈今年实验改革不够合理。

考试与考试形式

考试形式偏向理解与记忆的结合,范围广泛会包含多个概念,例年出题结合两班老师内容,建议准备全方面知识点。试卷主要由概念题、简答题和应用题组成。考试不设补充题,部分题目偏文科,也会延用往年题目。

给分原则

课程总体评分为考试、实验、作业的结合。严格按比例给分,附加实验可加总评,未必调分,但通常给满优秀率。给分相较公平,强调学生在实验和作业中的努力和参与。

学生评价

大多数学生给予课程高度评价,认为老师水平高、责任心强。但有些学生抱怨实验和考试形式让人压力过大,平时投入时间不足影响考试表现。课程适合希望深入理解操作系统原理与设计的同学,并能够接触到实际的系统编程。建议重视平时学习,加强早期项目准备,尽早完成实验。课程难度整体较大,却具有较高价值的学习和应用前景。

排序 学期

评分 评分 11条点评

silence 2018春
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:困难
  • 作业:很多
  • 给分:超好
  • 收获:很多

更新于2025.3.8

最近隔壁组(某厂云存储)在招实习生,我看了下他们所有候选人的面试纪要,把八股里面涉及c++/操作系统的都挑了出来,以飨读者:

  • 什么是野指针、悬空指针?如何快速创建野指针?
  • 智能指针的实现原理?
  • 解释一下字节对齐及其优势?
  • vector如何扩容?线程安全吗?
  • 大端序、小端序是什么?
  • new的内存能用free释放吗?
  • 解释Linux的I/O流程,比如read有几次状态转换?如何优化?
  • 讲讲平时是怎么debug多线程代码/死锁代码的,gdb有哪些指令?
  • Linux有哪些信号?用过哪些信号?进程D住了能不能被杀?僵尸进程是如何产生的?
  • fork出来的进程共享内存吗?共享文件描述符吗?
  • 进程与线程的区别?进程间如何通信?
  • 讲讲系统调用的流程,为什么要有内核态?
  • 代码到可执行程序需要经过几步?什么是静态链接、动态链接,它们如何寻址?
  • 函数传参,引用和指针的区别?
  • 32bit操作系统,用户可管理的内存地址空间多大?如何做地址转换?
  • 网卡收到包到应用程序的流程?select/poll/epoll区别?
  • Linux机器下某个目录下创建文件是否成功取决于哪些方面?写过裸磁盘吗?和写常规文件有什么区别?可以追加写吗?
  • Linux下删除文件是否会立即释放磁盘空间?删除的文件能不能找回来,如果能,怎么找回来?

这些问题没有100%的标准答案,重要的是得让面试官明白你对他问的问题有深入的认识。答得越多、越深入越好。面试官都是一天到晚都在写代码的,对这些东西是听说过,背过八股还是有实践经验,可以很容易地问出来。

而且遇到一件有意思的事:一个面试官跟我们晒了一个候选人的简历,那人本科GPA3.97/4.0排某985前5%,面试官说“这人学习这么好怕是不好忽悠”。我答“他没实习,你就问他工程,他受不了的”,结果那人八股一问深了就答不明白,排这些人里倒第一,面试官反馈“本来还想挖挖,结果这人学的有点呆”。


更新于2024.2.10

当了半年社畜了,讲讲这半年以来的体会:

  • OS课上学到的东西在实际应用上是很重要的,我就举几个例子:
    • 我写的第一段code遇到的第一个bug是死锁。出bug的原因是,调这个函数的父函数已经拿到了锁,我没看到这个,为了保险又拿了一遍锁。
    • 很多人拿lab1的gdb教学不当回事,实际上你的code在服务器上运行的时候,除了gdb之外是没有其他带UI的调试工具的。假如你的程序segfault了,最方便的定位方法就是把程序放在gdb里面跑,等它segfault之后用bt看堆栈。
    • 你的code跑在server上,自然要关注其内存占用。这时候问题就来了:啥是虚拟内存?啥是RSS?啥是匿名页?啥是文件页?这是lab3的内容。
    • 组里干了十几年的老员工,看log用的是ls -ltrh,想一想,后面这一串参数有什么好处?
    • 生产集群上根本不会让你拉ssh隧道用vscode操作的,为了性能也不可能给你配图形界面,你只能拿到一个黑白的terminal。这时候想看log怎么办?用vim或者less呗。好了,这时候怎么查找指定字符串?vim啥的还是得学哦。
    • 大伙在os课上学到的只能说是冰山一角。妮可计算机本科的这些课,是不会教你什么是/怎么用systemctl, perf, iostat, free, procfs(这个实验貌似被改掉了)的。
  • 其他的:
    • 养成良好的习惯,申请了堆空间记得free。大伙平时写的code短,很快就跑完了,不free问题是不大,但是上了班之后你的code是要在server上跑几个月甚至几年的,不free就等着进程被os kill吧。
    • OS应该是本科第一门涉及系统架构,讲系统的设计逻辑/设计哲学的课。大伙在学的时候,不妨多想想为什么要这么做,这个设计的“起因、经过、结果”是什么。这个是我前两年还在当TA的时候在习题课上说的,后来我发现这个和面试的“STAR法则”其实是一回事。
    • 理科的“理”指的是理论、公理,工科的“工”指的是工程,因此理工科自然有必须要死记硬背的部分;文科的“文”指的是人文,自然也有需要理解的内容。二极管一样地认为理工科不能死记硬背是不正确的。我认为一些同学会产生这种误解的原因是,九年义务教育+三年高中较为重视逻辑思维训练,加之能考上妮可的学生理解能力普遍偏高,背那几个公式的难度为0,使其对理工科的性质产生了较为偏颇的认识。
    • 每年记得打Hackergame,这玩意能提高你的知识广度。

lab1 linux扫盲部分:

  • 链接:os2022-exp1.pdf
  • 我发的文档的这一部分完全是自己写的(没有其他TA参与,或借鉴他人内容),所以加了水印。
  • 因为在线文档涉及课程资源,所以我关闭了在线文档的读权限。
  • 随时间流逝,本文档引用的部分资源链接可能会出现过时、失效的情况。请读者自行搜索对应的官方资源进行下载。一般来说,这些基础软件的兼容性比较好,使用高版本的软件/系统对复现本文档涉及的内容无甚影响。在这里也提醒,本课程的助教如需使用本文内容,请勿直接照搬,请每年都对链接等易产生过时的内容做出相应的修订。

更新于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年有幸担任助教,在此放一些助教角度观察到的内容:

关于实验:

  • 实验目标:本门课程需要让同学们接触真实的linux内核。2018春季学期采用NachOS作为模拟器完成实验,并通过选做源码阅读的方式了解真实内核,然而大部分人不太愿意读代码,效果不好。所以之后的实验全部在真实linux内核上完成。
  • 实验内容:2022春共四个实验,分别为:(建议用pc浏览下表)
编号内容实验时间按时完成人数逾期完成人数实验文档页数
1环境配置,编译Linux内核2周92.6%4.00%27
2编写系统调用实现top+使用系统调用编写一个简单的shell3周77.1%10.9%18
3.1动态内存分配器5周73.7%7.43%18
3.2编写模块、观察进程内存结构、打印页表、dump数据段28
4文件系统:代码填空完成建议FAT16文件系统5周74.3%不设逾期15+11
  • 去年的表在这(这个表有一处错误,2021春lab3的时间其实是4周):
  • 建议换班前先看一下上面的实验完成率后再做决定(劝退警告!)。四个实验的得分占比不一定是1:1:1:1。这门课内容多且杂,我们当然也想加一些有趣的实验(比如楼下有人提到的信号量),但是我们人手不够orz,只能每年迭代一点...
  • 实验难度:保证大部分人(原话:70%-80%)能完成,设置一些选做部分拉开最顶层的区分度,同时尽量避免大家疯狂内卷。助教会首先自行完成实验,然后找一些“助教认为比较好的点”供大家完成。(翻译一下:代码填空)。
    • 我们设计实验的目标不是为了让所有人都能容易地拿满分。拉开分差的方法一般是:设置较难的实验内容,使得一些人不愿完成,或无法按时完成。
    • 个人观点:我认为实验拉开区分度是有必要的。正如有人在诚哥编译下面的评论:“合着是愿意花时间在实验上是错误的?你愿意花2个小时背书我愿意花2个小时写代码我就不配高分?”当然,完成实验所花时间也是区分度的一种。比如,同样的实验,有人花1h完成然后干别的,有人花10h才完成,相差9个小时的时间分配也是一种区分度。
  • 时间分配:这门课每年4.3的人一两只手能数的过来,所以逛评课社区需要注意幸存者偏差问题,比如我就强烈不推荐在ddl两天前开工(因为有的实验我自己两天做完都有难度),而且我很奇怪为什么拿了低分的不来评课
  • 助教的工作:助教会提供详细的实验文档。实验前会在教室/机房讲解实验要求(翻译一下:念实验文档)。如果有学生提出问题,尽量一天之内完成回复。使用在线文档的方式收集问题并统一回复,提升效率。
  • 实验文档的Markdown主题是我从typora的vue主题魔改来的,添加了行首缩进,还调整了字号与行距:https://github.com/mhy98/typora-vue-theme

关于考试:

  • 试题:操作系统这门课本身就涉及大量概念理解,出点考定义的题一点毛病也没有,这是这门课的性质决定的
  • 查卷方式:先发邮件,或在bb内通知成绩(bb系统里面可以看到你们所有人存在教务系统里的邮箱)。如果对成绩不满意,可以在指定时间查卷。查卷时,为保证秩序(比如防止有人浑水摸鱼偷拍、偷改卷子),所有人在隔壁等待室排队,然后一个一个进查卷室。如果因故不能到场,只支持把卷子每道大题的分数告知查卷人(但根据助教手册1.3.2.10,助教不能告知每道题的题目是什么),并只复核分数计算是否有误。

关于作业:

  • 每学期大概5~6次,平均2~3周一次。
  • 我们是不管抄书的,但是有人直接copy往年的答案,要么直接copy英文,要么直接机翻贴上去,有人连“谷歌翻译”这四个字都一并复制上去了,这就太嚣张了吧?https://www.zhihu.com/question/355652099
  • 2021春批作业的时候抓到一对抄袭的,按照抄袭比例给那次作业每人扣了15%,于是有一位因此总评被卡83

纯吐槽部分:

当助教之后发现,很多同学的计算机基础异常薄弱,以下是几个经典表现:

  • 一些人把实验文档当成黑箱,敲了命令不看输出,自己干了啥都不知道;
  • 另一些人则不会变通,似乎把linux当成一个十分神秘的“圣物”,比如:我们在实验一和实验二说你可以用vim/gedit等编辑代码,实验三没提这个,只写了个vim xxx,有人就问“是否必须用vim”;
  • 说自己给虚拟机分了“40G内存”;
  • 各种C语言基础错误及拼写错误,比如:不知道long是几字节;拼写错误:asmlkage(正确为asmlinkage)、uesr(正确为user)、sizeof(16 * int)、COMMOM(正确为COMMON)、中文逗号, 且自己不肯通过阅读编译器报错信息的方法自行寻找错误,直接拿着截图找我们。

我感觉大部分人做不完实验的原因是时间管理能力太差,最后一两天才开始做实验。而且,我能看出来里面不少人都是不怎么看实验文档,纯“借鉴”别人的代码的,一问实现思路全都乱套了,稍微钓鱼执法一下就立即上钩。拜托,那十几页乃至几十页的实验文档可不是白写的啊...

我个人的一点想法:解决这种问题需要靠加大实验一的难度解决。具体方式比如:

  1. 在实验一中增加“Linux扫盲”内容,要求记忆若干指令的含义(比如:apt是一种包管理器,ls用于查看文件等),检查实验时提问,按照正确数量给分;
  2. 在实验文档中不给出完整的指令,让学生根据实验步骤要求自行构造指令(比如:我们要求安装若干包,你得自己构造出apt install xxxx)
  3. 教学生写一些简单的shell脚本提高效率。

上述三条内容已在2022春实验一中落实。就我们观察而言,学生对于这种改革措施十分满意。

与隔壁班实验的对比:两个班的实验【风格】不同。

  • 系统角度:
    • 本班:在实际Linux上完成实验,且使用较新版本的Linux内核。
      • 优点:增加对实际Linux内核的认识,对于找工作有利(例如,Linux的页表转换、页面替换算法、CFS调度等问题一直是校招的高频面试八股文题);
      • 缺点:新版本Linux功能复杂、接口众多,且部分实验内容在课上没有涉及(如多级页表转换),需要大量的解释说明。这会导致实验文档较长,助教和学生的工作量增加,难度较大。
    • 隔壁班:使用自行实现的(?)简易系统内核。
      • 优点:增加对系统底层实现的了解。能够了解操作系统作为一个【硬件和其它软件沟通的桥梁】,是如何工作的;
      • 缺点:使用的系统略缺乏实用性(有点玩具)。
  • 内容角度:
    • 本班:
      • 涉及进程管理、内存管理、文件系统三个方面;
      • 偏向于软件层,几乎与硬件、汇编等无关。
    • 隔壁班:
      • 2021年Lab涉及系统输出、系统中断、进程管理、内存管理等内容;
      • 涉及一些与硬件相关的内容。2021年Lab1~5均涉及汇编语言(但可能不是每个实验都需要写汇编代码)。
  • 难度角度:
    • 本班:难,很难,非常难
    • 隔壁:不清楚,似乎比本班简单。
    • 实验难度差距可能与两个编译原理普通班之间的差距类似。

后续计划(不一定会实施):明年或之后考虑将实验全部挪到模块上做。Lab1直接统一更换内核并按照《操作系统概念》的书后实验编写内核模块,Lab2系统调用砍掉改成别的。

有人问“MHY除了满嘴跑火车还会干什么”,于是我只能汇报一下助教工作了:

  • 春节假期就一个人修完了今年lab1,增加了Linux扫盲内容;
  • 今年与其他助教共同负责lab2、lab3.2;
  • 校对实验文档、排版、导出pdf;
  • 群内保证有问题必回复,绝不装死,自己弄不懂的就找其他助教讨论,或者催其他助教解决;
  • 考前对考试预计查分时间、考试要求等向老师进行了询问,并在班内提前说明,免得学生考完试之后找我们抬杠。

更新于2018年12月21日:

复习编译原理的时候,我觉得每一门文科课都应该要求写阅读报告...阅读报告这玩意真的是可以增进你对知识的理解的。有些东西写一写就记住了。期末复习的时候,你会发现有一份知识点总结是一件很幸福的事情。

因此在这放上之前写的所有阅读报告,可以将其视作复习提纲。(就这点,没有更多了,电脑挂过一次,数据全损,之前写的拿了¥的源码阅读报告也没了)


这门课是我在大二下学期所有必修课里面听得最舒服,干劲最足的一门课。老师水平很高,虽然是第一次教OS但是讲的很清晰。一开始速度较快,在同学们反映意见之后讲课速度有所降低。快期末的时候还找了香港中文大学的吕自成教授(毕竟John C.S.Lui是他的导师,也是实验室的讲座教授)和时任副院长许胤龙教授(毕竟都是ADSL实验室的)来做报告。

(原评课的课程作业部分较为陈旧,所以删去。)

课程PPT全英文。 使用英文的原因是,该ppt内容主要来源于广受好评的拿了多次教学奖的香港中文大学WONG Tsz Yeung博士的ppt。

评分占比:期末考试 : 实验 : 作业 = 5 : 3 : 2。优秀率给满。 考试之后自行回忆了一下试题,有两道题忘了,欢迎补充。根据助教手册1.3.2.10,助教不能泄题,所以试题暂时拿掉(

吐几个槽:

  • 期中的时候我问我室友H班大佬计院第一(后来的郭奖得主)ls,他好像不知道啥是PID?(不知道隔壁H班成天讲啥
  • 2021年5月8日的表白墙,我直接迷惑:
  • 老师把优秀线记成90了,总评表发下来我们一看有54%的人85+,赶紧叫老师重新调分(
  • ADSL,我院牌面!(确信)(2023年坤哥和诚哥又上榜了)
  • 老师是看评课社区的,师兄有一次和我说“坤哥上次问我知不知道评课社区的silence是谁” 好的我已经社死了

(最后修改于 44 38 复制链接
科大顶针学长请问李永坤老师的主页ppt密码是多少,Thx
silence回复 @193104: 我并不知道19的
爬不动了麻神
silence回复 @一一: “周”是按照实验课算的,一次课算一周(虽然有点水分)
silence回复 @一一: 是滴,我们本来也没打算让所有人都能在实验拿满分
silence回复 @一一: 确实
taokyUTM (<https://github.com/utmapp/UTM>) 可以用 qemu 跑 x86 Linux 虚拟机,虽然性能估计会大打折扣
secon其实M1还有一个解决方法是上各种云平台(Azure,AWS,etc,国内没了解过是否有这种服务)租个小Ubuntu服务器,实际上完成OS实验需要的系统配置并不高,所以最便宜的配置就可以了。
silence回复 @secon: 其实可以用实验室服务器开,试过可行
silence回复 @taoky: 一开始是有人用UTM,但是太卡了,点右键出来都要半天;还有人用ARM版本Linux,但是编译配置、输出的二进制文件路径和实验文档不一样,需要全部替换,最后他们都受不了换成x86机器了...
taoky回复 @silence: 那欢迎来用 vlab(
ikon回复 @silence: 所以请问助教在文中说的往年题在哪里
silence回复 @nofear: 根据助教手册1.3.2.10,助教不得泄题,所以开课时段我会把往年题拿掉
silence回复 @Rgeendtyn: 这得看你的能力如何、愿意在这门课花多少时间。如果只是想混的话,那非常不友好。
taoky回复 @silence: 其实可能能用 <https://github.com/multiarch/qemu-user-static>,然后开个 amd64 的 docker 容器做开发。
第一象限选修一H班讲课听的人不多的,都是实验做啥就会啥(大雾)
CauchyLovesU学长 请问为啥今年的实验内容设计得又多又难,,,感觉比去年新增了好多内容,而且都好难,重修的同学表示吐了,,,为什么要这么做呢?
silence回复 @CauchyLovesU: 就结果而言,Lab3的按时完成率比去年高了至少15%...
CauchyLovesU回复 @silence: 是啊,怎么会事呢?
ikon回复 @silence: 结果并不能代表什么啊,只是确实难了不少
ikon不能说为了拉开差距就布置更多更难得实验吧,结果你也看到了,就是并没有拉开差距,反而使得差距缩小了,呵呵
silence回复 @nofear: 毕竟能者多劳,如果难度和去年一样,差距会更低
silence回复 @silence: 比如lab2,加了点去年不好弄的功能当选做,结果均分直接卷到10.4
ldeng回复 @taoky: 作为课程实验,使用不同的环境非常不现实,往往会为了解决一个问题带来更多的问题(特别是操作系统这样贴近底层的课程)。而且学生水平不一,助教时间和技术水平有限,所以最简单的解决方法仍然是统一环境。一般我们会告知如果有愿意折腾的学生,可以自己去尝试使用其它环境(包括但不限于M1、WSL等)来完成实验,但助教不负责解决遇到问题的。
taoky回复 @ldeng: 我知道,我只是提供一种折腾的方法而已(
ikon我觉得以后有必要提交代码进行查重,因为现在GitHub上面到处都是OS的往年实验,还有好几个人来star和fork我的。。。
silence回复 @ikon: 其实还有一种方法是,搞个gitlab,要求每次必须编译必须commit+push,检查完成速度是否正常
ikon回复 @silence: 对啊,李诚老师的编译原理就是要求提交代码到gitlab并且每次都查重,上次lab3抓到十几个抄袭的,那次实验全部给了0分或者扣了一半分数
ikon回复 @silence: 至于你这种方法我觉得只能暗中这样搞,放在明面上说了之后,抄袭的人也就有新的对策了
silence回复 @ikon: 这也没办法,如果你不明说,他会以“我是自己用别的方法编译的”等理由搪塞过去。真想抄的话方法多的是,任何措施都没法100%阻止抄袭,只能不断提高抄袭成本。
Zanzara请问有linux扫盲的文档吗?
silence回复 @Zanzara: 放到最新更新的内容里了
ldeng回复 @taoky: 去年我们实验了一下vlab,稍微有些权限问题,而且莫名有些不稳定(指同样的操作结果经常不一样,有些时候能成有些时候又会失败)。最关键的问题是后面有个文件系统实验要用的FUSE好像vlab上用不了。
taoky回复 @ldeng: FUSE 能用了,KVM 设备也能
taoky回复 @taoky: 所以是能比 Windows 开一个 Linux VM 然后里面跑 TCG QEMU 性能来得好的 KVM: https://vlab.ustc.edu.cn/docs/faq/#kvm-and-tun FUSE 的话,如果是比较老创建的机器是没有,群里说一声能开
ldeng回复 @taoky: 好的,谢谢,我们明年尽量给每个实验搞个vlab实验指南之类的。
立即登录,说说你的看法
纯粹自来水 2018春
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:一般
  • 收获大小:很多
  • 难度:困难
  • 作业:很多
  • 给分:一般
  • 收获:很多

选做就是必做 作业分毫必争 期末失误了就是3.3 卷王这么多我真的会谢

感觉实验量太大了,而且前后难度差异好大。lab1、2非常简单,甚至感觉可以直接合并;lab3前一半是csapp的malloclab,但要求没有malloclab高,后一半应该是新搞出来的,这两部分前后没啥联系,要不分成俩实验吧?lab4有四个part,后面part复用前面的代码很多,就感觉可以但没必要。

太卷了太卷了早上躺在床上被暴击

(最后修改于 3 0 复制链接
deneb 2018春
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:一般

 李老师人相当Nice,上课也很有意思,深入浅出,PPT风格我很喜欢,虽然是英文的,但是看起来一点也不吃力。(考前建议过一遍PPT,今年最后一道题近乎PPT原题)

但是我还是要扣一分,因为实验有点简单了,感觉对个人水平的提高并不是特别多,不知道隔壁班怎么样,但是好像是挺辛苦的,考试周结束了还在肝DDL

李老师是真心想上好这门课的,可惜有的同学不珍惜,到课率常年不高。大家的建议也会认真听取,让我感动的是为考试冲突的同学单独设置考试,这种负责任的态度真的很好。

我们是按学号对应不同的助教,我遇到的助教人很nice,水平挺高的,而且回复我问题的时间几乎都在5分钟之内,感动。老师和助教们真的很用心,给分没的说啦,超好的。

3 0 复制链接
AidenY 2018春
  • 课程难度:困难
  • 作业多少:很多
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:困难
  • 作业:很多
  • 给分:一般
  • 收获:一般

快毕业了,统一评课。

这门课我是20年上的,总体推荐。

 

少有的可以讲清楚课的老师。

老师做人也没问题,很多事情也会为学生考虑。

 

优点不赘述,没想到什么值得提的缺点。

 

总体推荐。

2 0 复制链接
二木啦啦 2018春
  • 课程难度:中等
  • 作业多少:很少
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:中等
  • 作业:很少
  • 给分:超好
  • 收获:很多

老师很好,作业不多,只是实验难度跨越有点大。但是给分超好。很喜欢李老师。

2 0 复制链接
z 2018春
  • 课程难度:简单
  • 作业多少:很多
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:简单
  • 作业:很多
  • 给分:超好
  • 收获:一般

老师讲课比较清楚扎实,十分认真负责。

和H班的同学讨论过,两个班差别还蛮大的,H班基础教学很少讲课更天马行空一点,很多书上的概念到结课了还不知道是什么,到了期末考试来借李老师的ppt。。。但是H班实践上可能更难然后多一点,前面几个实验差不多,甚至H要求还低一些,后面的实验不太清楚,似乎相当有难度

2 0 复制链接
评课 2018春
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:很多

老师讲得非常好,建议一边听讲一遍做笔记(英文ppt,老师讲课用中文,所以直接记录讲课内容会省非常多事)

课程难度主要在实验时疯狂stfw,写和debug都极其痛苦,占用时间也多,后面两次实验似乎近40%学生没有按时完成。

期末就怕隔壁班出了本班没重点讲的东西(比如这次的银行家算法,考试的时候现场瞎编,似乎还编对了?),建议考前和隔壁班同学交流。试卷存在较多文科题目,建议理解性背诵ppt/笔记。

给分:平时作业平均分97.4(五次,百分制),四次实验满分,没做附加题(评课时才知道附加分直接加到总评上,非常后悔,建议能做就做),期末87,总评93,大致是严格按比例的。

1 0 复制链接
从点到点 2018春
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:一般

李老师PPT很适合自学,非常清晰。由于疫情关系,这学期实验比较划水,比重依旧是45% 建议大家学习时候深究有些知识点的定义,考前做做往年题,尤其是那个TLB的题。出了很多年了)给分的话能给满优秀率,我觉得就已经很好了。

1 0 复制链接
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:一般
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:一般
  • 收获:一般

讲的很好,PPT详尽又精简,20年的实验因为线上的缘故略水。 给分感觉不能算好,没调分。做了附加实验会有加分,推荐做一下,考完能捞一把。

1 0 复制链接
lxses 2018春
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:很多

老师年轻有位,讲课非常清晰准确,认真负责,就是实验有一点耗费时间,给分比较好。

1 0 复制链接
UNION 2018春
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:一般
  • 难度:中等
  • 作业:中等
  • 给分:超好
  • 收获:一般

老师上课风格非常喜欢,ppt做的很直观,讲课清晰,主次分明,比某些老师那种一锅粥或者不知道在干嘛的的好多了。

1 0 复制链接

其他老师的「操作系统原理与设计」课

李永坤, 吴思 8.9 (9) 2022春
陈香兰 7.9 (52) 2026春 2025春...
李永坤, 徐伟 7.0 (1) 2025春 2024春
未知 2017春 2009秋...
熊焰 2013春 2010秋...

李永坤老师的其他课

操作系统原理与设计 8.9 (9) 2022春
图论 8.5 (2) 2017秋
操作系统原理与设计 7.0 (1) 2025春 2024春
存储与文件系统 5.2 (5) 2022秋