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

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

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





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

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

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

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

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

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

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

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

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

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

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

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

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

Синхронизация параллельных процессов на низком уровне

Большинство приемов, применяемых для синхронизации процессов, тесно связаны с аппаратными средствами. Это блокировка памяти, операция “проверка и установка” и семафоры.







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




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


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


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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

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

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

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

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

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

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