Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

То (разрешить одному из этих процессов продолжить работу)





иначе S:= S + 1

 

Мы будем предполагать, что очередь процессов, ожидающих на S, обслуживается в соответствии с дисциплиной "первый пришед­ший обслуживается первым" (FIFO).

Подобно операции проверки и установки testandset, операции Р и V являются неделимыми.

Участки взаимоисключения по сема­фору S в процессах обрамляются операциями P(S) и V(S).

Если од­новременно несколько процессов попытаются выполнить операцию P(S), это будет разрешено только одному из них, а остальным при­дется ждать.

Семафоры и операции над ними могут быть реализованы как программно, так и аппаратно. Как правило, они реализуются в ядре операционной системы, где осуществляется управлениесме­ной состояния процессов.

На рис. 4.9 приводится пример того, каким образом можно обеспечить взаимоисключение при помощи семафоров.

Здесь при­митив Р (активный) – эквивалент для "входвзаимоисключения",

примитив V (активный) – для "выходвзаимоисключения".

program примерсемафораодин;

var активный: семафор;

procedure процессодин;

Begin

while истина do

Begin

предшествующиеоператорыодин;

Р(активный);

критическийучастокодин;

V (активный);

прочиеоператорыодин

End

End;

procedure процессдва;

Begin

while истина do

Begin

предшествующиеоператорндва;

Р(активный);

критическийучастокдва;

V (активный);

прочиеоператорыдва

End

End;

Begin

инициализациясемафора(активный,1),

Рис. 4.9Обеспечение взаимоисключения при помощи семафора и примитивов Р и V.  
parbegin

процессодин;

процессдва

Parend

Ends







Дата добавления: 2015-09-07; просмотров: 392. Нарушение авторских прав; Мы поможем в написании вашей работы!




Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

Studopedia.info - Студопедия - 2014-2026 год . (0.009 сек.) русская версия | украинская версия