Модульна контрольна робота з «Системне програмне забезпечення»
Автор: nifam • Март 17, 2024 • Контрольная работа • 1,969 Слов (8 Страниц) • 100 Просмотры
Національний авіаційний університет
Кафедра комп’ютеризованих систем управління
Модульна контрольна робота №4
З дисципліни «Системне програмне забезпечення»
Виконав:
Марченко Богдан
Група КС-333(б)
Київ 2023Завдання №1:
Варіант першого завдання визначається за третьою буквою прізвища, в
моєму випадку це буква "Р", тому номер індивідуального завдання за варіантом
– 10.
Варіант 10. Нехай в деякій комп’ютерній системі виконуються 4 процеси,
які спільно використовують 22 ресурси. Розгляньте наступну таблицю розподілу
ресурсів між процесами:
Чи дозволяє такий стан системи уникнути тупикової ситуації? Доведіть свою
відповідь.
Так, даний стан системи дозволяє уникнути тупикової ситуації, для того
щоб ці слова підтвердити я скористаюсь алгоритмом банкіра:
Спочатку порахуємо кількість ресурсів, яка у нас доступна на даний момент:
22 – 4 – 2 – 2 – 3 = 11
Отже в даний момент ми маємо 11 ресурсів, тепер розберемо можливу
послідовність виділу ресурсів, при якій ми одночасно і змогли б задіяти більше
процесів, і змогли б не допустити виникнення тупикової ситуації.
Спробуємо в першому кроці задіяти відразу два ресурси, порахуємо для кожної
пари суму потребуючих ресурсів і порівнюватимемо це з тим, що в нас є на даний
момент:
1 і 2 процес: 8 + 4 = 12 > 11
2 і 3 процес: 4 + 6 = 10 < 11
2 і 4 процес: 4 + 5 = 9 < 11
3 і 4 процес: 6 + 5 = 11 == 11
Таким чином ми з'ясували, що ми не можемо запустити перший процес разом з
будь-яким іншим, але також ми розуміємо, що можемо запустити будь-яку пару
Номер
процесу, I
Максимальн
а потреба,
МАКС[I]
Виділено
ВИД[I]
Залишок
ЗАЛ[I]
1 12 4 8
2 6 2 4
3 8 2 6
4 8 3 5інших процесів. Але це тільки в першому кроці, далі порахуємо чи не виникне
тупикової ситуації в якомусь із допустимих перших кроків:
1. Віддаємо всі ресурси в першому кроці процесам 2 і 3:
Таким чином після виділення всієї суми потрібних ресурсів ми чекаємо поки ці
процеси закінчать свою роботу і повернуть всі свої ресурси.
Залишок = 11 – 4 – 6 = 1 (це кількість ресурсів, яка в нас залишиться після
виділення всіх потрібних цим двом процесам)
Отримані назад ресурси = МАКС[2] + МАКС[3] + Залишок = 6 + 8 + 1 = 15
Тепер в другому кроці нам вистачить ресурсів, щоб закрити потреби процесів 1 і
4:
15 – 8 – 5 = 2
Як бачимо в такій послідовності [[2, 3][1, 4]] ми не отримаємо тупикової ситуації.
Отже, вже було доведено, що при такому початковому стані системи ми можемо
уникнути тупикової ситуації. Я обрав саме такий підхід, тому що він дає змогу
виконувати більше одного процесу одночасно, що зменшує час очікування
ресурсів процесами в порівняні з запуском одночасно всього по одному процесу.
Завдання №2:
Варіант другого завдання визначається другою
...