操作系统刚开始,只会加载第一个init程序,然后就会等待中断,随后变为"异常处理程序"。
操作系统就是一个状态机的管理者。
虚拟化就是我们的操作系统里可以管理很多个状态机,每一次操作系统都可以选择一个状态机执行一步
如果只有fork()那岂不是完蛋了?
strace一下,发现所有的程序第一条指令都是execve,在老的Unix系统中,所有程序的启动,都需要一个状态机的reset。
这里边全是系统调用捏。
环境变量是重置状态机的参数。
执行exit()的状态机自动销毁,其他状态机不变。
有几种不同的方法。