第13期 | 一本书里,装着一个操作系统
一、Linux 线
一本书里,装着一个操作系统
1987 年,阿姆斯特丹自由大学的 Andrew S. Tanenbaum 教授出了一本教材,《Operating Systems: Design and Implementation》(Prentice-Hall)。教材讲概念,天经地义。但这本书的附录里,印着一个完整操作系统的全部源代码——内核、内存管理、文件系统,删减之后,还剩 12,010 行 C。
这就是 MINIX 1.0。名字是 minimal 加 Unix 的缩合。为 IBM PC 和 PC/AT 而写,系统调用兼容第七版 Unix。
一个教授为什么要亲手写一个操作系统?80 年代中期,AT&T 收紧了 Unix 源码的授权,大学课堂上没有可以摊开来讲的真东西了。Tanenbaum 的办法很笨,也很彻底:自己写一个,能跑、能讲、能印进书里。学生买一本书,就得到一个操作系统。
这件事的妙处是一个"小"字。12010 行,是一个人能从头读到尾的体量。Linus 在赫尔辛基大学的课堂上读的就是它——读完了,觉得守着 16 位实模式太憋屈,才动手写了 32 位的。Minix 是"平正",Linux 是后来的"险绝"。
还有一个有意味的细节:这本书讲操作系统,书里印着一个操作系统。书在讲系统,系统在书里——Hofstadter 在《GEB》里写过这种"怪圈":一个系统指涉自身的时候,会升起一级。Tanenbaum 大概没想这么多,他只是想让学生看得见。但四十年后再看,这是整部 Linux 史前传里最漂亮的一个意象:操作系统第一次以"书"的形态,被交到全世界学生手里。
二、原生 AI OS 线
如果 AI 先有操作系统,它的"教材"不会是纸
Tanenbaum 能把 OS 印进书里,前提是:知识写得在纸上,代码印得出来。
原生 AI OS 的知识,大半不在纸上,在权重里。你没法把几百亿参数印成附录。所以它的"教材"不会是一本书,而是一个能跑起来的最小系统:几千行代码的 agent runtime,配一组可复现的实验——跑起来,你就"读"懂了。
2024 年的 AIOS(Mei et al., arXiv:2403.16971)已经有点这个意思:LLM 专属内核,agent 调度、上下文管理、工具调用,代码开源,论文就是说明书。纸书时代,说明书和系统是分开的(书是书,软盘是软盘);AI 时代,说明书就是系统本身——你问它"调度器怎么工作",它现场给你跑一遍。
推演下去:原生 AI OS 的"Minix 时刻",是某个人写出第一个"小到能读完"的 agent OS——小到一个周末能读完,大到能跑真实任务。教学,依然是革命的前传。只不过这一次,学生读的不是纸,是一个活的系统。
三、动手线:今晚,在 3090 上摸一下"消息传递"的代价
Minix 选了一条和 Unix 不一样的路:微内核,进程之间不共享内存,靠 send/receive/reply 三个原语发消息说话。代价是慢,换来的是隔离——一个驱动崩了,内核还在。
今晚能亲手试的一步:在 3090 的机器上,用 60 行 Python 写一个 Minix 式的消息总线玩具。三个"服务器"(内存、文件、进程)各是一个协程,客户端发请求,服务器回回复,全走队列,不许直接调函数。跑起来,测两件事:第一,"请求—回复"回路转不转得起来;第二,拿 time 掐一下,消息版比直接函数调用慢多少。
你会亲手摸到那个1987 年的 trade-off:隔离是有价格的,价格就写在延迟里。可观察的现象:把其中一个"服务器"协程 kill 掉再重启,客户端的请求只是等了一会儿,没崩——这就是微内核当年想卖的东西。
映射到九羲:xuanora 研判层的 agent 之间,早晚也要选一种"说话"的方式——直接调,还是发消息?今晚这个玩具,就是把这道选择题先在你自己机器上做一遍。缺什么:一个晚上;谁来做:你亲手;要多久:写加跑,一小时。
觉 然 小 注
孙过庭《书谱》:"初学分布,但求平正;既知平正,务追险绝;既能险绝,复归平正。"Minix 是操作系统的"平正"——先有一本写得规矩的教科书,才有后来的险绝。所有敢写操作系统的人,都是先把"平正"读完的人。
引 用 与 出 处
- MINIX 词条(英文维基,含 12,010 行源码印入教材、Prentice-Hall 随书发行软盘、1987 年发布等),https://en.wikipedia.org/wiki/MINIX_2.0
- Mei et al., "AIOS: LLM Agent Operating System", arXiv:2403.16971, 2024(AIOS 论文,弹药库已核实出处;arXiv 编号见 GOAL.md 论文弹药库)
- Hofstadter《Gödel, Escher, Bach: An Eternal Golden Braid》, 1979("怪圈"与自指,化用;出处见 GOAL.md 论文弹药库)
- 孙过庭《书谱》引文"初学分布,但求平正;既知平正,务追险绝;既能险绝,复归平正",据 GOAL.md"论文弹药库·艺术美学"已核实可引原文
· · ·