Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лекція 5. Керування ресурсами

Тупики

У багатопрограмній системі процес знаходиться в стані тупику, дідлоку (deadlock) або клінчу (clinch), якщо він очікує деякої події, яка ніколи не відбудеться.

Системна тупикова ситуація, чи „зависання” системи – це ситуація, коли один чи кілька процесів знаходяться у стані тупику (клінчу).

Одна із основних функцій ОС – розподілення ресурсів. Коли ресурси розподіляються поміж багатьма користувачами, кожному з яких надається право виключного керування виділеними йому ресурсами, можливе виникнення тупиків, які не дають процесам деяких користувачів хоч коли-небудь завершитися.

У більшості випадків в ОС тупики виникають у результаті звичайної конкуренції за право мати в розпорядженні певні ресурси (як правило, це ресурси послідовного використання).

 

Розглянемо таку ситуацію. Двом процесам, що працюють в багато-задачній системі, для виконання своєї роботи потрібні два ресурси, наприклад Друкарка та Диск.

Нехай після того як процес А захопив Друкарку (встановив блокуючи змінну) він був перерваний. Керування отримав процес В, який спочатку захопив Диск, але при виконанні наступної команди (захоплення Друкарки) був заблокований, так як Друкарка вже захоплена процесом А. Керування знову повертається процесу А, який пробує захопити Диск та блокується, оскільки Диск вже виділений процесу В. І в такому стані процеси А та В можуть знаходитися безмежно довго.

 

 

Можливі такі варіанти уникнення тупику:

 

 

 

Тупикові ситуації треба відрізняти від звичайних черг, хоча і ті і інші виникають при сумісному використанні ресурсів і зовні виглядають подібно: процес призупиняється та очікує звільнення ресурсу. Але черга – це нормальне явище, ознака високого коефіцієнту використання ресурсів при випадковому надходженні запитів. Вона виникає тоді, коли ресурс є недоступним у біжучий момент, але через деякий час він звільниться і процес продовжить своє виконання.

Тупик, навпаки, в деякому розумінні є ситуацією, що не розв’язується. Звичайна тупикова ситуація. Кожен з процесів утримує ресурс, якого потребує інший процес. Причому ні один з процесів не хоче звільнити ресурс, що належить йому. Кожен з процесів очікує звільнення ресурсу іншим процесом.

Для виникнення тупику необхідні наступні умови:

1) процеси вимагають надання їм права монопольного керування ресурсами, що їм виділяються (умова взаємо-виключення);

2) процеси утримують за собою ресурси, які їм виділені, очікуючи в той же час виділення додаткових ресурсів (умова очікування ресурсів);

3) ресурси неможливо відібрати у процесів (які їх утримують) доки ці ресурси не будуть використані для завершення роботи (умова неможливості перерозподілу);

4) існує кільцевий ланцюг процесів, у якому кожен процес утримує за собою один чи декілька ресурсів, що погрібні наступному процесові з ланцюжка (умова кільцевого очікування);

Виникнення тупику неможливе, коли не виконується хоча б одна із перелічених чотирьох умов. Стратегія боротьби з тупиками полягає в тому, щоб усунути хоча б одну із зазначених умов існування тупику.


 

Найважливіші ресурси — це пам’ять та процесор (тобто процесорний час).

 

<== предыдущая лекция | следующая лекция ==>
Кільцевий буфер | Ієрархія пам’яті
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 359; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.