Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

第五十四章:进程的创建与结束

复习

  • 进程是程序加上当前执行现场和资源。

TL;DR

  • 操作系统创建进程、装入程序,并在结束后回收资源。
  • 许多系统用父子关系组织创建与等待。

正文

  启动新程序时,内核要建立地址空间、准备初始栈和寄存器,并从可执行文件装入代码。类 Unix 系统常把“创建一个近似副本”和“用新程序替换其地址空间”拆成两步;不必记住具体接口,重要的是理解:进程创建和程序装入都是内核的工作。

  进程结束时,内核关闭它打开的资源、释放内存,并保存一个退出状态供创建者查询。父进程若尚未取走这个结果,内核还要暂留最小记录,避免结果无处可查。

  现在进程会出现和消失了。要同时管理许多进程,内核需要一份随时可查的档案,并用它描述进程正处于什么状态。

思考题

为什么进程退出后不能立刻忘掉全部信息?

小结

  • 创建涉及建立执行环境并装入程序。
  • 结束涉及释放资源和保留必要的退出结果。

思考题答案(仅供参考)

  创建者可能还要知道它是否成功、为何失败;内核需暂存退出状态,直到有人领取。

协议

本文采用 CC BY-NC-SA 4.0 协议发布。