Алгоритм банкиров с процессом в реальном времени

Как мы можем дать процесс в диспетчере задач (например, notepad.exe) в качестве входных данных в качестве процесса для моего алгоритма Bankers (обнаружение тупиков)???

1 ответ

Решение

Будет сложно и, вероятно, невозможно осуществить отслеживание всех условий ОС / внешних условий для реализации реального алгоритма предотвращения тупиковых ситуаций в реальном приложении. Современные ОС (когда мы не говорим о системах с поддержкой RT) предпочитают не реализовывать такие алгоритмы из-за их огромной сложности и дороговизны.

Другими словами, вы можете выйти из тупика Windows, в худшем случае, с помощью простой перезагрузки. И учитывая, сколько раз это происходит, это не считается огромной проблемой на рынке настольных ОС.

Поэтому я рекомендую написать простой контрольный пример с фиктивным приложением, которое либо

  • Служить своей цели
  • Позволяет вам точно знать, что используется вашим приложением, и позволяет вам управлять сложностью

В качестве примечания: такие приложения, как notepad.exe или аналогичные , не являются процессами реального времени, даже если вы задаете им приоритет "реального времени" в диспетчере задач Windows (и даже не программно в реальном времени). Реальные процессы реального времени имеют временные ограничения (т.е. сроки), которые они ДОЛЖНЫ соблюдать. Это не так в любой настольной ОС, так как они просто созданы с другой концепцией (разделение времени). В Linux есть некоторые исправления RT (например, Xenomai) для преобразования алгоритма планирования в ядре в реальном времени, но сейчас я не знаю о состоянии этого исправления.

Другие вопросы по тегам