バンカー アルゴリズム (デッドロック検出) のプロセスとして、タスク マネージャー (notepad.exe など) のプロセスを入力として与えるにはどうすればよいですか ???
1 に答える
実際のアプリケーションに実際のデッドロック防止アルゴリズムを実装するために、すべての OS/外部条件を追跡することは困難であり、おそらく実行不可能です。最新の OS (RT 対応システムについて話していない場合) は、圧倒的に複雑で高価であるため、そのようなアルゴリズムを実装しないことを好みます。
言い換えれば、最悪の場合、単純な再起動で Windows のデッドロックから逃れることができます。そして、これが何回発生するかを考えると、デスクトップ OS 市場では大きな問題とは見なされません。
したがって、次のいずれかのダミー アプリケーションを使用して簡単なテスト ケースを作成することをお勧めします。
- 目的を果たす
- アプリケーションで何が使用されているかを正確に把握し、複雑さを管理できます
補足として、notepad.exe などのアプリケーションは、たとえ Windows タスク マネージャーで「リアルタイム」の優先度を与えたとしても、リアルタイム プロセスではありません (ソフト リアルタイムでさえありません)。リアルタイム プロセスには、遵守しなければならない時間の制約 (締め切りなど) があります。デスクトップ OS は別の概念 (タイム シェアリング) を念頭に置いて構築されているだけなので、これはどのデスクトップ OS にも当てはまりません。Linux には、カーネルのスケジューリング アルゴリズムをリアルタイムのものにするためのRT パッチ ( Xenomaiなど) がいくつかありますが、現時点でそのパッチの状態はわかりません。