选课类别:专业任务 | 教学语言:双语 |
课程类别:专业核心课 | 开课单位:计算机科学与工程系 |
课程层次:本科 | 获得学分:3.0 |
给亲爱的张老师和亲爱的沈姐姐打call!(之后是不是H课普通班的同学也可以选了?)
21届的H班操作系统的计算机组成原理是一起上的,因此有很多计组的前置知识还没学过,于是张老师在课上帮我们补了一些(很多)计组的内容。老师一直在努力尝试全英文授课,但后来发现大家确实听不明白于是还是两种语言混合着用。张老师的语调可能比较平,但内容是讲得非常清晰的。
实验课由亲爱的沈姐姐教。沈姐姐一如既往地语速快,但知识点基本上都写在实验课的文档里,调理非常清晰非常好读。每节实验课都需要读课程文档然后改代码或者是做题,一般来说难度不会很大,基本上一节课就能弄完,但如果真的想对操作系统有更深入理解的话应该多读读课上用的RISCV操作系统的代码。后来写project的时候一头雾水,非常后悔实验课交完report之后就开始摸鱼而不是多读读source code。
作业大致分为改代码和读教材回答问题两种类型。改代码基本上就是让实现一下上课讲过的东西,比如某些scheduler之类。教材是Three Easy Pieces(下文简称三片),老师会发英文版链接,然后读完回答问题。好多同学说三片原文读起来很痛苦,但我个人觉得三片教材写的非常好,也很通俗易懂,读起来很轻松,对我来说比改代码轻松多了。
project我们小组的选题是将Linux0.11移植到ARM架构上,是一个非常非常非常难的project,本来是三人小组做,后来大家发现都做不完,于是三个小组合并,我们组主要做的是调度相关的部分。最后是完成了进程初始化、时钟中断和fork,但发现时钟中断和fork不能和在一起用。。总之就是做得一塌糊涂。最后全靠无比善良的张老师捞。
H班的期末考试安排在后半学期,并不是期末周。考试比较简单,主要是概念性的内容,最后几个大题是简单的大模拟。可以带CP,本人考前认真复习了三天最后把这部分分数拉满了(/doge)。
操作系统对于计系的学生是非常重要的,这门课很难一定要好好学,如果想有更大收获的话最好能多盘盘源码。
内容而言,要把操作系统这个体系塞进一个学期肯定会很充实,非常建议修读计算机组成之后再来挑战,一起学的话只有快期末的时候才会大彻大悟其中的联系。
理论课而言,张老师对操作系统的理解不可谓不深入,讲的还是很明白的,只是前几周经常说“这个我们后面会具体讲”,会让人比较晕头转向,这门课属于越学越明白的类型。不过由于课程安排比较紧张,文件系统和操作系统的安全讲得很匆忙,需要自己琢磨。
实验课一共14次,每堂课都要提交当堂的report,回答实验课的几个简单问题,时限很紧,基本不能课后再补,不过沈老师提供了一定的容错,比较困难的report可以适当放放。
平时作业真的挺多的,一共10次作业,有阅读一两章教材回答问题的,有计算简答题,也有需要轻度编程的题目,难度适中,每次大概2~4大题的样子,不过亲爱的沈老师提供了best(n-2)的机会,比较忙的时候可以喘口气。
图班这边把期中和期末考试进行了合并,在5/6学期的时候把课程内容拉完,考试内容是整个学期的内容,包含只花了二十分钟不到讲完的文件系统(文件系统几个题比较惨烈),允许携带一张A4 cheating paper,且卷面分数120提供了容错,救了我的老命。
操作系统(H)比较地狱的一点在于,需要做一个组队project,选题来自全国大学生操作系统大赛(好像叫这个),里面的一些题目对于2-3人的团队都挺难的,选题的时候最好不要高估自己的开发能力,不然会很痛苦。
暂无教师主页