Сейчас работаем

Алгоритм Банкира 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. Повторить алгоритм до тех пор, пока это возможно. Результат работы программы.

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

  • Перерасход - использование большего количества ресурсов, чем имеется.
  • Нехватка ресурсов - тупик.
  • Всё хорошо.
Купить 450,00 
(без учета комиссии 3,8 %)
Сразу после оплаты Вы получите работу на электронную почту. Файлы отправляются автоматически.
Похожие работы
Тип Название Рейтинг Категория Стоимость
Лабораторная Алгоритм Фиата-Шамира C# 11 .NET (C#) 750,00
Исходник Алгоритм Рабина-Карпа C# 0 .NET (C#) 1 500,00
Исходник Алгоритм Хаффмана C# 22 .NET (C#) 2 500,00
Другие работы автора
Тип Название Рейтинг Категория Стоимость
Курсовая Автоматизированная информационная система складского учета (C#, WinForms) 14 .NET (C#) 3 000,00
Исходник АИС База данных "Настольные игры" (C#, WinFroms, SQLite) 0 .NET (C#) 2 200,00
Лабораторная База данных Книг (C#/WPF/SQLite) 0 .NET (C#) 3 200,00
Комментарии (0)

kostyaLem

/ /

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

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

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