【问题标题】:Can a Deadlock occur with CPU as a resource?CPU作为资源会发生死锁吗?
【发布时间】:2021-09-04 18:46:45
【问题描述】:

我是软件工程专业的第四年,我们正在讨论死锁这个话题。

一般来说,当两个进程 A 和 B 使用两个资源 X 和 Y 并等待另一个进程资源释放后再释放它们的资源时,就会发生死锁。

我的问题是,鉴于 CPU 本身就是一种资源,是否存在涉及 CPU 作为资源的死锁的情况?

我对这个问题的第一个想法是,您需要一个系统,其中一个进程不能通过定时中断从 CPU 中释放(它可能只是一个 FCFS 算法)。您也不需要等待资源队列,因为进入队列会释放资源。但是接下来我也问,有队列的时候会不会有死锁?

【问题讨论】:

    标签: process operating-system deadlock scheduling


    【解决方案1】:

    CPU 调度器可以以任何方式实现,您可以构建一个使用 FCFS 算法并允许进程决定何时放弃对 CPU 的控制的调度器。但是这种实现既不实用也不可靠,因为 CPU 是操作系统拥有的最重要的资源,并且允许进程以一种可能永远不会被抢占的方式控制它将有效地使处理系统的所有者,这与操作系统应始终控制系统的基本思想相矛盾。

    就当代操作系统(Linux、Windows 等)而言,这永远不会发生,因为它们不允许这种情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-16
      • 2013-06-23
      • 1970-01-01
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多