AI 时代的操作系统¶
AI 时代的操作系统:在物理现实、抽象裂缝与数学理想之间 ——南京大学 JYY 课程的四重视野与终极问题
一、为什么重讲操作系统?—— AI 带来的三重冲击¶
知识获取方式:AI 让“查文档”退居其次,“问 AI”成为默认动作。
学习目标迁移:从“看懂源码”变为“与 AI 协作,写出能被验证的代码”。
技能溢价:对硬件、抽象、数学的直觉成为人类最后的护城河。
二、四重视野:把操作系统拆开来看¶
应用视角:上帝与祈祷¶
- 操作系统是“无感情的上帝”,程序用系统调用(syscall)来许愿。
- 抽象的力量:open/read/write 把磁盘、键盘、网卡统统变成“字节流”;fork/exec 把 CPU 虚拟成一台台独立计算机。
- 漏洞也是入口:fork 在多线程程序里会复制锁,导致死锁;mmap 忘记 msync 会丢数据。
- Unix 哲学:组合(ls | grep)优于继承,一行命令即可定位 10 万行日志中的 3 行关键信息。
硬件视角:镣铐与舞蹈¶
- 硬盘比 CPU 慢 10⁵ 倍,文件系统靠页缓存、异步写回“欺骗”应用程序。
- 多核缓存一致性协议 MESI 决定锁的实现;一次上下文切换要刷 TLB、填缓存,代价昂贵。
- 若芯片没有 MMU(嵌入式),内存管理就得靠静态分区或软件查表。
- 结论:操作系统是被硬件“逼”出来的,不是凭空发明的优雅艺术。
数学视角:理想与泥潭¶
- 程序是一个离散状态机,操作系统是管理一堆状态机的大状态机。
- 用 TLA+ 可以证明调度算法公平,却无法证明其在 3 级缓存+NUMA 上的能耗最优。
- Rust 所有权模型在编译期保证内存安全,但内核仍需 unsafe 处理自引用结构。
- 悖论:形式化验证越完美,工程落地越困难——数学是“尺子”,工程是“泥潭”。
AI 视角:新的抽象层正在诞生¶
- 当 AI 写驱动、调参数、自动生成 seL4 式验证代码,系统调用接口会不会消失?
- 未来程序员可能只写“约束”——实时性、吞吐、功耗——剩下交给 AI 搜索实现。
- 操作系统史就是抽象层级上移史:汇编→C→脚本→AI 提示词。
三、三条学习路径:把“抽象裂缝”变成“登梯”¶
-
动手:用 10 行 Python 写一个 Round-Robin 调度器,把调度理论跑成可视化动画。 问破绽:
-
提问:
- 为什么 Docker 不直接用进程,而要叠加 Namespace/Cgroups?
- 如果硬件突然拿掉中断,操作系统该怎么改?
-
与 AI 结对:把看不懂的 dmesg 甩给 AI,让它用 3 句话解释 + 给出 grep 模式。
四、思考 | 我们的头脑比天空更广阔¶
- 让你从零设计操作系统:
- 你会先写 TLA+ 规范,还是先读 SoC 数据手册?
- 当 AI 能够一次性生成“验证过的正确代码”,“理解系统”的意义还剩什么?
结语¶
操作系统课的价值,不是背熟几个系统调用,而是学会在“物理限制、抽象裂缝、数学理想、AI 浪潮”四股力量中提出问题、动手验证、持续迭代。
在 AI 能写代码的时代,唯一不可替代的能力是——提出好问题的能力。