Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Тупики




ЛЕКЦИЯ №8

4. Семафор – контролирует доступность нескольких однотипных ресурсов.

Семафор открыт, если счетчик > 0 и закрыт, если 0.

Функциональная спецификация:

- захватить семафор(если счетчик > 0, то он уменьшится на единицу, если счетчик = 0 – процесс находится в состоянии ожидания до тех пор, пока счетчик не стане равен 1 и, отнимая ее, продолжит работу)

- освободить семафор

 

Тупик(взаимная блокировка) – это ситуация, когда два или более процессов не могут продолжить свое выполнение без внешнего вмешательства.

Пример:

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

1) в системе должен быть уникальные ресурсы

2) операционная система не может забрать у процесса ресурс, которым он владеет

3) владея уникальными ресурсами, процесс продолжает запрашивать другие ресурсы

4) в системе должен существовать цикл(на графе) из процессов, требующих ресурсов друг у друга

 

Что можно делать с тупиками:

1. избавиться от тупиков вообще(нарушить условия)

убрать циклы

заставить процесс запрашивать все и сразу

можно нарушить со стороны процесса

нарушение первого условия: избавиться от уникальных ресурсов. Любой процесс, который захочет работать с уникальным ресурсом заставлять работать не с уникальным ресурсом напрямую, а через специальный мониторинг, который управляет уникальными ресурсами.

Во многих случаях можно заменить уникальный ресурс драйвером.

2. Пытаться обойти тупик(потенциально возможно)

3. Тупик может быть, осталось только из него выйти.

если тупик есть, то пусть будет

если тупик есть в системе, то существует цикл. Находим линейный набор процессов, которые можно «убить» и все хорошо

использовать механизм контрольных точек.




Поделиться с друзьями:


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


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



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




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