Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

第五十三章:程序如何变成进程

复习

  • 系统调用让应用安全请求内核服务。

TL;DR

  • 程序是静态文件,进程是一次正在进行的执行活动。
  • 每个进程拥有执行现场、地址空间和内核记录。

正文

  磁盘里的编辑器只是一些字节;双击它、甚至同时打开两份它以后,才有一个或多个进程。进程包含机器指令正在执行到哪里、寄存器当前是什么、哪些内存属于它、打开了哪些文件等运行现场。

  同一份程序文件可以产生多个彼此独立的进程。它们的代码或许相同,输入、变量、栈和执行位置却各不相同。因此操作系统管理的单位不是“文件名”,而是每个运行中的进程。

  进程怎样出生、换成另一份程序,结束后又怎样回收?这些生命期动作正是下一章的主题。

思考题

同时打开两个同一款文字编辑器,为什么通常是两个进程?

小结

  • 程序是静态内容,进程是运行中的实例。
  • 进程保存自己的现场和资源。

思考题答案(仅供参考)

  两扇窗口需要各自的文档、变量和执行状态;它们虽来自同一程序文件,也必须作为独立运行实体管理。

协议

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