Скачать 0.75 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 выполняет роль блокирующей переменной. “+”: пассивное ожидание (постановка в очередь и автоматическая выдача ресурсов)
“-”: не указывают непосредственно на критический ресурс
Мониторы (условные переменные) Для облегчения работы программистов при создании параллельных программ без усилий на доказательства правильности алгоритмов и отслеживание взаимосвязанных объектов (что характерно при использовании семафоров) предложено высокоуровневое средство синхронизации, называемое мониторами. Мониторы – тип данных, обладающий собственными переменными, значения которых могут быть изменены только с помощью вызова функций-методов монитора. Функции-методы могут использовать в работе только данные, находящиеся внутри монитора, и свои параметры. Доступ к мониторам в каждый момент времени имеет только один процесс. Для организации не только взаимоисключений, но и очередности процессов, подобно семафорам f(full) и e(empty), было введено понятие условных переменных, над которыми можно совершать две операции wait и signal, отчасти похожие на операции P и V над семафорами. Функция монитора выполняет операцию wait над какой-либо условной переменной. При этом процесс, выполнивший операцию wait, блокируется, становится неактивным, и другой процесс получает возможность войти в монитор. Когда ожидаемое событие происходит, другой процесс внутри функции совершает операцию signal над той же самой условной переменной. Это приводит к пробуждению ранее заблокированного процесса, и он становится активным. Исключение входа нескольких процессов в монитор реализуется компилятором, а не программистом, что делает ошибки менее вероятными. Требуются специальные языки программирования и компиляторы (встречаются в языках, “параллельный Евклид”,”параллельный Паскаль”,Java). Следует отметить, что условные переменные мониторов не запоминают предысторию, поэтому операцию signal всегда должна выполняться после операции wait(иначе выполнение операции wait всегда будет приводить к блокированию процесса). 10. Проблемы синхронизации(тупики) и способы их разрешения. |
2. Структура информационного канала. Информационно-логическая структура доказывания 3 Процессуально-познавательные функции общей информационной модели механизма расследуемого события |
Программа государственного экзамена. Направление “Туризм” «Теория и организация туризма» Эволюция понятия «туризм». Виды туризма, их характеристика и перспективы развития. Типы классификации видов туризма. Специфика делового... |
||
План цикла по теме "химия и функции белков" Для педиатрического факультета Основные правила работы в биохимической лаборатории. Работа с мерной посудой, дозаторами, аппаратурой. Техника безопасности (сдача... |
Правительство Российской Федерации федеральное государственное автономное... Понятие бренд и его эволюция. Значение бренда для фирм и потребителей |
||
План: Основные понятия Функции гис классификация гис эволюция гис Это может быть план здания, карта экологического мониторинга территории, атлас земельного кадастра или карта природных ресурсов... |
План: Основные понятия Функции гис классификация гис эволюция гис Это может быть план здания, карта экологического мониторинга территории, атлас земельного кадастра или карта природных ресурсов... |
||
I. Понятие преступлений против несовершеннолетних и их законодательная эволюция Развитие законодательства об ответственности за преступления против несовершеннолетних в России |
Ooo "св-робот" Компьютерные курсы рабочая программа Переменные, операции, выражения в php. Типы переменных. Изменение типа переменной. Динамические переменные. Константы. Комментарии.... |
||
Теоретические вопросы: Общая характеристика организационных звеньев... Общая характеристика организационных звеньев (понятие, цели, функции). Формирование целевых подсистем |
Медицинский колледж Вопросы к квалификационному экзамену Мз рф, его структура и функции. Нормативные документы. Фармакологический и фармакопейный комитеты. Департамент государственного контроля... |
||
Студента 2 курса магистратуры группы «Медицинское право» очной формы... Понятие, эволюция и генезис оборота фальсифицированных лекарственных средств 14 |
Методические указания составлены в соответствии с рабочей программой... ПМ. 03. Выполнение работ по профессии «оператор электронно-вычислительных и вычислительных машин» |
||
Контрольная работа по дисциплине Трудовое право Понятие, содержание и структура коллективного договора. Порядок разработки его проекта |
Материально-техническое обеспечение кабинета №6 по профессии «Оператор... Материально-техническое обеспечение кабинета №6 по профессии «Оператор электронно-вычислительных и вычислительных машин» |
||
Российской Федерации Старооскольский технологический институт им. А. А. Угарова ПМ. 03. Выполнение работ по профессии «оператор электронно-вычислительных и вычислительных машин» |
Российской Федерации Старооскольский технологический институт им. А. А. Угарова ПМ. 03. Выполнение работ по профессии «оператор электронно-вычислительных и вычислительных машин» |
Поиск |