Скачать 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 еще и защищает дисплей. Каким образом? При транспортировке ноутбука или монитора компьютера нужно... |
![]() |
Программа для родителей и педагогов, которая называется «Из детства в отрочество» Вы держите в руках необычную книгу. Это программа для родителей и педагогов, которая называется «Из детства — в отрочество» |
![]() |
Руководство пользователя Содержание Перед началом использования необходимо внимательно ознакомиться с данным руководством и эксплуатировать оборудование в соответствии... |
![]() |
Краткое руководство пользователя собрания Они могут сделать экран своего компьютера доступным для совместного использования всеми участниками, а также вести чат и транслировать... |
![]() |
Программа «Вольный стиль» Дополнительное образование обеспечивает возможность успеха в данной сфере деятельности и тем самым способствует развитию таких качеств... |
![]() |
Руководство Пользователя, Обновления для драйвера и по Это инструкция знакомит с правилами эксплуатации и процедурой установки продукта. Для гарантии наилучшей производительности продукта... |
Поиск |