选课类别:基础 | 教学类型:理论实验课 |
课程类别:研究生课程 | 开课单位:计算机科学与技术系 |
课程层次:硕士 | 学分:3.5 |
这门课从程序员和架构师的角度来看计算机系统:如何执行程序,如何存储信息,以及如何通讯。这门课会教学生成为更高效的程序员,关注性能、可移植性、鲁棒性等方面。这门课也是很多高级计算机课程的基础,比如说高级体系结构、计算机网络等。课程的内容包括:
周学海老师的《计算机系统》课程基础教材为CSAPP(Computer Systems: A Programmer's Perspective),内容丰富,被评价为是一本“好书”。教材授课使用PPT,有部分同学反映与CSAPP第三版不完全一致,可能偏向于第二版。不过整体上,老师的讲课被认为是“有水平”的,并强调理解体系结构、系统等计算机领域的关键知识。
课程作业和实验较多,包括五个实验(如BombLab、DataLab等)和数次作业,均可以在网上找到解决方案,因此完成不难。实验检查较为细致,并通过腾讯会议完成。有部分同学指出,实验和作业是课堂内容的重要补充,平时完成这些部分基本上的满分。
考试较为专业,但内容与作业联系不大。题目常涉及信号、进程、I/O、虚存、重定位等较为深入的内容,特别是信号的部分被认为超纲。考试题型灵活,包括代码分析、BUG查找、算法优化等,涉及到实践中的应用。复习时需重点关注书本和PPT上的细节内容,有同学在复习信号量等复杂内容时感到挑战。
课程的给分机制非常慷慨,平时分占比高达60%,通常给满。据反映,无论考试如何,平时分高的同学总评成绩较好。尽管考试难度较大,但总体给分较高,许多同学在考试未确定完成的情况下仍获得高分甚至90+。
整体上,周学海老师的《计算机系统》课程被视为经典且建议选修的基础课程,特别适合对计算机系统有兴趣者。课程丰富且具有挑战性,但在时间投入适中的前提下,能够通过良好的平时表现获得满意的成绩。无论从内容深度还是给分友好度上,这门课都值得一试。
首先,我觉得 CSAPP 这本书还是挺好的。
别的不说了,下面提供 22 年秋季的期末题目题型回忆。(强烈希望老师能提供大致题型,这样复习时感觉好一些)
题目的序号可能有一点弄混了。
分析加速比。题目大概描述:一个程序有 80% 可以通过并行加速,设有 N
个处理器,问并行忽略通信开销时的加速比,和通信开销为原来运行时间的 0.005
倍时的加速比。
用移位运算写出整数乘 10 和除以 10 的函数。要求尽可能精确。(输入的范围可能有点偏差)
unsigned int mul_10(unsigned int x); // x in [0, 4294967295)
unsigned int div_10(unsigned short x); // x in [0, 65535)
CSAPP 中文第三版 3.68 原题。
分析汇编,找出两个整数常数 A,B 的值。需要考虑 long 和 int 的对齐要求。
链接部分的题目,重定位 PC 相对引用。如 CSAPP 中文第三版练习题 7.5,7.5
和考试题数据相同。题目要求回答的内容和书中讲解"重定位 PC
相对引用"的部分一样,有 refaddr 和 *refptr 以及 16 进制表示。
浮点数加法的延迟 L = 3,运算单元数 C = 1。
在浮点数加法满足结合律的情况下,写一个求数组中浮点数的和的函数,要求性能尽可能好。
用 signal 机制和 alarm 函数,写一个 mysleep(unsigned int) 函数,
要求可以在多并发(记不清了,这里可能有误)的情况下避免竞争(race condition)
1. 假设 malloc 使用的是隐式空闲链表,16 字节对齐
2. 块大小向上取到 16 的倍数
问下面的调用中,块大小和 header 的内容,
1. malloc(1)
2. malloc(34)
1. 分析最普通的矩阵乘法的 total cache miss(总 cache 缺失)
2. 用分块的方法改进矩阵乘法,写出代码并分析总 cache 缺失
1. 有 fork 的程序,画进程图
2. 改数据的 IO 一章课件的 Fun with File Descriptors (2)
3. 改数据的 IO 一章课件的 Fun with File Descriptors (3)
知道的都是95+,神中神
使用的csapp,作业/实验不少但是网上都有,实验是腾讯会议检查会比较细致,也可以选择交实验报告
需要注意/吐槽的是这个考试,说是考的比较基础,确实比较基础,就是......和作业居然几乎没有联系,如果只复习作业的现在可能跪了...
考试中,课程前半部分(汇编、优化等)大概只有20分,有个流水线的题目(一脸懵,全考本科基础瞎写),然后就是一大堆 I/O 题,进程,父子进程、信号、存储、虚存、回收策略,这些都是作业里没有的,但是书上/课件上有的。不过考试占比不大,40%。
听说有大佬半个小时就做完了卷子,如果读过csapp这本书的话,卷子还是很简单的
这门课花的时间不算多,作为基础课还是比较建议的选的
神中神,考试啥都不会也能捞起来
人好给分高😭我的神!
信号那两题几乎不会,分离空闲链表完全忘了,这竟然能上90吗?
好奶(
首先,csapp是一本好书,值得阅读。
考试很难,反正我是不太会,但是平时是给50分,基本上实验和作业都是满分,csapp的实验作业答案都能从网上找到,平时分是满分,考试就不会给挂,最后总评也不会难看。
考试怎么说呢,全都是非常专业的东西,必须得是搞这方面的,或者对体系结构,系统这些玩意有很深刻了解的人,才能做出来,一知半解或者知道一个大概的是不太能做出来。如果你不是搞这方面的,那你得刚刚看过书,还热乎呢,才能做得出来。
摸鱼怪路过, 本来打算借这门课好好读读CSAPP, 但还是划了一个学期.
平常作业+5个lab占50%, 正常完成应该都是满分. 考试题出得还是相当容易的(即使是从我这个没怎么听过课的角度来看).
先插个眼。复习时间太紧张了,战略性放弃后半部分,结果考试前半部分没怎么考,泪流满面了。
两次签到,第一次因为要开会没去,据说是去一次总评 +5。
最后一节课划了重点,卷子也确实符合最后一节课的重点。
只能忐忑等待能不能被捞了,哭晕
?啊,不是哥们,为什么我期末确定做对的就一题,结果比高级计算机网络分还高?
老师上课讲的内容似乎和CSAPP第三版不完全一样,不知道是不是和第二版一样而没修改。
考试内容除了信号那一章其他都比较基础,信号那一章的考试内容感觉比上课介绍的内容难很多,书后练习也没有相关的内容,似乎需要进一步了解相关的信号量编程才能熟练的解决。
我以一个非科班学生视角评价一下这门课吧:很难,内容很多,但是给分很好,老师讲课很有水平。
之前从没学过计算机系统相关课程,抱着学习的心态选课进来。上课讲的东西都很陌生,都要从头学,不过老师讲的很好,PPT做的也不错,课本真的很棒。学起来很吃力,但确实学到了不少东西(虽然以后大概率用不上),也算是对计算机系统有了一定认识。
会有几次作业和实验,网上都有答案,写不出来就不要折磨自己了。平时分占比60%,基本都会给满。考试反正是没几个会的,尽可能在写了,空了一道半,大部分题目都是会但不完全会,最后总评87,跟轻松90+的大佬们没法比,但是我是很满意啦。所以如果没基础的也不要怕选这门课,虽然没办法轻松90+,但我想拿个75+是很简单的,毕竟老师说过一般不会给75-。大概就这样,推荐。
作业实验工作量合理,应该不点名(没去过不清楚)
考试会考ppt上比较细的东西
试卷上只有两道题是确定做对的,还有少许完全不会写的和一堆瞎蒙的,出分一看总评上了90,选择佛海,选择成功。
1.7号考完来贴个回忆版:
这次考试和2022秋的回忆版相比难了不少,没有Cache相关的和看汇编码填空的,而且不少题目都是文字题,包括看C语言代码找BUG或者用C语言代码实现功能等,计算题非常少,复习方向完全错误了QAQ
给分很好,这门课应该是没有点名,一共五次实验以及四次作业,都是祖传的,选这门课的性价比很高,如果后续有意向走开发岗,CSAPP这本书对提升对计算机的理解也很有帮助。
87分,没啥好说的,对于一个追求均分75的人来说很满意,下学期两门基础课过了就行了
实验和作业都有大量的参考答案,而且助教平时分给的很足,基本上大家平时分都满了
期末考试里涉及到书上的和PPT里的原题比较多,有时间看书,书上的夹杂在知识中的习题可以捎带做做,今年重定向就考出来一道一模一样的
挺经典的一门课,对于跨考的同学应当是蛮有收获的,但是同时对于他们来讲这门课应该蛮难的
都来选佛海,人好给分高,真神!
成绩还没出,讲下其他的一些情况。
另外,复习的时候感觉 CSAPP 是真的好书,但是老师的 PPT 抄得是真不行。建议复习多看课本课后习题。
没想到总评能有84,遂上调一分。
偷袭 2 次签到直接给 1 分
考试没考 bits 和 汇编
复习还是以后面的章节为主
出分总结 如果按比例给分的话 期末试卷可能改的挺严 给分感觉还不错 给个及格分
省流:给分超好,给分超好,给分超好。
课堂:用ppt讲CSAPP,说实话很无聊,不如自己看书。由于本人本科学过CSAPP,因此基本上不去听课。今年应该没有签到/小测过。
作业:作业是CSAPP课后习题,每年题目都不变,答案也很容易找到。
实验:五个CSAPP配套实验,data(比特数),bomb(逆向分析),attack(缓冲区攻击),perf(代码性能优化),malloc(简易动态内存管理),总体来说难度较低,但还是需要花费一定时间,建议提前写。但需要注意bomb,根据学号,每个人拿到的题目不一样,网上没有直接答案,需要多留一些时间。
考试:闭卷,题目较难,考点刁钻细致,尤其今年信号量出了两道大题,而很多人没复习这块内容。
给分:给分很好。首先,公布的比例中,实验+作业占比就有60%了。考试成绩应该也全都捞了,本人考试确定做对的题只有2道,但最后总评90+。
总结:选就完了。