• Tidak ada hasil yang ditemukan

Особенности семафорных примитивов

N/A
N/A
Protected

Academic year: 2024

Membagikan "Особенности семафорных примитивов"

Copied!
2
0
0

Teks penuh

(1)

Особенности семафорных примитивов.

Атанов С.К., ЕНУ им.Л.Н.Гумилева Понятие семафорных механизмов было введено Дейкстрой.

Определение: cемафор – это переменная специального типа, доступная параллельным процессам для проведения над ней только двух операций – «закрытия» и «открытия», названных соответственно Р-операцией (P – от голландского Proberen – проверить) и V- операцией (V – от голландского Verhogen – увеличить).

Эти операции неделимы и являются примитивами относительно семафора, который указывается в качестве параметра операций. Обобщенный смысл примитива P(S) состоит в проверке текущего значения семафора S, и если оно не меньше нуля, то осуществляется переход к следующей за примитивом операции. В противном случае процесс снимается на некоторое время с выполнения и переводится в состояние «пассивного ожидания».

Операция V(S) связана с увеличением значения семафора на единицу и переводом одного или нескольких процессов в состояние готовности к центральному процессору.

На практике используется много различных видов семафорных механизмов, отличающихся начальным значением и диапазоном изменения значений семафора, логикой действия семафорных операций, количеством семафоров, доступных для обработки при использовании отдельного примитива. Допустимыми значениями семафора являются только целые числа. Если максимально возможное значение семафора равно 1, то семафор называется двоичным или мьютексом. В противном случае семафоры называют N-ичными. Возможны варианты реализации, в которых семафорные переменные не могут быть отрицательными, в других – отрицательные значения могут указывать на длину очереди процессов, стоящих в состоянии ожидания открытия семафора.

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

var S: semafor;

begin

InitSem(S, 1); {присвоить семафору S начальное значение 1}

parbegin {Р1}while true do begin

P(S);

CS1; {Критический интервал процесса Р1}

V(S);

end and

{Р2}while true do begin

P(S);

CS2; {Критический интервал процесса Р2}

V(S) end parend end.

Возможна различная реализации семафорных примитивов. Например, она может иметь следующий вид.

(2)

P(S): S:=S-1;

if S<0 then WAIT(S) {остановить процесс и поместить в очередь ожидания к семафору S}

V(S): if S<0 then RELEASE(S) {поместить один из ожидающих процессов очереди семафора S в очередь готовности};

S:=S+1

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

(TS).

Основное достоинство использования семафорных операций – отсутствие состояния активного ожидания.

Referensi

Dokumen terkait

Соотнося это определение непосредственно с проектированием одежды, можно прийти к выводу, что трансформации могут происходить не только в процессе носки при участии человека, но и в

Вместе с тем, мы не должны забывать, что Вайнберг, прокомментированный Альберта Эйнштейна, указал в своей работе, что «значительные проблемы, с которы- ми мы сталкиваемся, не могут быть

Согласно НК РФ ст.270 не учитываются в качестве расходов по налогу на прибыль: приобретение спортивного ин- вентаря для работников в целях реализации мероприятий, направленных на

Кроме того, некоторые из отдельных прав, закрепленных в одних государствах региона, не встречаются на уровне конституционного регламентирования в других, например, право каждого на

 Таким образом, в каждом проекте мечети необходимо предусмотреть удобные места для моления женщин это может быть автономный молельный зал или это могут быть помещения на балконах и

 Таким образом, в каждом проекте мечети необходимо предусмотреть удобные места для моления женщин это может быть автономный молельный зал или это могут быть помещения на балконах и

 Таким образом, в каждом проекте мечети необходимо предусмотреть удобные места для моления женщин это может быть автономный молельный зал или это могут быть помещения на балконах и

Творческие устремления ребенка, продуцирование им новых ходов мысли также могут быть отнесены к предвестникам одаренности, но это еще не факт, что они получат дальнейшее развитие.. При