Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Operating system 饥饿和死锁(操作系统)_Operating System_Deadlock - Fatal编程技术网

Operating system 饥饿和死锁(操作系统)

Operating system 饥饿和死锁(操作系统),operating-system,deadlock,Operating System,Deadlock,我知道死锁和饥饿的定义,但我仍然对这几点感到困惑(无法得出哪一点是正确的) a) 僵局是饥饿的极端情况 b) 死锁和饥饿是两个不相关的概念 c) 饥饿只会导致僵局 好吧,a是正确的 饥饿可能导致软锁或次优性能(调度) 由于死锁是饥饿的一种特殊情况(所有竞争者都缺乏资源),它们是/不是/不相关的。死锁:是指所有进程都无法访问资源,因为每个进程都在等待另一个进程,并且存在一个循环 饥饿:是指低优先级进程无法访问其所需的资源,因为有一个高优先级进程正在访问这些资源。在这种情况下,整个流程系统并没有停

我知道死锁和饥饿的定义,但我仍然对这几点感到困惑(无法得出哪一点是正确的)

  • a) 僵局是饥饿的极端情况
  • b) 死锁和饥饿是两个不相关的概念
  • c) 饥饿只会导致僵局
    • 好吧,a是正确的

      饥饿可能导致软锁或次优性能(调度)


      由于死锁是饥饿的一种特殊情况(所有竞争者都缺乏资源),它们是/不是/不相关的。

      死锁:是指所有进程都无法访问资源,因为每个进程都在等待另一个进程,并且存在一个循环

      饥饿:是指低优先级进程无法访问其所需的资源,因为有一个高优先级进程正在访问这些资源。在这种情况下,整个流程系统并没有停止


      因为,只有低优先级进程在饥饿状态下无法访问资源,而在死锁状态下,没有进程能够访问它们所需的资源,因此死锁是饥饿的极端情况,极端标准是无法访问资源的进程总数。


      死锁和饥饿是相关的,因为这两种情况都是进程无法访问资源的情况


      饥饿不会导致死锁,因为饥饿的低优先级进程会一直等待,而其他高优先级进程则会运行到完成

      有传言说,当他们在1973年关闭麻省理工学院的IBM 7094时,他们发现了一个低优先级的流程,该流程于1967年提交,但尚未运行



      ——亚伯拉罕·西尔伯沙茨、彼得·高尔文、格雷格·加涅在《死锁》一书中提到:如果两个线程一直在等待对方,这种无限的等待被称为死锁。等待永不结束的线程的长时间等待也被称为死锁。 饥饿:线程在某一点结束时的长时间等待被称为死锁。
      例如,低优先级线程必须等待直到完成所有高优先级线程,这可能需要很长的等待时间,但在某个点结束,这只不过是饥饿。

      谢谢您的回答,我也这么认为。。。但是,如果我将“c”视为逻辑推理,那么答案是“c”,选项“a”的“c”超集我使用选项“c”的ven图表示,我们能说如果出现僵局,肯定是饥饿吗?@MuditKumarSaini:当然!饥饿-低优先级进程无法获得所需资源。死锁-没有进程获得所需资源。