虚假的飞升疾走
真正的飞升疾走
所有 deadline 都移至期末考试之后。
操作系统是 “执行程序” 的系统
int main() {
printf("Hello, OS World\n");
}
$ gcc hello.c
$ ./a.out
Hello, OS World
程序 = 计算机系统 = 状态机。
“操作系统” 课给了你程序的 “最底层” 的状态机视角
a.out
是什么?a.out
执行的第一条指令在哪里?printf
是如何被调用的?a.out
执行了哪些系统调用?a.out
执行了多少条指令?perf stat -e instructions:u
操作系统:同时也是状态机的 “虚拟者”
你看到的一切都会被分解成 “内存上的计算” 和 “系统调用”。
操作系统 = 一系列对象和它们的操作
刷一下手机,你的计算机系统经历了非常复杂的过程
操作系统课给这个稍显复杂的过程一个清晰的轮廓
Operating systems (最重要的那个 piece): you're delighted
你不再惧怕任何 “system”
也不再惧怕任何 “需求” 的实现
“计算机的本质是状态机”——fork 拷贝了一份状态机
“死锁检测: lockdep 在每次 lock/unlock 的时候插入一条 printf”
“文件系统是磁盘上的一个数据结构”
如何为网络上的多台计算机提供统一的应用程序接口?
Microkernel, Exokernel, Unikernel
文件系统没能解决的需求
“数据库”:虚拟磁盘上的数据结构
std::map
)在课堂上时,你可以思考一些已经很清楚的基本东西。这些知识是很有趣、令人愉快的,重温一遍又何妨?另一方面,有没有更好的介绍方式?有什么相关的新问题?你能不能赋予这些旧知识新生命?……但如果你真的有什么新想法,能从新角度看事物,你会觉得很愉快。
学生问的问题,有时也能提供新的研究方向。他们经常提出一些我曾经思考过、但暂时放弃、却都是些意义很深远的问题,重新想想这些问题,看看能否有所突破,也很有意思。
学生未必理解我想回答的方向,或者是我想思考的层次;但他们问我这个问题,却往往提醒了我相关的问题。单单靠自己,是不容易获得这种启示的。 —— Richard Feynman
课程主线
课程主线
其他
国产操作系统:一直在 “换壳”,从未被超越
但很少见到真正落地的国产操作系统核心技术
但核心技术别人说造就造啊!
让读研究生的你去造,再多人也造不出个像样的东西啊
伟大的发明从天才和车库里诞生
高考:为普通人提供了阶级跃升的途径
华为/龙芯/...的挑战比大家想象得要多
2023 年,大家毕业了。拿到两个 offer,怎么选?
繁荣:中国经济的腾飞
危机:文明的冲突和世界秩序的重建
机遇:无法阻挡的互联网和开源
我们需要真正的专家,去做一些看似疯狂的,fundamental 的东西,去推动这个世界的进步
- 我们的征途是星辰和大海 —— 银河英雄传说
(没什么前途的老学长对你们的期待)