Листинг 6.2: Второй вариант попытки реализации взаимного исключения, Листинг 6.3: Третий вариант попытки реализации взаимного исключения - Независимые и взаимодействующие вычислительные процессы
Var перекл1,перекл2: boolean;
Begin перекл1:=false;
Перекл2:=false;
Parbegin
While true do
Begin
While перекл2 do
Begin end;
Переклl:=true;
CS1; (* Критический интервал процесса ПР1 *)
Nepeклl:=false:
PR1; (* процесс ПР1 после критического интервала *)
End
And
While true do
Begin
While перекл1 do
Begin end;
Перекл2:=true;
CS2; (* Критический интервал процесса ПР2 *)
Перекл2:=fa1se;
PR2; (* процесс ПР2 после критического интервала *)
End
Parend
End.
Следующий (третий) вариант решения этой задачи (листинг 6.3) усиливает взаимное исключение, так как в процессе ПР1 проверка значения переменной перекл2 выполняется после установки переменной перекл1 в значение true (аналогично для ПР2).
Листинг 6.3: Третий вариант попытки реализации взаимного исключения
Var перекл1,перекл2 : boolean;
Begin перекл1:=false;
Перекл2:=false;
Parbegin
ПР1: while true do
Begin
Перекл1:=true:
While перекл2 do
Begin end;
CS1;{ Критический интервал процесса ПР1 }
Перекл1:=false;
PR1;{ ПР1 после критического интервала }
End
And
ПР2: while true do
Begin
Перекл2:=trueж
While перекл1 do
Begin end;
CS2; { Критический интервал процесса ПР2 }
Перекл2:=false;
PR2; { ПР2 после критического интервала }
End
Parend
End.
Алгоритм, приведенный в листинге 6.3, также имеет свои недостатки. Действительно, возможна ситуация, когда оба процесса одновременно установят свои переключатели в значение true и войдут в бесконечный цикл. В этом случае будет нарушено требование отсутствия бесконечного ожидания входа в свой критический интервал. Предположив, что скорости исполнения процессов произвольны, мы получили такую последовательность событий, при которой процессы вообще перестанут нормально выполняться.
Рассмотренные попытки решить проблему критических интервалов иллюстрируют некоторые тонкости, лежащие в основе этой проблемы.
Последний вариант решения задачи взаимного исключения, использующий только блокировку памяти, который мы рассмотрим, -- это известный алгоритм, предложенный математиком Деккером.
Похожие статьи
-
Все вычислительные машины и системы имеют такое средство для организации взаимного исключения, как блокировка памяти. Это средство запрещает...
-
Мьютексы, Мониторы Хоара - Независимые и взаимодействующие вычислительные процессы
Из вариантов семафорных механизмов для реализации взаимного исключения являются т. н. мьютексы (mutex). Мьютексы реализованы во многих ОС, их основное...
-
Семафоры и их применение - Независимые и взаимодействующие вычислительные процессы
Понятия, относящиеся к проблеме взаимоисключения, Дейкстра обобщил в своей концепции семафоров. Семафор - это переменная специального типа, которая...
-
Основной особенностью мультипрограммных операционных систем является то, что в их среде параллельно развивается несколько (последовательных)...
-
Основной особенностью мультипрограммных вычислительных систем является то, что в их среде параллельно развивается несколько (последовательных)...
-
Постановка задачи Целью работы является изучение основных этапов автоматизированного структурного проектирования технологических маршрутов: -...
-
Воспользуемся теперь для поиска решения функционалом (2.13). Пространство операторов В рассматриваем примере добавка (2.12) может быть представлена:...
-
Конечно-элементный анализ широко применяется при решении задач механики деформируемого твердого тела, теплообмена, гидро - и газодинамики, электро - и...
-
Назначение вычислительного кластера - Администрирование параллельных процессов
Кластеры используются в вычислительных целях, в частности в научных исследованиях. Для вычислительных кластеров существенными показателями являются...
-
Таблица сопротивлений некоторых термометров сопротивления Температурав °C Pt100 Pt1000 Typ: 404 Typ: 501 -50 80, 31 803, 1 -40 84, 27 842, 7 -30 88, 22...
-
Воспользуемся теперь критерием (2.14). Пространство состояний Структурная схема системы с учетом введенного воздействия примет вид: Запишем...
-
В ходе проектирования объектов зачастую происходит многократное повторение различных операций проектирования. Основная причина заключается в том, что...
-
В данной части работы будут рассмотрены основные бизнес-процессы этапа разработки программного обеспечения в рамках учебных проектов в университете. В...
-
Формы и характеристики параллелизма Параллелизм -- это возможность одновременного выполнения нескольких арифметико-логических или служебных операций. На...
-
Итак, когда актуальные части тактического плана разбиты на конкретные индивидуальные задачи, каждая задача закрепляется за конкретным разработчиком. Чаще...
-
Процесс - это последовательная смена состояний объекта во времени. Процесс планирования состоит из следующих этапов: - Определение миссии, целей и задач...
-
Управление задачами в PVM - Администрирование параллельных процессов
Управление задачами в PVM осуществляется на основе некоторого набора функций. Существует два варианта (два стиля) написания параллельных задач для PVM. В...
-
Этапы компьютерного моделирования при исследовании термодинамических процессов в композиционных материалах Композиционные материалы, состоящие из...
-
Для решения сформулированной задачи, т. е, для нахождения оптимального варианта конструкции наиболее эффективным является метод динамического...
-
Информационные процессы экономической системы
Тема 1. Архитектура экономических информационных систем Лекция 1. Информационные процессы экономической системы Время: 2 часа Цель занятия: Изучить...
-
Функции компонента отслеживания истинности предположений в контексте более общей программы поиска решения проблемы можно сформулировать следующим...
-
Вариант №1 1. Выбрать и обосновать наиболее эффективный метод решения задачи. 2. Разработать алгоритм и программу для решения задачи в общем виде. 3....
-
На рисунке 1 представлен фрагмент электронной таблицы, в которой содержаться исходные данные для решения задачи. Рисунок 1 - Фрагмент электронной...
-
Варианты - Решение задач линейного программирования с использованием Microsoft Excel
Используя MS Excel, найти решение для модели ЛП, соответствующей заданному варианту (табл. 1.5). Таблица 1.5 Варианты задач к лабораторной работе № 1 №...
-
ВВЕДЕНИЕ - Администрирование параллельных процессов
Последние годы во всем мире происходит бурное внедрение вычислительных кластеров - локальных сетей, с узлами из рабочих станций или персональных...
-
Метод конечных элементов является численным методом для нахождения приближенных решений физических задач. В основе этого метода лежит разделение...
-
В качестве инструмента моделирования был выбран программный продукт RunaWFE. Данный продукт позволяет не только создать модель бизнес-процесса, но и...
-
В данной главе рассмотрены основные проблемы, решение которым будет предложено в данной работе. Помимо этого, описаны основные понятия и принципы...
-
Разделение вычислений на независимые части - Администрирование параллельных процессов
Выбор способа разделения вычислений на независимые части основывается на анализе вычислительной схемы решения исходной задачи. Требования, которым должен...
-
Моделирование параллельных программ Рассмотренная схема проектирования и реализации параллельных вычислений дает способ понимания параллельных алгоритмов...
-
По критерию минимальной технологической себестоимости Вариант задания В2. Необходимо определить оптимальный вариант конструкции конденсатора МБМ. Задачу...
-
В ходе анализа локальной вычислительной сети, функционирующей в здании 2 корпуса НГУ им. Лобачевского была составлена топологическая схема данной сети и...
-
Методика упреждающей диагностики заключается в следующем. Администратор сети должен непрерывно или в течение длительного времени наблюдать за работой...
-
Характеристики ЛВС Используемый стандарт: IEEE 802.3ab -- стандарт, использующий витую пару категорий 5e. 1000BASE-T, стандарт Gigabit Ethernet....
-
Модель вычислительного процесса в GridMD - Повышение производительности работы библиотеки GridMD
Узлы графа исполнения, используемого в GridMD, представляют собой конкретные этапы исполнения, с которыми связываются действия, определяемые программным...
-
Верификация - Теория вычислительных процессов
1. Без ветвлений: A) mov di,1 Mov al, adg Add di, ax Mov al, buf1[di] Mov ah, buf2[di] Sbb al, ah TRUE B) mov dl, buf1[di] Mov bl, buf2[di] Mov...
-
СЕМАНТИКА, Схема подпрограммы вычитания - Теория вычислительных процессов
Операционная семантика команды sub al, 1 L1(al) 1 1 0 1 1 0 0 1 # 0 1 1 0 1 1 0 0 # L2 1. q01X1 Top1 q11 2. q11X1B1q02 3. q02X2 Top2 q12 4. q12X2 02 q22...
-
Основные функции: - Исполнение запросов программ (ввод и вывод данных, запуск и остановка других программ, выделение и освобождение дополнительной памяти...
-
Сетевыми протоколами называют протоколы первого и второго уровней, определяющих архитектуру локальной сети, в том числе ее топологию, передающую среду,...
-
Вычислительные эксперименты для оценки эффективности параллельного варианта метода Гаусса для решения систем линейных уравнений проводились при следующих...
Листинг 6.2: Второй вариант попытки реализации взаимного исключения, Листинг 6.3: Третий вариант попытки реализации взаимного исключения - Независимые и взаимодействующие вычислительные процессы