进程可以在 I/O 之后终止而不返回到 CPU 吗?
Can a process terminate after I/O without returning to the CPU?
我对操作系统概念中的下图有疑问:http://unboltingbinary.in/wp-content/uploads/2015/04/image028.jpg
这张图似乎暗示在每次 I/O 操作之后,进程在再次发送到 CPU 之前被放回就绪队列。但是,进程是否有可能在 I/O 之后但在被发送到就绪队列之前终止?
假设我们有一个计算数字然后将其写入存储的程序。在这种情况下,进程真的需要在I/O操作后return到CPU吗?在我看来,应该允许进程在 I/O 之后立即终止。这样就不需要上下文切换了。
一旦一个进程成功地对另一个进程执行了终止请求,被终止进程的线程将不再 运行,无论它们处于什么状态 - 在 I/O 上阻塞,在 I/O 上阻塞线程间通信,运行ning 在核心上,休眠,等等 - 如果 运行ning 必须立即停止它们,并且所有这些都将处于永远不会再次 运行 的状态。
任何其他情况都是安全问题 - 终止的线程根本不应该执行,(否则可能无法终止进程)。
进程终止需要 cpu。进程退出时对内核模式结构的更改、返回内存资源等都需要 cpu.
一个过程只是不会蒸发。你在这里想要的术语是过程破旧 - 我认为。
我对操作系统概念中的下图有疑问:http://unboltingbinary.in/wp-content/uploads/2015/04/image028.jpg
这张图似乎暗示在每次 I/O 操作之后,进程在再次发送到 CPU 之前被放回就绪队列。但是,进程是否有可能在 I/O 之后但在被发送到就绪队列之前终止?
假设我们有一个计算数字然后将其写入存储的程序。在这种情况下,进程真的需要在I/O操作后return到CPU吗?在我看来,应该允许进程在 I/O 之后立即终止。这样就不需要上下文切换了。
一旦一个进程成功地对另一个进程执行了终止请求,被终止进程的线程将不再 运行,无论它们处于什么状态 - 在 I/O 上阻塞,在 I/O 上阻塞线程间通信,运行ning 在核心上,休眠,等等 - 如果 运行ning 必须立即停止它们,并且所有这些都将处于永远不会再次 运行 的状态。
任何其他情况都是安全问题 - 终止的线程根本不应该执行,(否则可能无法终止进程)。
进程终止需要 cpu。进程退出时对内核模式结构的更改、返回内存资源等都需要 cpu.
一个过程只是不会蒸发。你在这里想要的术语是过程破旧 - 我认为。