from mosaic import *
OS2023(16)
Changelog & 反馈
背景回顾:我们已经了解操作系统作为 “状态机的管理者”,通过为应用程序提供 fork, execve, exit 等系统调用使得第一个进程可以逐步构建出一个完整的应用世界。
本讲内容:完整的应用世界到底是如何构建的?在这节课中,我们用一个 “最小” 的 Linux 系统解答这个问题:
slideshow('16.1')
demo('minix', 'v/minix')
slideshow('16.2')
demo('linux', 'v/linux-minimal')
slideshow('16.3')
我们从 CPU Reset 后的 “硬件初始状态” 到操作系统加载完 init 进程后的 “软件初始状态”,从此以后,计算机系统中的一切都是由应用程序主导的,操作系统只是提供系统调用这一服务接口。正是系统调用 (包括操作系统中的对象) 这个稳定的、向后兼容的接口随着历史演化和积累,形成了难以逾越的技术屏障,在颠覆性的技术革新到来之前,另起炉灶都是非常困难的。
试着在最小的 Linux 中完成一些你感兴趣的任务,例如移植一些有趣的程序。你可能会遇到一些困难:程序可能需要依赖系统中的其他文件或服务,逐渐你就可以理解 systemd 这类系统的设计动机。