以下内容来自William Stallings"操作系统,内部和设计原则"他在其中解释了暂停过程的特征
该过程可能会或可能不会等待某个事件。如果是,则此阻塞条件与挂起条件无关,并且阻塞事件的发生也不会立即执行该过程。
我不明白这一点,什么是阻止状态和暂停状况? 有人可以解释一下吗?
答案 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)
答案 3 :(得分:0)
当中断发生时,一个正在运行的进程可能会被挂起。当进程发出 I/O 请求时会发生中断。进程需要输入设备或输出来完成执行,这样的进程被挂起,直到被请求的设备准备好满足进程的请求。