【问题标题】:Process state transition from READY to TERMINATED从 READY 到 TERMINATED 的进程状态转换
【发布时间】:2015-02-07 22:57:59
【问题描述】:

这是一个理论上的操作系统问题: 哪些情况下进程可以不经过RUNNING直接从READY状态进入TERMINATED状态?

这只是在进程处于 READY 状态时被杀死时发生的吗?

【问题讨论】:

  • 是什么让您认为这个问题只有一个答案?
  • @Thorben 可能有多个答案,这就是您的问题将被关闭的原因。
  • 对于Stack Overflow,单一答案是一个更好的问题。请参阅How to Ask。您的问题可以合理地引出操作系统教科书中关于process states 的大部分章节。
  • 当然,为什么不呢?如果进程的所有线程都没有运行,或者如果进程正在请求自己的终止,那么如果只有请求终止的线程正在运行,这实际上会更容易。
  • @Thorben 好的,你定义了'RUNNING'和'READY',然后你在询问目标进程的线程都没有在核心上运行的进程外终止.这对操作系统来说非常容易,因为它不需要停止在内核上运行的任何线程。它可以将线程控制块指针从它们当前卡在的任何就绪/同步/IO容器中抽出,然后开始释放进程在运行期间获得的任何资源。终止时不需要运行任何目标进程线程 - 为什么会做这么疯狂的事情?

标签: process operating-system


【解决方案1】:

假设有一个父进程有 3 个子进程。如果父进程正在处理并在一段时间后中止,则子进程将从就绪状态变为终止状态。

【讨论】:

  • 为什么子进程处于就绪状态?通常它们在创建后应该处于 RUNNING 状态,除非它们不等待信号或其他东西。
猜你喜欢
  • 1970-01-01
  • 2021-02-17
  • 2017-03-27
  • 2011-06-22
  • 1970-01-01
  • 1970-01-01
  • 2015-07-28
  • 1970-01-01
相关资源
最近更新 更多