操作系统原理与设计(H)(邢凯) 2021春 2020春 2019春 2018春 2017春 2016春 2015春 2014春 2013春 2012春  课程号:01170501
2021春 2020春 2019春 2018春 2017春 2016春 2015春 2014春 2013春 2012春  课程号:01170501
9.2(11人评价)
  • 课程难度:中等
  • 作业多少:中等
  • 给分好坏:超好
  • 收获大小:很多
选课类别:计划 教学类型:理论实验课
课程类别:本科计划内课程 开课单位:计算机科学与技术系
课程层次:专业核心 学分:4
课程主页:暂无(如果你知道,劳烦告诉我们!)
点评 写点评
secon 2018春

2018年6月23日,冒着挂掉25号组成原理的风险先回忆一波试题 

第一部分是概念题,比较简单,抄书即可,但是有些反例需要自己想,书和PPT都没有,主要如下:(不全,因为脑细胞都死在最后一题上了,记不清了……)

  1. 概念 PCB FCB 优先级 程序 进程 管程
  2. 举几个反例 如基于平均周转周期和最大等待时间的调度算法在什么情况下会产生冲突 总共三个
  3. 内存分配的算法的优劣性
  4. 地址查找的范围以及与其相关的文件最大大小(有点绕)
  5. 什么时候多线程不比单线程效率高?

有些反例课上讲过,老师上课挺有意思,信息量比较大,注意记下有用的东西。

第二部分更加简单 ,大部分是考的应用型:(依旧不全)

  1. 让你用信号量处理一个互斥问题 抄书就行;
  2. 用LRU算法、FIFO算法、最优算法的缺页次数、然后比较;
  3. 分析内存的分配如果溢出可能出现的问题,就是当你copy了一个长度大于malloc的空间的字符串会出现什么样子的问题。
  4.  还有题目是对局部性进行考察,就是让你分析一个程序的缺页次数和效率的问题。
  5. 磁盘读写的电梯算法和FCFS算法的执行过程。

 

第三大题 基于一个比较现实的模型来分析系统的运行模式,本次考试的模型是短时间内的大量并发访问(双十一、世界杯),并以此来分析操作系统的模型。

第一题是问一个请求,多个进程处理 如何实现互斥;

第二题问如何采用进程池和连接池来实现效率优化;

第三题和第四题是分别问阻塞型进程和非阻塞进程在处理大量并发请求时的不同表现

第五题是问一个进程执行完后通过线性查找来寻找空闲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日 这门课的分数依旧没有出来,我好慌,也好害怕

9 3
账号已注销同学, 能把你回忆的试卷放在我的 一个 用来分享课程资源的 github 仓库 吗
secon回复 @mbinary: 没问题啊
账号已注销回复 @secon: 好的,谢谢

立即登录,说说你的看法

lys 2014春

助教前来发个评分方法:

  1. 平时表现(20分):5次作业,每次5分,取4次最高。独立认真完成者4分保底;查出抄袭者,按人头均分当次成绩。课堂及习题课表现突出者,加平时分,该项成绩超过20者,以20分计入总评。
  2. 期中(10分)、期末(20分):开卷(Kindle开启飞行模式亦可),虽然题目比较难,但基本全班都得到了满分或很高的分数。
  3. 课程设计大作业(50分):一定要认真对待,从选题到开展实践,多与老师沟通,方向跑偏了脑洞开大了没人救你。最后的答辩也要谨慎,如果你没有把助教讲睡着,小心助教把你问得下不来台。

我那年得了98分,2015年带的几个1311学生都拿了95+。

附链接:

9 0
TheLitFire 2019春

这是一门你上完之后除了操作系统什么都会了的课程(

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

4 0
浮云兔斯基 2016春

一个学期其实除了看教材并心惊胆跳地等老师点名,和懵逼地做实验,以及期末无比绝望地终期之外,啥也不会…… 学到习得性无助,班除我佬系列。 只能在这里默默地感谢带我的dalao们。没有队友我大概已经退学了。 虽然到最后其实该不会的还是不会。 但是不能黑老师……给分确实不错。

4 1
浮云兔斯基忘了补充一句:如果像我一样觉得自己太咸鱼了,可能没法适应这种研讨形式的课程,但是又不想损失英才班奖金(大概是英才班唯一的好处了吧)学弟学妹,可以退一学期英才班然后下学期再进(当然要保证下学期绩点足够)。不过,隔壁OS似乎考试和实验的难度也很高。

立即登录,说说你的看法

账号已注销 2018春

刑凯老师讲课生动有趣, 用例准确形象, 注重引导同学们发现问题, 思考问题, 解决问题, 课堂互动多,( 不过为什么点名回答问题的同学只有那几位23333). 课堂大作业要求合理, 而且要求我们有情怀,这点各有各的看法吧. 实在是值得 5颗星的老师. (如果觉得这门课不错, 同学们帮我去给个好评, 记得把最后面括号里的内容去掉)

23333, 其实老师确实教的挺好的, 不那么说也会给好评的

助教 认真负责, 耐心解答同学们的疑惑, 点赞!

这是课程资料

https://mbinary.coding.me/ustc-cs/%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%8E%E4%BF%A1%E6%81%AF%E7%B1%BB/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%8E%9F%E7%90%86%E4%B8%8E%E8%AE%BE%E8%AE%A1(H)/

这是 <<现代操作系统>> pdf https://pan.baidu.com/s/1y8t6Lqjy1lwu2U5RTtCdIA

这是课程主页 https://osh-2018.github.io

2 0
boj 2012春

我 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.

实时文件系统三个版本的设计报告:(这些报告很挫,仅有历史意义)

  1. 操作系统大作业设计报告.doc
  2. 操作系统大作业设计报告_20120325.doc
  3. 操作系统大作业设计报告_20120405.doc

最终提交的实验报告:rtfs.pdf(想了解这个项目干什么的,下载这个就行)

 

当时我们还搭了一个 redmine 作为 issue tracker,可惜现在找不到了。

我们组的分工(邮件截图)

 

据说近年来连续三届学生都有一个组在做多个云网盘的融合……我会说去年底我们组发了一篇同样原理的 paper 吗……当然也是磨了两年才发出来的。 http://dl.acm.org/citation.cfm?id=2814729

2 0
cryptonym 2016春

感谢老师给予了我本科期间一次完整的做研究的经历。从读文档开始,到理论分析,实验论证,再到最后的报告和幻灯片,感觉收获颇丰。另外,我非常有幸能和几个小伙伴一起做好一个项目,过程十分欢乐。

       另外,有人说老师的操作系统课本身讲的不好,反而在项目上花时间过多。我想说的是老师的操作系统讲的通俗易懂,高屋建瓴,只是省去了很多细枝末节的内容,所讲内容的难度和广度甚至略高于另一个班。考试、作业也颇有难度,试题较为开放,而正因此更能体现一个学生对系统的设计能力。

1 0
H_101 2020春

整体分大作业 期末考和lab

lab部分体验很好,虽然有时候debug还蛮肝的,但是整体设计已经比较完善了,参考资料给的比较恰当,会培养一些基本习惯,然后督促你自己去search一些奇奇怪怪的东西。作为上os之前对linux不怎么熟的人,经过几个lab还是明显感觉到知识有增长。

讲课部分,os这个课实在太零散了,如果之前对整个课程框架没有一个基本了解,听前几节课很煎熬,完全抓不到点。其实这门课本身就是讲一些基本概念,但是前几节课又把角度拉高,体验不太好。后面大致就是分章节来,感觉稍微好一些。不过讲课部分和lab的联系不怎么大,而且没有平时作业,平时完全没做题。

大作业部分,刚开始要挑题目完全没方向,还会大量引起焦虑。大作业的内容和上课讲的内容其实也没什么联系。其实就纯靠大佬带。要做中期和结题报告,其实还是看立题和报告吹的水平,不怎么关心技术内容。

期末考试,70的基础,30的应用。应用今年考的人工智能并行背景,那30分的应用实在比较傻,五六个小问,每一问都是来回绕着那两个关键点答,答到自己都觉得莫名其妙,最后分数来看应该也没咋扣。

0 0
坠落的秋叶 2018春

一定要选好题!多和老师沟通选题的事Orz...

0 0
Nemo. 2016春

给分好,成绩多高基本取决于大作业,这个课就是看能不能抱到大腿,或者你自己是不是大腿。

啥也不说了,感谢带我飞的大腿们,谢谢,谢谢。

0 0
mark14 2018春

室友是隔壁非h班的os,考试周复习的时候稍微交流了下,高下立判。 邢老师的课件思路清晰,深入浅出,上课也讲的很好,我觉得是对的起H课的名号的。 课堂实验难度从简单到困难,lab4还涉及到前沿的文献阅读。 大作业的话选题要和老师助教(其实主要还是老师的意思)多沟通,然后要抱个大腿不划水吧...项目要切实可行,避免画个大饼到期末却做不出来的情况

0 0

邢凯

教师主页: 暂无

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

未知 2017春

邢凯老师的其他课

量化金融工程:从理论到实践 10.0 (4) 2021春 2020春...
计算机导论 2012秋