A Story on Operating Systems

A Story on Operating Systems

2025 南京大学《操作系统原理》
A Story on Operating Systems

从逻辑门到计算机系统

计算机系统的 “公理系统”

  • 数字系统 = 状态机
    • 状态:触发器 (bit array)
    • 迁移:组合逻辑 (真值表)
  • Everything is a state machine
    • 操作系统是状态机的管理者

“数码管” 作为第一个例子

  • UNIX Philosophy 和 “编程” 的力量
    • 彩蛋:复习提纲是使用 UNIX Philosophy 生成的
    • 彩蛋:我们可以让 AI 帮我们
2025 南京大学《操作系统原理》
A Story on Operating Systems

Virtualization

状态机管理

  • fork, execve, exit, signal, kill

进程的地址空间

  • mmap, munmap, mprotect

操作系统对象

  • open, pipe, mkfifo, close, read, write

其他

  • getpid - 进程构成树状的结构
2025 南京大学《操作系统原理》
A Story on Operating Systems

Concurrency

原子操作

  • atomic_inc, atomic_cmpxchg

线程管理

  • clone (spawn), exit, exit_group

同步和互斥

  • futex (P, V, join, mutex_lock, mutex_unlock, ...)

其他

  • gettid
2025 南京大学《操作系统原理》
A Story on Operating Systems

Persistence

文件 (数据 & 元数据) 管理

  • open, read, write, close, stat, chmod, chown, fsetxattr/fgetxattr, ftruncate, ...

目录树管理

  • mount, mkdir, readdir, link, symlink, unlink, rename, chdir, ...

一致性管理

  • sync > syncfs > fsync > fdatasync

其他

  • flock, pivot_root, ...
2025 南京大学《操作系统原理》
A Story on Operating Systems

从逻辑门到计算机系统

打印 Hello World

  • 应用程序 (app) → 加载器 ld.so → 库函数 → 系统调用

操作系统课给这个稍显复杂的过程一个清晰的轮廓

  • 你可以在其中的每一步都对应到一个具体的示例代码
    • “这一切是可以掌控的”

一个改变全人类的 prompt

  • 我在做 [X]。如果你是一位专业人士,有更好的方法和建议吗?尽可能全面。
2025 南京大学《操作系统原理》
A Story on Operating Systems

《操作系统》:你的真正 “编程” 启蒙课

你不再惧怕任何 “system”

  • 嵌入式系统
  • 通用操作系统
  • 数据库系统
  • 分布式系统
  • 二进制安全
  • ……

也不再惧怕任何 “需求” 的实现

  • 只要操作系统能支持的,我就会实现!
2025 南京大学《操作系统原理》