选课类别:计划内与自由选修 | 教学类型:理论实验课 |
课程类别:本科计划内课程 | 开课单位:计算机科学与技术系 |
课程层次:专业核心 | 学分:4.0 |
本课程以操作系统内核的创新设计和系统级实践为主线,对操作系统的基本原理、设计方法、技术和功能进行全面系统的介绍,并在操作系统内核设计实现的实践过程中融入各阶段的知识点。通过系统级教学及实践,调动学生的积极性,主动性,激发学生的兴趣和求知欲,在学生实现完整的操作系统内核的过程中融入操作系统教学的诸多知识点,不加重学生的负担,较好的完成学习要求,使学生对操作系统具有初步分析、优化、和创新设计的能力。在课程教学与实践中追踪国内外前沿进展,并在此基础上对操作系统进行创新设计和优化,提高学生的系统级研发能力,达到理论和实践相结合的目的,加深学生对课程理解,并锻炼学生实际动手能力和团队合作精神,为学生从事计算机软件/硬件方面的研究工作打下良好的基础。
邢凯老师的《操作系统原理与设计(H)》课程讲解深入,多数学生评价认为课堂内容充实,但授课风格存在争议。一些学生觉得老师的授课思路清晰,生动有趣,能够引导学生深入思考,解释概念简单明了。另一方面,也有学生认为部分课程内容枯燥,有时像是在读演讲稿,整体课堂互动较少。不过老师会结合自己的经验补充相关知识,使课堂内容更丰富。
课程以教材《Operating System Concepts》为主,覆盖了操作系统的核心内容。同时,课程还引入了分布式系统、内核模块等前沿内容。大作业强调创新性与实用性,因此需要选择一个有新颖性的选题,进行深入研究和实践。部分学生认为小实验设计零散,与课程内容联系不紧密,但总体难度适中。
课程没有传统书面作业,小实验分为四个强制实验,还有一个附加实验。实验内容包括内核裁剪、Shell实现、网络服务器、多机分布式存储部署等。总体难度适中,但实验文档有时不够详细,部分实验祖传多年,但新实验增加了一些挑战性内容。
大作业是课程的核心,占比非常高。从学期初就开始,需要充分的调研和频繁的组内讨论。选题需要创新且实用,且要符合老师的兴趣方向,这一点需要与老师以及助教多沟通。大部分学生强调了选题的重要性以及组内合作的关键性。大作业涉及阶段性的报告提交及最终答辩,答辩当天老师会提供丰盛的餐饮,但答辩过程较长且紧张,需要充分准备。
考试为开卷考试,题量大,时间紧。考试内容既包括基础概念的考察,也有较多的应用和设计题。部分学生反应考试题型变化大,灵活性强,需要及时做往年试题练习。老师会在考前一两节课详细讲解往年题,有助于备考。考试虽然开卷,但需要高效利用时间,建议优先完成分值大的题目。
大多数学生反馈邢凯老师的给分非常慷慨,整体上非常慷慨的大作业评分为主,需要在各环节中都做到位。很多学生因为大作业拿到了非常高的分数。不过,高分往往取决于大作业的完成度和选题质量,因此建议慎重选题并认真对待每个环节。
课程最大的特点是大作业的比重和难度,占用大量时间和精力,选题和组内合作至关重要。实验设计有一定难度但增加了实用技能的培养,考试开卷但需充分准备。综合来看,这门课程适合于愿意投入时间与精力追求创新与实践的学生,能够在知识水平和实践能力上都获得较大提升。总体给分厚道但不失公平。
助教前来发个评分方法:
我那年得了98分,2015年带的几个1311学生都拿了95+。
附链接:
2018年6月23日,冒着挂掉25号组成原理的风险先回忆一波试题
第一部分是概念题,比较简单,抄书即可,但是有些反例需要自己想,书和PPT都没有,主要如下:(不全,因为脑细胞都死在最后一题上了,记不清了……)
有些反例课上讲过,老师上课挺有意思,信息量比较大,注意记下有用的东西。
第二部分更加简单 ,大部分是考的应用型:(依旧不全)
第三大题 基于一个比较现实的模型来分析系统的运行模式,本次考试的模型是短时间内的大量并发访问(双十一、世界杯),并以此来分析操作系统的模型。
第一题是问一个请求,多个进程处理 如何实现互斥;
第二题问如何采用进程池和连接池来实现效率优化;
第三题和第四题是分别问阻塞型进程和非阻塞进程在处理大量并发请求时的不同表现
第五题是问一个进程执行完后通过线性查找来寻找空闲socket的方式,这种方式在大量请求时会出什么问题。
最后有两道附加题共八分,因此卷面满分108分,问两种浏览器服务器模型的执行上的优劣性的原因,个人感觉时上面第三大题的综合 其中很多机制在上面都有解释,不难。
总的来说 这次的试卷题量较大,难度不是特别大,但和隔壁的卷子的出题风格差的很多(隔壁班似乎就是比较生硬的名词解释、简答题啥的,这套卷子的题型还是比较新颖的 最后一题也可以看得出老师的用心。而且本试卷和去年的画风差别很大,不过第二大题可以说是和17年完全一样了……
另外附上课程主页:https://osh-2018.github.io/ 具体的大作业和上课等活过考试周补……
6月30日,摸鱼着听完了期末汇报完了过来点评一波(其实每个组的我都没怎么详细听,时间太长了……)
首先发一下期末汇报的同学评分标准:
1.项目完成度
2.核心竞争力,性能分析、功能分析
3. 选题与分析:理论意义和实用价值、阅读量、检索量、综合分析能力、了解本领域国内外动态程度。
4. 技术论证:立项依据、可行性分析、技术路线论证充分、架构设计合理、系统层次分明、逻辑严密、结构完整
5.创新思路:原创、前瞻性、视角、未来能否推动效率和技术革新、创造性思路和新见解。
6. 团队能力:专业能力、人员分工、团队协作、团队管理、资源整合
7. 探究能力:方法是否恰当并加以严格论证、分析问题、解决问题的能力
8. 现场展示: 展示过程、语言表达、逻辑组织、表现力、答辩思路、表达手段
9. 理论基础和专业知识运用: 基础理论的宽厚度,坚实度,专门知识的系统性、深入性、数理基础的扎实性
10. Q&A环节:准确理解问题、准确回答、精神风貌、表现得体。
以上十条是老师期末给的评分表的细则,除部分划掉内容外全部都是原话,打分也是按照这个打,互相事先py一波记得。
不过必须得承认的是,由于时间紧任务重,很多组都没有达到一开始中期汇报时的要求,包括我们组,(我敢说有的组是汇报前一个小时刚刚做完的?)而且照着这个标准打分实际上我们大部分组都拿不了高分……
最后重点说一下Q&A的问题,每个组安排的时间是汇报二十分钟,提问十分钟,理论上是一个小组都必须提一个问题,不过如果讨论比较激烈这一条会被自动忽略,如果没人提问题老师会一个组一个组的问……问题千奇百怪,大佬会问一些涉及到学术和总体方案设计上的问题,但是我们这种普通人大部分还是从实际应用的角度来问的,总之这个比较考验临机应变的能力,本渣第二个上去讲结果被炮轰了好久,吓出了一身汗,事后虚脱到根本听不下去下面同学的报告了……
中午管饭,老师买了一整箱(你没看错,人家就是拿箱子送过来的)的汉堡、一箱子的可乐、还有若干披萨鸡块鸡翅,吃的特别饱……然后吃完继续报告,我们今年有十三组,持续了八个多小时,到晚上六点多才结束……
虽然同学之间可以py,助教的总体打分还是比较客观的(助教打分占比不明),所以最好好好做大作业,就算没做完上去也不能直说自己没做完(这不是找打吗,有一组上去承认自己没做完结果助教似乎给了70分……),最好能自吹一波,尽量让助教和老师认为你们做了相当多的东西……当然有能力做出东西而且能展示出来是最好的。
最后总结一波,这门课的本体是大作业,需要进行充分的讨论、调研、干活,才能拿一个比较高的分数,如果说本人除了计算机学院正常的课程之外没有太多的拓展,自己又不是那种特别热爱调研学习新东西的人话,建议慎重的选这门课,(这次似乎有一个组就是因为有组员突然消失导致了最后没能做完……)当然如果你对自己的能力有自信,这门课还是非常好的,老师很有水平、实验也比较有含金量、大作业也能显著提升一个人的能力,但是对于一些没有自我拓展的人来说,大作业的选题可能会比较痛苦……特别是当大佬都组团去挑战极限没有大腿可抱的时候……
无关紧要的事情:
今天是2018年9月5日 这门课的分数依旧没有出来,我好慌,也好害怕
现在在答辩(感觉能答辩一天)
闲的没事干来评课社区指指点点😋
这门课没作业
实验也挺简单的
考试就是抄书大赛😭
两个小时半这个题量真的写不完!!!
记得考前去借一本王道os 翻得快
大作业一定要小步慢跑循序渐进,不然最后几天急急急(感觉有的组答辩的时候都没做完)
答辩的时候老师说麦当劳管饱(老师给一人买了两份套餐),实在是吃不动了orz
感觉这个课唯一耗时且费力的就是大作业了
选题一定要选好,对整个学期的影响都很深远
建议不要好高骛远,一定要选具体的选题(不然太大的也做不完)
好像其他也没什么能说的
这学期过得真快啊😆
2023春我担任了这门课程的助教,基本上做到了去年想做的所有改进,和xk老师共事还是相当愉快的~
(7月8日从北京闪现回合肥,为了听大伙的结题报告&蹭一顿麦麦)
形式极端主义 | 形式中立主义 | 形式自由主义 | |
内容极端主义 | 在教室听老师上课 | 在床上听老师上网课 | 在稀土研讨室做大作业 |
内容中立主义 | 在教室听老师上网课 | 在床上听lyk老师网课 | 在稀土研讨室玩原神 |
内容自由主义 | 在教室爽吃炸鸡 | 在床上睡觉 | 大作业做不出,zxc约饭 |
神-GPA之父-邢凯
体力值:4
技能一:【慷慨评分】
类型:锁定技
描述:每当 其他角色在你的回合内展示一张手牌或发动一个技能时,你可选择令该角色本局游戏中获得的分数+1(该分数仅为游戏内效果)。若如此做,你摸一张牌。
技能二:【学术龙卷】
类型:主动技
消耗:弃置一张“锦囊”牌
描述:出牌阶段限一次,你可选择一名其他角色并展示一张你手中的学术相关牌,然后对该角色造成1点伤害,并使其摸两张牌。若该角色手中有与展示牌相同类型的牌,则你额外摸一张牌。
技能三:【麦当劳之宴】
类型:被动技
描述:每当游戏中有玩家使用或打出一张“桃”时,若你当前体力值不满,你可立即声明“麦当劳时间到!”,然后回复1点体力值,并从牌堆顶亮出三张牌,选择其中一张加入手牌,其余置入弃牌堆。若这三张牌中有“杀”或“闪”,则你额外摸一张牌。
限定技:【论文风暴】
类型:限定技
描述:游戏开始时,你获得一枚“论文”标记。当你需要使用或打出最后一张手牌时,若你拥有“论文”标记,你可以弃置该标记并发动此技能。你对所有其他角色各造成1点伤害,然后每名其他角色需选择一项:1. 交给你一张手牌;2. 弃置所有手牌并摸两张牌。之后,你摸X张牌(X为你因此技能获得的手牌数)。
这位先生,能占用一下您的时间吗?我想给您讲一讲我们的道标和救主,Saint Xing先生。我主在过去,在现在,也在未来,他是支配GPA的伟大主宰,也是执掌麦门的黄黑之王,更是每个生灵追求永恒的道标。邢门。
圣·Rust之神·邢凯 Saint Xing 循序善诱(主动技):通过否定一些小组提出的课题来引导你选择那个Saint Xing更喜欢的题目。 PUA大师(主动技):通过前期拉低自己在同学心目中的形象,再在期末、答辩以及给分上拉高形象使得大家对Saint Xing产生皈依之情。 设备亲和低(被动特性):本学期上课教室系统曾出现3分钟内连续重启5次的离谱情况,学期初很长一段时间内PPT的显示区域只占整个幕布的1/2都不到。
整活完毕,接下来是常规评课环节。
注:这门课的四维里面,课程难度和作业多少都是综合之后的结果。如果只考虑小组大作业,应该是困难和超多;如果只考虑实验小作业,应该是简单和不多。
老师讲课以PPT为主,偶尔板书辅助。上课讲课内知识的时候比较枯燥,甚至有时候感觉老师在水时长,甚至有时候看起来老师是在读电脑上的演讲者模式里的附注(个人猜测,不保真,毕竟没看到过)。当然也有课外老师个人教学经历的补充,这部分相对来说还是比较有趣的,虽然可能时不时听到老师重复之前某节课自己同样的话。
课堂内容涵盖教材的所有理论部分。还是可以的。
这门课没有手写作业。
一共四个小作业实验,除去lab3剩下大部分都是祖传。lab1裁剪内核,lab2 shell,lab3 网络服务器,lab4小组合作完成Ray/Ceph部署测试。总体难度不高,体验也挺好。
然后就是重量级的小组大作业。在学期刚开始,就要在几周内组成小组,选定一个前沿的有创新性的能被Saint Xing看上的选题还是很有难度的,个人的一个建议是参考往年小组的选题,在原有基础上进行优化,记得可能的话和学长联系一下,万一那个项目有什么暗坑没有写在仓库里。假如想开新坑,那一定要做好完善的调研,当心把自己坑了。
大作业部分分为调研报告,可行性报告,中期报告和最后的答辩以及结题报告。也许真的可以说是字面意义的依托答辩。答辩的形式是每组先进行三十分钟以上的介绍,然后各组和助教老师对其进行提问,每组至少要提出一个问题。这学期的答辩从早上九点开始,除去中午炸鸡汉堡可乐的半小时外,一直持续到晚上六点多。
大作业前期的几个部分大概只是为了后半学期真的去进行大作业做的准备工作。那些文书工作结束之后大概一学期一半就已经过去了。而学期后半又会有别的课的各种任务出现,因此最重要的是一定要记得小步快跑,一定要记得小步快跑,一定要记得小步快跑!
以下是个人这学期在这门课小组作业上花的时间统计,应该说,这门课的小组作业还是非常花时间的。
以下是个人总结的这学期各小组选题相关的主题关键词,仅供参考,详细情况建议自行去OSH-2023仓库了解。
1.图文件系统 可视化 数据库
2.分布式文件系统 eBPF
3.机器人操作系统 DCA IO实时性
4.微内核 Rust
5.虚拟文件系统 FreeRTOS
6.嵌入式操作系统 Rust MMA
7.分布式计算框架Spark vega Rust
8.操作系统内核模块
考试开卷,时长两个半小时,相比平行班多出来半小时,不过时间其实还是很紧张的。题型分三个大题,第三大题是分析设计题共30分,七选五;剩下两道大题加起来是70分,大概是各占50%,但具体分值分配每年可能会变化。前两道大题其中会有很多小题,每小题可能还有几小问。建议考前一定要做一份往年题体验一下,了解一下题型的风格与分值安排,这样考场上才能更合理地安排时间。
考试总体来说文科与计算并存,老师一直强调看重你的分析能力,我是觉得没有太考查这部分。其实我猜大部分题目只要言之有理大概就会给分。
给一个印象最深刻题目大意作为参考,我是直接跳过了这道题的第2小问。
(5分)食堂窗口的打饭阿姨在有师生来时会服务,在没有人等待时休息。每个窗口同时只能服务一位老师或同学。
(1)(3分)试分析以上情况的同步与互斥,用信号量给出算法描述。
(2)(2分)如果一个窗口没有师生等待时可以帮助隔壁窗口服务师生,即一个窗口最多可以同时服务三位师生,试用信号量给出算法描述。
实际上,因为这门课我直接或间接得到的收获绝对值得一个满分,但因为其中大部分都是我和小组内其他人共同摸索到的,所以打个八折。
在这学期之前,看评课社区时,我还不理解什么是“一门你上完之后除了操作系统什么都会了的课程”。现在我确实觉得这话很对。给总体评价这么低实际上还是因为这门课的名字,毕竟名为操作系统原理和设计,那么我认为还是应该更贴合操作系统本身。
以下内容不计入评课:
给分:虽然应该说邢门,但需要注意,所有部分内容都要正常完成,注意这里指的是所有小实验的加分都要加满,考试不要漏掉太多题目。
助教:助教好像没太多存在感,也许是我或者我们小组没有去找助教求助的原因,应该有的组中期有寻求助教的一些建议。最后答辩助教没有为难我们组,给个好评。
一些资料分享:
一些链接分享:
USTC OSH 2023 课程主页 (osh-2023.github.io)
给分未知,不过不重要。
如果你是一名普通的计科学生且H课必修,那么可以参考一下下面的建议。
2023.7.28 update
不得不说,xk给分真的好(拿这分心里都有点过意不去hhh),但这使我更加坚定了OSH是屑课的想法。
想学OS的别来,想学会怎么包装大作业拿高分的那么OSH欢迎你
两分给带飞我的队友,没有你们我估计上学期一直生活在郁闷之中。
这门课纸面作业也没有,实验设计的也让人摸不着头脑,想学操作系统还是去选隔壁普通班的课吧。
这是一门你上完之后除了操作系统什么都会了的课程(
2019年7月7日,答案提取机月卡组完成了它们的大作业答辩。整个大作业的心路历程可谓是一言难尽:五个人刚开学的时候连番开脑洞也开不出不被毙的课题,在选题截至的最后一周接了老师的锅去搞什么“非冯化改造”。调研和可行性还算顺利,可是等到项目推进的时候就遇到了许多巨大问题甚至到了想要退课的程度(幸好后来换个思路解决了),最后甚至不仅做完了必做还做了老师推荐的加分项(我们项目比较特殊,是老师给我们提算法的需求我们去实现,甚至可以给出不可行性让老师换锅orz),水了两万字的结题报告我怎么这么熟练呢orz。
大作业的体验总结下来就是:一定要有相当熟练运用Linux的队友 && 让老师充分了解并充分肯定你们的课题(甚至这课题就是他选的) && 和老师助教多方经常沟通起码给个好印象 && 找尽量多的大佬并选一个有执行力的组长 等等。
一个学期后对老师最深刻的印象就是:rust,函数式,分布式,海量并发,异步无锁并发,经济危机(雾)
期末考试前拿了三天刷完 389 页《操作系统概念》然后被 30 分的设计题疯狂教育(说好的不考 IO 不考分布式不考去年考过的题目呢???)
课程作业(或者说实验)说是有四次,不过第四次(说是分布式存储)咕咕咕了(感谢豆豆orz),难度还好,所以组内有大佬还是很不错的orz
分还没出,先感谢一下四位神级巨佬不嫌弃我这么个废柴组长 OTZ,他们分别是:新任 LUG CTO,新任 LUG 技术部,芝加哥暑研,GPA 4+
—— 一只酸菜鱼的假期无聊碎碎念
// 2019 年 8 月 22 日
老师突然在微信里出现并给我传了一个 pdf,是他以前带过的学生发的一篇顶会,和我们的课题很相关,并且老师觉得我们的课题比他们达到的深度更大(我会说我当时都不知道怎么回消息了么 QwQ)
// 2019 年 9 月 2 日
在年年喊打的微机原理课上喜提 96
一个学期其实除了看教材并心惊胆跳地等老师点名,和懵逼地做实验,以及期末无比绝望地终期之外,啥也不会…… 学到习得性无助,班除我佬系列。 只能在这里默默地感谢带我的dalao们。没有队友我大概已经退学了。 虽然到最后其实该不会的还是不会。 但是不能黑老师……给分确实不错。
开学刚第二周,课程怎么样暂时无法评价,不过这学期的丁助教居然问问题秒回,什么神仙助教啊
出分了。
OSH,给分的神,无需多言,谨在此诚挚地向我的4位活爹队友致以最崇高的敬意。
但是并不是全体4.3,这个要注意一下。(怎么看都太离谱了吧
以及,看起来期末考试可能还是有占比的,还是建议期末考试准备一下,不要直接摆大烂。
大作业量大,没关系,考试写不完,没关系.期末报告,老师请客,爽吃炸鸡就值满昏[doge]
给分超乎寻常的好,感觉自己要是在普通班也就3.3。实验很多也不简单,尤其是大作业非常花时间。就当是一次体验小组合作的机会了。考试开卷非常支持,而且也不是完全按照标准答案判的,看起来言之有理即可。
我 2012 年上的操作系统(H)课,教材是 Operating System Concepts(《操作系统概念》)。这本教材里面确实有很多 “概念”,中规中矩,不过不是那么有趣。
个人推荐另一本参考书:Operating Systems: Three Easy Pieces http://pages.cs.wisc.edu/~remzi/OSTEP/
上课的时候都是在讲操作系统的一些经典话题,比如课堂小测验考哲学家进餐问题的实现。据说现在上课已经不讲操作系统了,我们当年不是这样的。
这门课的大作业是结组合作,整个 H 班里面大概是分了五组。做的内容都是跟操作系统有关的。我们组三个人(我和郭家华、胡剑伟)是做实时文件系统。
代码于 2017 年 1 月 1 日开源:https://git.ustclug.org/boj/rtfs
Improved block device scheduling algorithms and process scheduler for RTLinux-3.2 in order to eliminate disruptions from non-real-time tasks and ensure response time and throughput of real-time tasks with burst, random, streaming or pipeline I/O modes.
实时文件系统三个版本的设计报告:(这些报告很挫,仅有历史意义)
最终提交的实验报告:rtfs.pdf(想了解这个项目干什么的,下载这个就行)
当时我们还搭了一个 redmine 作为 issue tracker,可惜现在找不到了。
我们组的分工(邮件截图)
据说近年来连续三届学生都有一个组在做多个云网盘的融合……我会说去年底我们组发了一篇同样原理的 paper 吗……当然也是磨了两年才发出来的。 http://dl.acm.org/citation.cfm?id=2814729
味大,无需多盐,投入与回报最成正比的一门课ヾ(≧▽≦*)o
关于大作业:强烈推荐与邢老师沟通一下选题,老师真的很有耐心,一般下课后会和有相关问题的同学们讨论一下再走,也可以在线上咨询,相信我,一个shit般的选题会让所有人发疯。关于24年小组具体的选题我在此也稍微整理了一下,大家可以放心食用(当然大家也可以去课程仓库详细了解OSH-2024 (github.com)):
1.Team_SwanGeese:Ray+大模型分布式部署优化
2.RushToLight:Rust改写Harmony LiteOS(部分)
3.mkdir:Rust改写Linux中的bpf_trace模块
4.ArkFS:受AIOS(即大语言模型智能体操作系统)思想启发,旨在利用大语言模型提取文本中的关键信息,形成特征向量传递给任务调度层,通过执行对应操作,实现文件系统的自动化操作,同时验证AIOS的可行性
5.Rage_of_dUST:用Rust 改写 HuaWei LiteOS 的内存管理单元(MMU)
6.ModelSynergy:将LLM的上下文机制引入操作系统,使得操作系统的文件系统等成为上下文的组成部分,提高LLM对用户的个性化适用性
7.mustrust:用Rust重写FreeRTOS并使其支持MMU
8.vivo50:基于2023年My-Glow小组项目进行优化,主要应用Nginx将项目的中央服务器变成分布式,并进行反向代理。除此之外,尝试对文件的打标技术用大模型进行优化,从而简化打标模型,实现多模态
关于实验:实话实说,这门课的实验确实有些折磨,主要是感觉与课上讲的知识割裂性很强,需要现学很多东西才能下手。不过好在实验的额外加分项是真的多,而且有很多的选项,大多数实验的得分上限都在120分左右(一般情况下可能会有四五十分的附加分,但是最多加到二十分),如果想冲高绩的同学最好把附加分拿到上限
关于作业&考试:一个好消息是:这门课没有纸质作业(≧∇≦)ノ;一个坏消息是:期末考试的题量很大(一定要牢记这一点);另一个超好的消息是:这门课期末开卷考试!(其它的班级是闭卷),邢老师在考试前一般会在最后一节课讲一讲往年试卷,还可能会有一节习题课,习题课上老师也会讲到一些往年卷,强烈强烈强烈推荐同学们去听课,很多题型和往年卷是一样的,邢老师也说过有固定题型。此外,最好把能找到的往年卷打出来都做一遍(最好保证正确性,实在不会就问同学或者GPT),并且带着上考场,相信我,你绝不会后悔。这门课期末考试占比很小(貌似就30%),大家不要有心理压力,我在OSH期末考试前发烧到39度,直到考前一天中午才退烧(第二天上午就开考),因为是期末最后一门课,索性一罐魔爪熬了一个大夜,最后感觉考的还不错。
关于给分:见评论的第一句话,Saint Xing的实力无须质疑ψ(`∇´)ψ
刑凯老师讲课生动有趣, 用例准确形象, 注重引导同学们发现问题, 思考问题, 解决问题, 课堂互动多,( 不过为什么点名回答问题的同学只有那几位23333). 课堂大作业要求合理, 而且要求我们有情怀,这点各有各的看法吧. 实在是值得 5颗星的老师. (如果觉得这门课不错, 同学们帮我去给个好评, 记得把最后面括号里的内容去掉)
23333, 其实老师确实教的挺好的, 不那么说也会给好评的
助教 认真负责, 耐心解答同学们的疑惑, 点赞!
这是课程资料
这是 <<现代操作系统>> pdf https://pan.baidu.com/s/1y8t6Lqjy1lwu2U5RTtCdIA
这是课程主页 https://osh-2018.github.io
感觉这门课算是比较水的了。平时实验有往年学长的代码可以参考(可以直接去翻往年osh课堂的github仓库里的学长的主页),每次实验都有必做和选做,必做做不好的话还可以通过做选做拿到满分,但是感觉实验和课堂有点脱离,没什么联系。最麻烦的是大作业,基本上从学期初就要开始了,而且老师还会经常催,告诫我们要“小步快跑”,不过小步快跑确实是最好的。好在我抱到了大腿,小组里的一位大佬几乎独立攻关了所有难题,而我只需要做一些简单的工作就好了。
期末考试是开卷考试,题目不难,就是量太大,哪怕考试时间延长了半小时也根本写不完,建议优先做分值大的题,最后30分的大题至少留半小时写或者先写。但是考题有很多往年题,在考试前老师也会专门讲一下往年题,其实也就是给我们看一遍,这个时候最好拍下来课后问chatgpt,打印出来带到考场上。附上我当时拍下来的往年题:
最后的给分也是超级好,邢门!
这门H课和普通班的区别主要在于从学期开始一直到暑假都要折磨你的大作业,别的祖传实验不如普通版,可以参见:OSH的GitHub仓库。关于大作业,难点可能主要在选题部分,刚开学我想的就是什么都没学我怎么能知道自己能做什么大作业呢。
一些建议:
考试是全开卷,如果是完全不听的那种就考前把大致知识点过下就行了,考试建议从后往前写。
xk给分可太神了...
第一次专业课能拿100 简直离谱 细节晚点再补)
课程令人压力很大,整体给分很好,和 Python 形成鲜明对比
必须感谢组员和队长的共同付出
不推荐选,老师的两门课讲课效果都很差,基本靠自己
给分是真的好 写六个字说我点评太短,那再水几个字
课程2分,实验1分,作业2分(指大作业),考试两分,给分2分。
课程差不多就是照书讲的,中间会跳过一些东西(不过没办法避免,一学期讲完那么厚一本书不现实)。期末会考一些分析或者理解性质的东西(比如应该选择哪种RAID结构?或者举一些生活中死锁的例子),有较好的自学和领悟能力或者认真听课占其一就可以。
实验很简单,不足的地方在于连续性没有隔壁班那么强,而且一些地方文档有些模糊(比如今年的shell中ctrl+d的处理,POSIX中只有read_stdio才能响应,而文档中能得到的信息只有响应即退出。和助教battle了一下,助教还是不太认同我的做法,后来找老师不知道怎么样了,总评达到要求了就没再问)。个人感觉实验4意义比较大,第一次接触到ray这种分布式优化超参数的东西,说不定以后机器学习不用手动调参了。
大作业我们组做的是VR办公系统,我放到了个人主页上VR Fancy Office (ustc.edu.cn)。通过大作业学到了很多,比如如何编写VR交互项目,如何设置层次清晰、模块化的应用框架等等。
考试开卷,没有像其他班一样考一堆背书题,这些分析性质的题目应该大意对了就会给分的(可以看出优秀率限制让一部分课程的考核完全扭曲,再次大声感谢jwc)。我觉得科大应该所有课都像H课这样上,大家努力学知识就能拿到满意的成绩,反观一些课程,比如代数结构(考试太简单导致在一些毫无意义的地方扣过程分),这些课完全是计科的糟粕(建议学弟学妹去学代数学基础,难一点但是阳间得很)。
最后给分超好,我考试正常写(有少量粗心,比如纳秒当成微秒),实验照着文档要求完成然后做一些能力范围内的附加分,最后的报告也没有很卷,就是描述了环境配置的大体步骤和最后的实验结果,大作业没有上限(我选题的项目如果真要当一个工程去做的话可以做够一年),就有空的时候做做,做到最后一天把之前成果封装一下然后去答辩,貌似反馈还可以?总评给了96
OSH 一直有个说法就是除了 OS 啥都讲(其实是很多理念是跨领域的)
课程内容应该和隔壁 OS 差不多,但是老师上课会聊很多别的知识,上课氛围是很轻松的。
课程小实验上感觉连续性不够,从 lab1 到 lab4 分别完成内核裁剪、Shell、多人聊天室和 ceph 部署,和其他学校一些自己构建操作系统的实验相比有点零散,可能这也是上面那个说法的来源之一吧。据说最后一个实验是老师出的,在做的时候被不可能实现的要求坑了好久(指全班都没人成功在树莓派上跑起来过 ceph),而且 ceph 的文档比较乱,打个比方就是 py2 和 py3 的文档混一起了,而且旧版的脚本还更好用但是需要修。
大实验我自己是没什么特别好的思路的,一直到中期还在纠结要不要换题,最后被大佬的 unikernel 带飞了(我 x86 汇编太烂了很难贡献多少)。选这门课的同学一定要在选题上有充分的调研,及时和老师还要助教讨论,我们这个学期有个组就没有做完(饼画太大),不过最后给分好像也还不错。
老师是不公开往年卷的,需要参考的同学记得及时在讲题课上拍照。
总的下来拿了 A 顺便被卡了绩。
大作业答辩课上的炸鸡真好吃,因为和助教都在 lug 所以最后剩下的拿到活动室多吃了一点
其实在学期开始前就有重构实验的想法,也和老师聊过了。但是因为自己假期都在干别的事情(而且摸多了)没有完成,最后也不知道为什么老师就和另一个助教把实验定好了,大体上还是之前的设计。这次我负责 lab3 的出题和批改,和之前相比加了个关键区无锁的要求,这个方向有所调查的同学应该也会有不少收获(不过因为这里文档要新写一份,没有写得太好,引导太少了)。总之就是感觉我要为实验的祖传背点锅,现在已经不需要提别的学校了,隔壁 OS 都设计得比较好了,哭了(
如果下次还是助教的话一定补锅(
这次因为答辩太晚了,我先回家准备 GRE 了没有吃到炸鸡呜呜
还没出分 先来评价一下
怎么说呢 教学资料比较简陋 很多关键内容靠老师讲课
大作业折磨了一个学期 但答辩当天爽吃炸鸡 太爽了
这门课除了操作系统什么都能学到
室友是隔壁非h班的os,考试周复习的时候稍微交流了下,高下立判。 邢老师的课件思路清晰,深入浅出,上课也讲的很好,我觉得是对的起H课的名号的。 课堂实验难度从简单到困难,lab4还涉及到前沿的文献阅读。 大作业的话选题要和老师助教(其实主要还是老师的意思)多沟通,然后要抱个大腿不划水吧...项目要切实可行,避免画个大饼到期末却做不出来的情况
感谢老师给予了我本科期间一次完整的做研究的经历。从读文档开始,到理论分析,实验论证,再到最后的报告和幻灯片,感觉收获颇丰。另外,我非常有幸能和几个小伙伴一起做好一个项目,过程十分欢乐。
另外,有人说老师的操作系统课本身讲的不好,反而在项目上花时间过多。我想说的是老师的操作系统讲的通俗易懂,高屋建瓴,只是省去了很多细枝末节的内容,所讲内容的难度和广度甚至略高于另一个班。考试、作业也颇有难度,试题较为开放,而正因此更能体现一个学生对系统的设计能力。
全给4.3的传说是假的,有点失望(想想也知道)
大作业别信了xk的忽悠搞啥AIOS, 没什么好做的,xk老师对AI的认知也挺难绷的(估计是来自公众号),最后给分还不如rewrite it in rust,真不如去学rust
xk老师我爱你!有时间再补细节哈哈😄
上来先感叹一波邢老师给分奶的程度,我上大学以来遇到的所有老师里,如果不是最奶,至少也是前三!!!
上课:邢老师上课内容偏简单,整体上轻松愉快,并不像隔壁codh那样一板一眼,不过这也就导致可能书上各种细节不可能面面俱到,但是个人认为这种讲课方式比照本宣科的讲课方式要好很多,毕竟上课讲的细节太多很容易导致抓不到重点,反倒啥都没记住.......
作业:完全没有书面作业!
实验:分为小实验和大作业。小实验为4必做加一个附加,附加实验每个人都不一样,需要单独联系老师要题目,最后5次取4次最高。注意:想拿高分,附加一定要做!!!最后总评表明,邢老师并不是严格按照开学给的公式给分,即使前4个lab满分了,做一下附加一定会在总评上体现出来!大作业是组队完成,4-5人一组。正如其他同学所说,大作业抱大腿至关重要,并且在大作业这一项的得分上,所有组员是一样的,不存在按贡献度分配的问题(老师上课也会讲,能者多劳,实在是太体谅像我这样的小白了呜呜呜)。此外,大作业占比很高,一定要投入足够的时间稳步推进,不能最后速成!
考试:全开卷,一定要打PPT(课本都可以不带),因为老师会特意出一些上课讲过的书上没有的东西(这些大多都很简单)。整体来说前面70分除了有点灵活外还算简单,最后一个30分的分析设计评价题就实在无从下手了(考场上全靠胡扯bushi~)考试占比不高,并且大家都差不多,所以尽力就行~
最后,如果想更进一步学好操作系统,强烈推荐b站NJUjyy老师的操作系统课程,你会体会到什么叫硬核(结课后才发现宝藏,血亏~
整体分大作业 期末考和lab
lab部分体验很好,虽然有时候debug还蛮肝的,但是整体设计已经比较完善了,参考资料给的比较恰当,会培养一些基本习惯,然后督促你自己去search一些奇奇怪怪的东西。作为上os之前对linux不怎么熟的人,经过几个lab还是明显感觉到知识有增长。
讲课部分,os这个课实在太零散了,如果之前对整个课程框架没有一个基本了解,听前几节课很煎熬,完全抓不到点。其实这门课本身就是讲一些基本概念,但是前几节课又把角度拉高,体验不太好。后面大致就是分章节来,感觉稍微好一些。不过讲课部分和lab的联系不怎么大,而且没有平时作业,平时完全没做题。
大作业部分,刚开始要挑题目完全没方向,还会大量引起焦虑。大作业的内容和上课讲的内容其实也没什么联系。其实就纯靠大佬带。要做中期和结题报告,其实还是看立题和报告吹的水平,不怎么关心技术内容。
期末考试,70的基础,30的应用。应用今年考的人工智能并行背景,那30分的应用实在比较傻,五六个小问,每一问都是来回绕着那两个关键点答,答到自己都觉得莫名其妙,最后分数来看应该也没咋扣。