from mosaic import *
OS2023(15)
Changelog & 反馈
背景回顾:有关状态机、并发和中断的讨论给我们真正理解操作系统奠定了基础,现在我们正式进入操作系统和应用程序的 “边界” 了。让我们把视角回到单线程应用程序,即 “执行计算指令和系统调用指令的状态机”,开始对操作系统和进程的讨论。
本讲内容:操作系统上的进程
slideshow('15.1')
demo('thread-os', 'c/thread-os-singlecpu')
demo('minimal', 'i/minimal')
实际上,在 UNIX/Linux 系统内核完成初始化后,只有一个 init 进程被启动,从此以后,操作系统内核就化身为了一个事件驱动的程序、状态机的管理者,仅在中断和系统调用发生时开始执行。我们看到的 “花花世界”,完全是由进程 (也就是状态机管理) 管理的 API (系统调用) 创建出来的。
slideshow('15.2')
demo('fork-demo', 'v/fork-demo.c')
model('m/fork-demo.py', check=True)