24518

Назначение и использование семафоров

Доклад

Информатика, кибернетика и программирование

Пусть буферный пул состоит из N буферов каждый из которых может содержать одну запись рис. Для решения задачи введем три семафора: e число пустых буферов; f число заполненных буферов; b блокирующая переменная двоичный семафор используемый для обеспечения взаимного исключения при работе с разделяемыми данными в критической секции. Использование семафоров для синхронизации потоков Здесь операции Р и V имеют следующее содержание: Ре если есть свободные буферы то уменьшить их количество на 1 если нет то перейти в состояние...

Русский

2013-08-09

46.4 KB

9 чел.

Вопрос 23. Назначение и использование семафоров.

§4.4.4Семафоры.

Семафор является средством управления доступом к разделяемому ресурсу со стороны выполняющихся параллельно потоков. Семафор – это специальная блокирующая переменная, которая может принимать только целые неотрицательные значения: 0; 1; 2; 3 и т. д. В частном случае, когда семафор может принимать только значения 0 и 1, он превращается в блокирующую переменную, называемую двоичным семафором.

Над семафором можно проводить только две операции, традиционно обозначаемые буквами V и Р:

V- операция (освобождение ресурса) – увеличение значения семафора на 1;

Р- операция (занятие ресурса) – уменьшение значения семафора на 1.

Пусть переменная S представляет собой семафор. Тогда операции V(S) и P(S) определяются следующим образом:

V(S) : переменная S увеличивается на 1 единым действием, если это возможно. Выборка, наращивание и запоминание S не могут быть прерваны. К переменной S нет доступа другим потокам во время выполнения этой операции.

P(S) : переменная S уменьшается на 1 единым действием, если это возможно. Если S=0 и ее невозможно уменьшить, оставаясь в области целых неотрицательных значений, поток, вызывающий операцию P, ждет, пока это уменьшение станет возможным. Успешная проверка и уменьшение S также является неделимой операцией.

Во время выполнения примитивов V и P никакие прерывания недопустимы. Операция P заключает в себе потенциальную возможность перехода потока, который ее выполняет, в состояние ожидания. Операция V может при некоторых обстоятельствах активизировать другой поток, приостановленный операцией P. Операции V и Р выполняются операционной системой в ответ на запрос, выданный процессом и содержащий имя семафора в качестве параметра.

Рассмотрим использование семафоров на примере взаимодействия потоков, выполняющихся в многозадачном режиме. Одни потоки записывают данные в буферный пул, а другие считывают их из буферного пула. (Буферный пул – набор регистров, в которые записывается информация для временного хранения. Регистры освобождаются и занимаются потоками.)

Пусть буферный пул состоит из N буферов, каждый из которых может содержать одну запись (рис. 4.11). Потоки-писатели должны приостанавливаться, когда все буферы оказываются занятыми, и активизироваться при освобождении хотя бы одного буфера. Напротив, потоки-читатели должны приостанавливаться, когда все буферы пусты, и активизироваться при появлении хотя бы одной записи. Операции записи в буфер и считывания из буфера являются критическими секциями потоков-читателей и потоков-писателей.

Для решения задачи введем три семафора:

e – число пустых буферов;

f – число заполненных буферов;

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

V-освобождение

ресурса

Р-занятие ресурса

Рис. 4.11. Использование семафоров для синхронизации потоков

Здесь операции Р и V имеют следующее содержание:

Р(е) – если есть свободные буферы, то уменьшить их количество на 1, если нет, то перейти в состояние «ожидание»;

P(b) – если критическая секция доступна, то установить признак «занято» (b=0), если нет, то перейти в состояние «ожидание»;

V(b) – освободить критическую секцию (установить b=1);

V(f) – нарастить число занятых буферов.

Следует учитывать, что уменьшение количества свободных и увеличение числа занятых буферов – разные операции.

Поток-писатель, прежде всего, проверяет, имеются ли в пуле пустые буферы, используя семафор P(e). Если свободных буферов нет (е=0), то поток переводится в состояние ожидания. Если свободные буферы есть (е>0), то поток-писатель уменьшает их число и входит в критическую секцию (если это возможно, т.е. если b=1) для записи данных в буфер. После выхода из критической секции поток-писатель наращивает число занятых буферов V(f).

Поток-читатель действует аналогично, с той разницей, что он начинает работу с проверки наличия заполненных буферов – P(f), а после чтения данных наращивает количество свободных буферов – V(e).


 

А также другие работы, которые могут Вас заинтересовать

29820. Информационное сопровождение культурно-досуговой деятельности 19.09 KB
  Принтеры Принтер это устройство предназначенное для печати информации из компьютера на бумагу или на твердый носитель. По областям применения: офисные для печати на бумаге малых форматов; широкоформатные применяются в области наружной рекламы; интерьерные для печати плакатов стендов и прочих элементов оформления интерьера; фотопринтеры для печати фотографий; сувенирные используются для печати на небольших предметах дисках телефонах заготовках сложной формы. По принципу переноса изображения на носитель: лазерные...
29821. Основные требования к техническому оснащению культурно-досуговых учреждений 15.49 KB
  Под техническими средствами в культурнодосуговой деятельности понимаются все устройства приборы и аппаратура предназначенные для осуществления оптимального процесса фиксации хранения и распространения различной информации повышения наглядности зрелищности и художественной выразительности. К ТС в СКД относятся: системы и средства телевидения радиовещания локальные местное телевидение и радио теле и радиоприемники DVDпроигрыватели средства для записи и воспроизведения звука электрофоны магнитофоны CDпроигрыватели...
29823. Классификация технических средств 17.34 KB
  Под техническими средствами в культурнодосуговой деятельности понимаются все устройства приборы и аппаратура предназначенные для осуществления оптимального процесса фиксации хранения и распространения различной информации повышения наглядности зрелищности и художественной выразительности. Правильная классификация технического средства помогает точно определять их функциональное назначение и правильно выбирать необходимый носитель информации. Даже простейшая классификация поможет разобраться с имеющимися и поступающими в...
29824. Звук, его восприятие и характеристики 18 KB
  К физическим параметрам звука относятся: частота его колебаний амплитуда тембр; к энергетическим параметрам интенсивность звука; к психофизическим громкость и динамический диапазон. Высота звука Важнейшей характеристикой колебаний звука является частота число показывающее сколько полных колебаний в секунду совершает например маятник часов струна и т. Частота колебаний звучащего тела определяет тон или высоту звука. Чем больше эта частота тем выше тон звука.
29825. Акустика помещений 26.45 KB
  Отражения звука от стен помещения: И источник звука; С слушатель; 1 прямой звук; 2 звук претерпевший одно отражение; 3 после двух отражений; 4 после трех отражений Именно звуковые отражения когда источник звука выключен поддерживают поле и звук не пропадает мгновенно а замирает в течение какогото определенного для данного помещения времени. Такое постепенное замирание звука в помещении иначе послезвучание называется реверберацией. От скорости замирания звука зависит время существования отзвука в помещении так...
29826. Математическое описание дискретных СУ (ДСУ) 373 KB
  Передаточные функции и динамические характеристики ДСУ Импульсная характеристика ДСУ Рекурсивный и нерекурсивный алгоритмы обработки. Будем рассматривать полностью дискретную СУ рис. Xkk=0m yk k=0n рис.2 q=0 i=1 Данный алгоритм принято изображать в виде структурной схемы рис.
29827. Правила преобразования структурных схем 183 KB
  Передаточные функции замкнутой системы управления. Исходная схема системы управления может быть очень сложной. При этом должны сохраняться динамические свойства системы относительно входных и выходных сигналов. Пусть дана структурная схема системы управления: x b y _ Определим передаточную функцию системы по...
29828. Алгебраические критерии устойчивости 115.5 KB
  Алгебраические критерии устойчивости. Частотные критерии устойчивости. Запасы устойчивости СУ. Понятие об областях устойчивости.