【发布时间】:2014-06-15 03:26:14
【问题描述】:
我们如何将 taskmanager 中的进程(如 notepad.exe)作为输入作为我的银行家算法(死锁检测)的进程???
【问题讨论】:
标签: c++ algorithm process operating-system bankers-algorithm
我们如何将 taskmanager 中的进程(如 notepad.exe)作为输入作为我的银行家算法(死锁检测)的进程???
【问题讨论】:
标签: c++ algorithm process operating-system bankers-algorithm
跟踪所有操作系统/外部条件以在实际应用程序上实现真正的死锁预防算法将是困难的,而且可能是不可行的。现代操作系统(当我们不是在谈论 RT 感知系统时)由于其极其复杂和昂贵而不愿实现此类算法。
换句话说,您可以摆脱 Windows 死锁,在最坏的情况下,只需重新启动即可。考虑到这种情况发生了多少次,这在桌面操作系统市场上并不被认为是一个大问题。
因此,我建议使用虚拟应用程序编写一个简单的测试用例
附带说明:notepad.exe 或类似的应用程序不是实时进程,即使您在 Windows 任务管理器中赋予它们“实时”优先级(甚至不是软实时) )。实时流程具有必须遵守的时间限制(即截止日期)。这在任何桌面操作系统中都不是这样,因为它们只是在构建时考虑了不同的概念(时间共享)。 Linux 有一些 RT 补丁(例如 Xenomai)可以将内核中的调度算法呈现为实时的,但我现在不知道该补丁的状态。
【讨论】: