Скачать 0.73 Mb.
|
Блокирующие переменные:С каждым разделяемым ресурсом связывается двоичная переменная, которая принимает значение 1, если ресурс свободен, и значение 0, если ресурс занят.Неделимая операция обеспечивает принцип взаимного исключения:Т.е. исключает случай, когда процесс 1 определил, что ресурс свободен, но, не успев установить переменную в 0, был прерван; Процесс 2 сделал то же самое и был прерван, после чего управление возвращено процессу 1 для выполнения своей критической секции. «Неделимая операция» может быть реализована использованием неделимой команды анализа и присвоения значения логической переменной (например, команды BTC, BTR, BTS процессора Pentium) или с помощью специальных системных примитивов – базовых функций ОС, которые бы запрещали прерывания на протяжении всей операции проверки и установки. «-»: В течение времени, когда один процесс находится в критической секции, другой процесс, которому требуется тот же ресурс, будет выполнять рутинные действия по опросу блокирующей переменной, бесполезно растрачивая процессорное время. Семафоры Для устранения этого недостатка во многих ОС предусматриваются специальные системные вызовы (аппарат для работы с критическими секциями. В разных ОС аппарат событий реализован по своему, но в любом случае используются системные функции, которые условно называют WAIT(x) и POST(x), где x – идентификатор некоторого события (например, освобождение ресурса). Обобщающее средство синхронизации процессов предложил Дейкстра, который ввел новые примитивы, обозначаемые V (“открытие”) и P (“закрытие”), оперирующие над целыми неотрицательными переменными, называемыми семафорами. Доступ любого процесса к семафору, за исключением момента его инициализации, может осуществляться только через эти две атомарные операции. Смысл P(S) заключается в проверке текущего значения семафора S, и если S>0, то осуществляется переход к следующей за примитивом операции, иначе процесс переходит в состояние ожидания. P(S): Пока S==0 Процесс блокируется; S=S-1; Операция V(S) связана с увеличением значения S на 1 и переводом одного или нескольких процессов в состояние готовности к исполнению процессором. V(S): S=S+1; В простом случае, когда семафор работает в режиме 2-х состояний (S>0 и S=0), ео алгоритм работы полностью совпадает с алгоритмом работs мьютекса, а S выполняет роль блокирующей переменной. “+”: пассивное ожидание (постановка в очередь и автоматическая выдача ресурсов)
“-”: не указывают непосредственно на критический ресурс
Мониторы Для облегчения работы программистов при создании параллельных программ без усилий на доказательства правильности алгоритмов и отслеживание взаимосвязанных объектов (что характерно при использовании семафоров) предложено высокоуровневое средство синхронизации, называемое мониторами. Мониторы – тип данных, обладающий собственными переменными, значения которых могут быть изменены только с помощью вызова функций-методов монитора. Функции-методы могут использовать в работе только данные, находящиеся внутри монитора, и свои параметры. Доступ к мониторам в каждый момент времени имеет только один процесс. Для организации не только взаимоисключений, но и очередности процессов, подобно семафорам f(full) и e(empty), было введено понятие условных переменных, над которыми можно совершать две операции wait и signal, отчасти похожие на операции P и V над семафорами. Функция монитора выполняет операцию wait над какой-либо условной переменной. При этом процесс, выполнивший операцию wait, блокируется, становится неактивным, и другой процесс получает возможность войти в монитор. Когда ожидаемое событие происходит, другой процесс внутри функции совершает операцию signal над той же самой условной переменной. Это приводит к пробуждению ранее заблокированного процесса, и он становится активным. Исключение входа нескольких процессов в монитор реализуется компилятором, а не программистом, что делает ошибки менее вероятными. Требуются специальные языки программирования и компиляторы (встречаются в языках, “параллельный Евклид”,”параллельный Паскаль”,Java). Следует отметить, что условные переменные мониторов не запоминают предысторию, поэтому операцию signal всегда должна выполняться после операции wait(иначе выполнение операции wait всегда будет приводить к блокированию процесса). 10. Проблемы синхронизации(тупики) и способы их разрешения. |
15 руководство пользователя Просим уделить время для внимательного изучения инструкций в настоящем Руководстве пользователя. Это поможет вам надлежащим образом... |
Инструкция (типовая) по охране труда при Реактивы химические – это чистые вещества, их растворы, смеси или композиции строго регламентируемого состава, применяемые для научных... |
||
Пароконвектомат «эра» это многофункциональная печь, которая может... Он позволяет повару готовить блюда лучшего качества при меньших физических затратах. Возможность использования одного пароконвектомата... |
Пароконвектомат «эра» это многофункциональная печь, которая может... Он позволяет повару готовить блюда лучшего качества при меньших физических затратах. Возможность использования одного пароконвектомата... |
||
Руководство пользователя следует изучить перед установкой оборудования,... Это руководство содержит информацию о правилах установки и эксплуатации оборудования |
Регулирование криптовалют, токенов блокчейн и первичного предложения монет (ico) Наиболее перспективной технологией является блокчейн, которая представляет собой технологию распределённой базы данных и обеспечивает... |
||
Компьютер и дети. Компьютер друг или враг? Показать возможность использования компьютера в учебной деятельности и в домашних условиях |
Инструкция по подключению к программе Teamspeak Это бесплатная программа, не требующая регистрации или чего-либо еще, очень экономная в плане трафика. Программа представлена в разных... |
||
Руководство пользователя Артикул: 12313 Версия 0 Оптима окажется для вас многофункциональным полезным оборудованием и в будущем. Ваша отопительная установка отличается современным... |
1. Программное обеспечение компьютера – это А вся совокупность программ, хранящихся на всех устройствах долговременной памяти компьютера |
||
Инструкция по эксплуатации Razer Kabuto Спасибо, что выбрали товар... Самое интересное, что Razer Kabuto еще и защищает дисплей. Каким образом? При транспортировке ноутбука или монитора компьютера нужно... |
Программа для родителей и педагогов, которая называется «Из детства в отрочество» Вы держите в руках необычную книгу. Это программа для родителей и педагогов, которая называется «Из детства — в отрочество» |
||
Руководство пользователя Содержание Перед началом использования необходимо внимательно ознакомиться с данным руководством и эксплуатировать оборудование в соответствии... |
Краткое руководство пользователя собрания Они могут сделать экран своего компьютера доступным для совместного использования всеми участниками, а также вести чат и транслировать... |
||
Программа «Вольный стиль» Дополнительное образование обеспечивает возможность успеха в данной сфере деятельности и тем самым способствует развитию таких качеств... |
Руководство Пользователя, Обновления для драйвера и по Это инструкция знакомит с правилами эксплуатации и процедурой установки продукта. Для гарантии наилучшей производительности продукта... |
Поиск |