Алгоритм Банкира C#

     Процессы в компьютере используют ресурсы, выделяемые им операционной системой. Так как ресурсы не бесконечны, то каждый процесс в определённый момент владеет лишь некоторым количеством ресурсов, так как другие(ресурсы) удерживаются другими процессами. Для завершения задачи необходимо некоторое количество ресурсов, а если такого нет, то возникает тупиковая ситуация. Тупик - момент, когда процессы ожидают высвобождения ресурсов другого процесса и так далее (круг - процесс, квадрат - ресурс).

     Из картинки видно, что: 

  • Процесс P1 ожидает высвобождения ресурса R1.
  • Ресурс R1 захвачен (используется) процессом P2.
  • Процесс P2 ожидает высвобождения ресурса R2.
  • Ресурс P1 захвачен (используется) процессом P1.

Таким образом, граф распределения ресурсов имеет циклическую структуру, что говорит о наличии тупика в системе.

Пример: Пусть в системе имеется 4 ресурса, где каждого в количестве 4 единицы (R1, R2, R3 и R4) и 4 процесса (A, B, C и D).

Задача: иследовать надёжность системы, если имеется следующее потребление ресурсов:

 

Имеем:

  • Процессу A необходимо по 2 ресурса R3 и R4 для завершения;
  • Процессу B необходимо также 2 ресурса R3 и R4 для завершения;
  • Процессу C необходимо по 2 ресурса R1, R2 и 4 R4 для завершения;
  • Процессу D всего 2 ресурса R4.

     Всего задействовано по 4 ресурса R1, R2, R3 и 2 ресурса R4. Это значит, что в системе есть резервный ресурс (R4 в количестве 2-ух едениц), который можно "отдать" какому-нибудь процессу для завершения.

     Отдадим свободный ресурс процессу D и получим высвобожденные ресурсы: R1-0, R2-0, R3-2, R4 -4. Повторить алгоритм до тех пор, пока это возможно. Результат работы программы.

Возможные результаты программы: 

  • Перерасход - использование большего количества ресурсов, чем имеется.
  • Нехватка ресурсов - тупик.
  • Всё хорошо.

Присоединяйся

Зарегестрируйся с помощью социальных сетей.

Публикуй

Опиши работу, прикрепи файлы и назначь цену.

Зарабатывай

Получай пассивный доход с продажи работ.

Тебе понадобится 5 минут для публикации работы на сайте.
Купить

200,00 

(без учета комиссии 3,8 %)

ProcessRes.rar
25081
Оцени работу

рейтинг

Поделись работой с друзьями

Мы не грузим циферки, чтоб ты увидел контент как можно быстрее;

Комментарии (0)

kostyaLem

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегестрированые пользователи имеют возможность комментировать работы
Алгоритм Банкира C#
Реализация алгоритма банкира на языке C# и поиска тупиковой ситуации.
Категория: Образование
Стоимость: 200,00