关于清华计算机专业基础综合(912)的复习

前人经验:https://blog.csdn.net/chr1991/article/details/64971113

附件资料:https://pan.baidu.com/s/1yEMY2X12l8YSkfDv4ePDIA 密码:xb2d

  • 数据结构操作系统的这两门课程主要参考清华自己的MOOC以及课件,王道单科用处不大
  • 计算机网络以及组成原理可以参考网上任何的MOOC、清华的课件以及王道的单科书即可

数据结构

邓俊辉老师的数据结构相当于912的数据结构的指定课程,主要参考MOOC学习

教材

电子稿与示例代码:https://dsa.cs.tsinghua.edu.cn/~deng/ds/dsacpp

MOOC

算法可视化

http://algorithm-visualizer.org/

操作系统

清华大学计算机系操作系统系列课程主页

张慕晖的博客

清华的课程主页上有每学期的课件以及期中与期末的考试题目(附件中已给出2015-2018),但是没有答案,真不知道为啥。但是同学们可以在上面张慕晖同学的博客上找到几年考试的答案以及课程的笔记,太匆忙我还没来得看就考试了…

参考教材

附件中已给出pdf

  • 操作系统:精髓与设计原理(中文第七版)
  • 操作系统概念(第7版)

MOOC

操作系统

课程说明

操作系统课程问答

MOOC习题错误答案讨论(需要登录学堂在线)

关于ucore

因为笔者复习的比较晚,在线平台的实验一编译就卡死,本地环境实在是不想配置等诸多原因,没有来得及做ucore的实验。虽然找到了实验指导书,但是由于书挂在gitbook上偶尔需要科学上网,笔者尝试了gitbook转pdf,记得是有中文字体大小参差不齐的毛病,也没有成功。所以在实验楼的虚拟机中搞出了指导书的源码,请在附件中查看。另外ucore的8个实验同学们是可以在csdn的论坛上以及github上搜到许多同学的实验报告,这里没有整理,如果有做的好的同学可以日后将自己的报告附加到这里来。

自己实现操作系统

因为我也没有做完ucore的实验,而我的二进制队友却在中国另一头的病房里练习鼓捣写操作系统,他给我的建议是参考:

  • Orange’S:一个操作系统的实现
  • x86汇编语言-从实模式到保护模式

参考这两本书,即可完成一个简易的操作系统,所以笔者简单的认为,如果可以学完这两本书,再回头看ucore也应该就容易许多了,pdf已经在附件中给出

关于管程

在统考以及王道中管程的知识是寥寥几句概括,但是在912中不止一次考过管程的详细知识。

在课程中陈渝老师提到管程是可以让同步互斥的代码不用分散在四处,但是代码中还是两个部分,这里有很多同学产生了困惑,因为这里看起来和PV操作没有什么区别,如这位同学在博客中提到

后来经过阅读指导手册的管程和条件变量这一节,我才恍然大悟:

管程就是一个类,把所有的同步互斥都当成类方法写在这个类里,类外面加一个锁,只有一个线程能进来。后来又翻到网友写的信号量和管程区别也可以帮助理解。

组成原理以及网络

这两门课程的课件都在附件中,练习参考408真题即可

MOOC

国防科大-计算机组成原理

遇到的和统考中的不同

海明码的计算

  • 统考中3个校验位,4个数据位
  • 清华考试:4个校验位(包含一个总校验位),3个数据位

流水线时间

  • 统考中只有每段的流水时间
  • 清华这里考虑了每段中间的寄存器时间

RIP路由协议

清华这里在RIP协议中有一个水平分割技术:路由器从某个接口接收到的更新信息不允许再从这个接口发回去

个人笔记

这里笔者扫描了自己在学习过程中记录的一些笔记,同学们可以看一乐呵,其中内容肯定有诸多错误,还望各位多多包含,内容如下:

  • 关于belady
  • 操作系统笔记
  • bin与fib查找长度
  • 王道结构图

今年数学拉稀,如果没有通过我会以微信或者qq群的方式建立一个912复习小组。如果顺利通过,希望接下来考试的同学能够组团复习,共享手中的题目以及思路,另外坚决打击卖题的坏蛋以信息不对称的手段对考生进行坑蒙拐骗!!!