CS162 学习记录

摆了半个学期不能再这么下去了 :sob_pleading: :
帖子主要当个分布式学习闹钟,什么时候不更新了请门友狠狠 t 我 :rage:

也欢迎学过/正在学的门友交流

4 Likes

好好好 我刚存下 cs162 2024spring 的视频你就出来了是吧

我看的是 2020 的

你要 2024 Spring 版本的吗 我可以私发给你

好啊好啊 wow

QQ 查收

首先是 Lecture1。
老师叫 Jonh Kubi*****后面不会念也记不住,然后老师说大家都叫他 Professor Kubi。

然后他先给了一张很帅的图 [正在处理:


这个图是 internet 的节点图,受 IP 所限目前大约有 38 亿节点,而每个节点背后都有大量的设备,每个这种设备上都运行着一个 OS

Kubi 大概的讲了许多跟 OS 有关的历史,讲了什么是 OS,最后给出了一个结论:
OS 提供了一种对于机器的抽象,这种抽象建立在硬件之上,是为了简化应用编写而作,隐藏了各类硬件细节。OS 还为每个用户/进程协调了各类资源的分配和共享。

1 Like

明天应该会继续读书,没更新请门友狠狠 t 我

为什么不是超

Lecture1 同时提纲挈领地给出了教学大纲:

  • 一些 OS 概念

  • 并发编程,包括线程,调度,锁,死锁,可扩展性(是指什么?),公平性(是指核心调度的公平性吗?)

  • 地址空间,包括虚拟内存,地址转换,保护(可能说的是例如保护一个进程中的内存不被别的进程破坏?),共享(也许是指两个进程间的共享?例如共享内存)

  • 文件系统,包括 IO 设备,文件对象(文件描述符吗?),存储,命名,缓存(比如页表和 Cache?),性能(想起来了 ICS 课上讲的那个内存大山),事务(好像是数据库的概念),数据库

  • 分布式系统,协议(像 TCP,UDP 那种?),剩下的不认识,不知道是啥

  • 可靠性和安全性

求指点

这里 Kubi 非常明确的说了,File Systems 是他的最爱,数据是最重要的最需要保护的东西,合理。

Lecture1 给出了在本堂课中的 Projects 会着重用到的自研精简操作系统 Pintos,将会有三次针对于 Pintos 的 Project
分别针对

  • 用户程序(exec && syscall)什么意思,程序执行和系统调用吗?
  • 线程和调度
  • 文件系统

从 cswiki.diy 上面得到的信息是,即使把 Projects 平均分给 4 个人也需要将近 40 小时每人,每人分配到的代码量大概有 2000 多行。

帅!我上的 23sp,也是 kubi
你自己一个人写四人 project 吗,我们当时三个大神 + 我每周都花了好多时间才写完
另外我们当时有 ta 把关 design doc,避免 project 从上手就是错的这种情况,可能你只能自己多注意一下 design 了

草, :sob:那怎么感觉很容易搞错啊,,

草,我感觉 162 其实不太适合刷课,我当时课没怎么上但配套设施用了个全 (ta,discussion,autograder,组员),要不换个能单刷的 OS 课 (?

我有个朋友大三时候单刷了,我在追随他的步伐

2 Likes

好巧。我上的 23sp,也是 kubi。这门课质量比较高,非常推荐。

但是从另一方面说,所有的 project 都有大量公开的测试样例(因此可以自己本地测试而不需要 autograder),所以也比较好避免这方面的问题。

感觉这门课的 autograder 约等于没用,所有 project 的测试点都在本地,可以调试。

1 Like

wow,那还蛮方便的
说实话我没有运行过一个操作系统程序过,所以 Pintos 的调试大概是怎样进行的呢?会是在一个操作系统上运行,还是有某种其他方式,比如像一个 U 盘那样插到电脑上运行?