请解释暂停过程的以下特征

时间:2016-08-26 17:21:54

标签: process operating-system suspend blocked process-management

以下内容来自William Stallings"操作系统,内部和设计原则"他在其中解释了暂停过程的特征

  

该过程可能会或可能不会等待某个事件。如果是,则此阻塞条件与挂起条件无关,并且阻塞事件的发生也不会立即执行该过程。

我不明白这一点,什么是阻止状态和暂停状况? 有人可以解释一下吗?

4 个答案:

答案 0 :(得分:1)

  

该过程可能会或可能不会等待某个事件。如果是的话,这个   阻塞条件与暂停条件无关,并且   阻塞事件的发生也不会使进程成为可能   立即执行。

让我们 假设 您的进程已被暂停的是进程A,它接受来自客户端套接字的传入请求(将其称为接受连接请求的事件)。所以,这本质上是一种阻止呼叫。并且,假设此过程已被用户(/ system)暂停;而且,它本质上也是封锁的。

因此,即使客户端将请求传递给此进程,从而结束进程的阻塞状态;仍然,当进程处于挂起状态时,进程将不会进一步执行。因此,即使客户端传递了请求,但服务器在挂起时也不会响应,但是客户端传递请求时阻塞的原因已经无效。

删除暂停后,流程将立即开始执行并接受客户请求。

因此,即使已为该流程提供阻止原因,也必须从暂停中退出流程,以使流程能够继续进行。

此外,来自Process management (computing) on Wikipedia

  

进程可以从RUNNING,READY或BLOCKED状态暂停,   引起另外两个状态,即READY SUSPEND和BLOCKED   暂停。

暂停的RUNNING流程变为READY SUSPEND,

  

暂停的BLOCKED进程变为BLOCKED SUSPEND 。一个   过程可以暂停,原因有很多;最重要的   其中的一个过程是由过程被换掉的   内存管理系统,以便为其他进程释放内存。   暂停流程的其他常见原因是何时   在调试程序时或系统运行时暂停执行   监测过程。

     

...    SUSPEND BLOCKED *状态下的进程在等待的事件发生时将移至SUSPEND READY状态。

*请注意,SUSPEND BLOCKED状态和BLOCKED SUSPEND状态被认为是相同的。

答案 1 :(得分:0)

暂停的流程是关闭的流程。该过程存在但不会被安排执行。例如,假设您有一台服务器要运行CPU密集型分子建模程序,该程序需要两个月才能完成运行。在白天,当每个人都在工作时,你不希望程序占用CPU。每天早上你暂停这个过程,晚上你将其取消暂停。

当进程被阻止时,它正在等待某些事情发生以允许它继续(即I / O完成)。

当进程暂停时,它正在等待某人取消暂停。正如文本所指出的,一个过程既可以被阻止也可以被暂停。

答案 2 :(得分:0)

  1. 从主内存切换回辅助内存
  2. 大多数人可能正在等待事件发生很长时间
  3. 不是很浪费CPU周期
  4. 由代理发送至该状态:自身,由操作系统,由父进程发送。
  5. 一旦发生事件或来自代理的信号,它将交换回主内存中以执行。

答案 3 :(得分:0)

当中断发生时,一个正在运行的进程可能会被挂起。当进程发出 I/O 请求时会发生中断。进程需要输入设备或输出来完成执行,这样的进程被挂起,直到被请求的设备准备好满足进程的请求。