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