跳转至

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 能写代码的时代,唯一不可替代的能力是——提出好问题的能力。