(Why) 为什么学操作系统?

(Why) 为什么学操作系统?

2024 南京大学《操作系统:设计与实现》
(Why) 为什么学操作系统?

灵魂拷问:为什么要学 “任何东西”?

为什么要学微积分/离散数学/XXXX/……?

  • 长辈/学长:擦干泪不要问为什么

因为我们要重走从无到有的发现历程!

  • 理解学科中的基本动机、基本方法、里程碑、走过的弯路
  • 最终目的:应用、创新、革命
    • 做题得分不是目的而是手段
      • 如果只是记得几个结论,ChatGPT 已经做得很好了
    • 一大部分人使用:知道能做什么、能做多好
    • 一小部分人颠覆:探索未知的边界
2024 南京大学《操作系统:设计与实现》
(Why) 为什么学操作系统?

例子:为什么要学微积分 (1)

现代物理学的开端 (Newton 时代)

  • 机械论世界观 (模型驱动的系统分析)
    • 具有绝对时间的状态机模型
  • 微积分是理解世界的 “基本工具”
    • 导数、微积分基本定理、……

人类命运的齿轮开始转动

  • 一种新的处理函数的视角
  • 使我们能开始准确 (数学) 地预测物理世界中将要发生的事情
2024 南京大学《操作系统:设计与实现》
(Why) 为什么学操作系统?

例子:为什么要学微积分 (2)

严格化、公理化 (Cauchy 时代)

  • 应对各种卡出的 bug (Weierstrass 函数、Peano 曲线……)

数学的危机

nancos(bnπx)\sum_n^\infty a^n \cos(b^n \pi x)

  • 某种意义上,中值定理可以从工程数学中移除
    • 没有数学危机的背景,那些定义都显得 “从天而降”
    • 包括 εδ\varepsilon-\delta
  • 那剩下的课时做什么?
2024 南京大学《操作系统:设计与实现》
(Why) 为什么学操作系统?

例子:为什么要学微积分 (3)

工程化 (von Neumann 时代至今)

  • 优化、有限元、PID……

人类命运的齿轮再次转动

  • 在一个不需要实数公理、只有分段线性函数的世界里……
    center
  • 不学微积分,就错过了人类发展的新阶段
2024 南京大学《操作系统:设计与实现》
(Why) 为什么学操作系统?

为什么各种数学课不好学?

什么都想要一点,最后就是四不像

  • Yes! 所以这门课也要持续做减法

但我们相信有好的学习方法

2024 南京大学《操作系统:设计与实现》
(Why) 为什么学操作系统?

那么,为什么学习操作系统?

学习 X 的目的

  • 理解 X 中的基本动机、基本方法、里程碑、走过的弯路
  • 最终目的:应用、创新、革命

操作系统的历史要短得多

  • 操作系统的历史就是计算机软硬件发展的历史
    • 基本动机:更快更好地服务更多应用
    • 基本方法:“Building Abstractions”
    • 里程碑:UNIX, Linux, ...
  • 历程中藏着一个问题的答案
    • 什么是今天计算机世界万丈高楼工程奇迹的地基
2024 南京大学《操作系统:设计与实现》
(Why) 为什么学操作系统?

学习操作系统能得到什么?

觉醒体内的 “编程力量”

  • 奇怪的问题能搞明白了
    • 为什么能创建窗口?
    • 为什么 Ctrl-C 有时不能退出程序
      • StackOverflow (2017.5): Helping one million developers exit Vim (今天:不会再发生了)
    • 为什么有的程序能把组里服务器的 128 个 CPU 用满?
  • 每天都在用的东西,能实现出来了
    • 浏览器、编译器、IDE、游戏/外挂、杀毒软件、病毒……
2024 南京大学《操作系统:设计与实现》