什么是程序的执行上下文?

什么是程序的执行上下文?

我的操作系统教科书描述了进程的三个组成部分:

  • 一个可执行程序。
  • 程序所需的相关数据(变量、工作空间、缓冲区等)
  • 程序的执行上下文。

然而,教科书在讨论程序的执行上下文时似乎自相矛盾:

最后一个元素至关重要。执行上下文或进程状态是操作系统用来监督和控制进程的内部数据。这些内部信息与进程是分开的,因为操作系统拥有进程不允许获取的信息。

第一句话说程序的执行上下文是进程的一部分。第二句话说程序的执行上下文与进程是分开的。那么到底是哪一个呢?程序的执行上下文是进程的一部分吗?还是我误解了作者的意思?

答案1

程序所需的相关数据,是运行流程和跟踪其状态所需的实际运行时数据。您应该看到执行上下文更多相关信息,例如运行该进程的用户、进程优先级、分配的内存、安全许可(如 Windows 上的 UAC)等。

因此第三部分不是实际进程的一部分。它可以像 #2 中所述的那样保存在靠近实际程序数据的位置,但进程无法访问它。

相关内容