C++ 具有实时处理的银行家算法

C++ 具有实时处理的银行家算法,c++,algorithm,process,operating-system,bankers-algorithm,C++,Algorithm,Process,Operating System,Bankers Algorithm,我们如何在taskmanager(如notepad.exe)中为我的Bankers算法(死锁检测)提供一个进程作为输入?跟踪所有操作系统/外部条件以在实际应用程序上实现真正的死锁预防算法将是困难的,而且可能不可行。现代操作系统(当我们不谈论RT感知系统时)不喜欢实现这样的算法,因为它们极其复杂和昂贵 换句话说,在最坏的情况下,您可以通过简单的重新启动摆脱Windows死锁。考虑到这种情况发生了多少次,桌面操作系统市场并不认为这是一个大问题 因此,我建议用一个虚拟应用程序编写一个简单的测试用例

我们如何在taskmanager(如notepad.exe)中为我的Bankers算法(死锁检测)提供一个进程作为输入?

跟踪所有操作系统/外部条件以在实际应用程序上实现真正的死锁预防算法将是困难的,而且可能不可行。现代操作系统(当我们不谈论RT感知系统时)不喜欢实现这样的算法,因为它们极其复杂和昂贵

换句话说,在最坏的情况下,您可以通过简单的重新启动摆脱Windows死锁。考虑到这种情况发生了多少次,桌面操作系统市场并不认为这是一个大问题

因此,我建议用一个虚拟应用程序编写一个简单的测试用例

  • 为你的目的服务
  • 允许您准确地知道应用程序正在使用什么,并允许您管理复杂性

附带说明:notepad.exe或类似的应用程序不是实时进程,即使您在Windows任务管理器中为它们提供“实时”优先级(甚至不是软实时)。实时流程必须遵守时间约束(即截止日期)。这在任何桌面操作系统中都是不正确的,因为它们只是以不同的概念(分时)构建的。Linux有一些RT补丁(例如)可以使内核中的调度算法成为实时的,但我现在不知道该补丁的状态