Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Параллельная обработка процессов, проблемы критических участков, взаимоисключения. Синхронизация параллельных процессов на высоком уровне. (СПО)






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

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

Проблемы критических участков. Взаимоисключения

При выполнении параллельных процессов может возникать проблема, когда каждый процесс, обращающийся к разделяемым данным, исключает для всех других процессов возможность одновременного с ним обращения к этим данным - это называется взаимоисключением (mutual exclusion).

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

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

Пример. Пусть два процесса X и Y разделяют переменную СЧЕТ. Если оба процесса попытаются увеличить СЧЕТ на 1 одновременно, то окончательное значение этой переменной может оказаться неверным. Рассмотрим следующую последовательность событий:

1.процесс X запоминает значение переменной СЧЕТ в некоторой локальной переменной СЧЕТ_Х;

2.процесс Y запоминает значение переменной СЧЕТ в некоторой локальной переменной СЧЕТ_Y;

3.процесс Х увеличивает значение СЧЕТ_Х на 1 и записывает его в СЧЕТ;

4.процесс Y увеличивает значение СЧЕТ_Y на 1 и записывает его в СЧЕТ.

Заметим, что хотя каждый процесс увеличил значение СЧЕТ на 1, ее окончательное значение увеличилось только на 1, а не на 2. Чтобы избежать таких нежелательных явлений, увеличение разделяемой переменной СЧЕТ следует рассматривать как критический участок.

Рассмотрим несколько решений проблем синхронизации критических участков

Средства синхронизации параллельных процессов более высокого уровня были первоначально предложены в работах Дейкстра и Хоара.

Монитор (monitor) - это набор процедур и информационных структур, которым процессы пользуются в режиме разделения, причем в каждый момент им может пользоваться только один процесс.

Вход в монитор находится под жестким контролем - здесь осуществляется взаимоисключение процессов, так что в каждый момент времени только одному процессу разрешается войти в монитор. Процессам, которые хотят войти в монитор, когда он уже занят, приходится ждать, причем режимом ожидания управляет сам монитор. Внутренние данные монитора могут быть либо глобальными, относящимися ко всем процедурам монитора, либо локальными, относящимися только к одной процедуре монитора. Ко всем этим данным можно обращаться только изнутри монитора; процессы, находящиеся вне монитора просто не могут получить доступа к данным монитора. Принимая такое структурное решение, значительно упрощающее разработку программных систем повышенной надежности, говорят, что информация спрятана (information hiding).

Использование монитора в качестве основного средства синхронизации и связи освобождает процессы от необходимости явно разделять между собой информацию. Доступ же к разделяемым переменным всегда ограничен телом монитора. Т.к. мониторы входят в ядро ОС, то разделяемые переменные становятся системными. Это автоматически исключает критические интервалы,

Монитор - это пассивный объект, а не процесс, монитор оживает только тогда, когда какой-либо процесс допускается воспользоваться его услугами. Семантика монитора гарантирует, что если хотя бы один процесс ожидает выполнения условия, то никакой другой обратившийся процесс не может вмешаться между сигналом о выполнении этого условия и продолжением ровно одного из ожидающих процессов. Хотя по сравнению с семафорами, мониторы не представляют собой более мощного инструмента синхронизации, у них есть некоторые преимущества:

Доступ к разделяемым переменным всегда ограничен телом монитора, что автоматически исключает критические участки (т.к. в каждый момент монитором может пользоваться только один процесс, а два процесса никогда не могут получить доступ к разделяемым переменным одновременно).

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

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

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

 







Дата добавления: 2015-04-19; просмотров: 1718. Нарушение авторских прав; Мы поможем в написании вашей работы!



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Тема: Составление цепи питания Цель: расширить знания о биотических факторах среды. Оборудование:гербарные растения...

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

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Потенциометрия. Потенциометрическое определение рН растворов Потенциометрия - это электрохимический метод иссле­дования и анализа веществ, основанный на зависимости равновесного электродного потенциала Е от активности (концентрации) определяемого вещества в исследуемом рас­творе...

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Studopedia.info - Студопедия - 2014-2022 год . (0.02 сек.) русская версия | украинская версия