微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CPU 作为资源会发生死锁吗?

如何解决CPU 作为资源会发生死锁吗?

我在读软件工程的第四年,我们正在讨论死锁的主题

概括来说,当两个进程 A 和 B 使用两个资源 X 和 Y 并在释放它们之前等待另一个进程资源释放时,就会发生死锁。

我的问题是,鉴于 cpu 本身就是一种资源,是否存在将 cpu 作为资源导致死锁的情况?

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

解决方法

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。