пользователей: 30398
предметов: 12406
вопросов: 234839
Конспект-online
РЕГИСТРАЦИЯ ЭКСКУРСИЯ

Проблема критической секции. Необходимые условия решения проблемы критической секции по Дейкстра.

Проблема критической секции имеет место тогда, когда несколько процессов могут асинхронно 
изменять содержимое общего участка памяти.
Под критической секцией понимается фрагмент кода программы, в котором происходит до ступ к 
общему ресурсу.
Будем рассматривать систему, для которой известно следующее:
1)  в системе выполняется несколько независимых последовательных процессов,
2)  каждый процесс – циклический,
3)  каждый процесс имеет фрагмент кода, обращающийся к общему участку памяти, который 
называется критической секцией.
Относительно вычислительной системы сделаем 5 предположений: 
1)  считывание данных из памяти и запись в память представляют собой неделимые операции 
(примитивы),
2)  одновременное обращение 2-х и более процессов у общему  участку памяти независимо от вида 
операции рассматривается как набор последовательных обращений в случайном порядке,
3)  критические секции процессов не имеют связанных с ними приоритетов,
относительные скорости развития процессов неизвестны,
программа может остановится только вне своей критической секции (внутри критической секции 
останов невозможен).
4)  Дейкстра предположил, что проблема критической секции будет решена, если будут выполнены 2 
условия:
5)  обеспечено взаимное исключение, т. е. в текущий момент времени в критической секции может 
находиться только один из процессов,
Устранены 2 вида блокировки:
1)  программа, остановившаяся вне своей критической секции, мешает другой программе войти в 
свою критическую секцию,
2)  процессы бесконечно долго решают, кто из них войдет в критическую секцию.
begin
flag = 1;
П1: L1: программа 11;
if flag = 2 then goto L1;
CS1; 
flag = 2;
программа 12;
goto L1
П2: L2: программа 12;
if flag = 1 then goto L2;
CS2; 
flag = 1;
программа 11;
goto L2


15.06.2014; 14:22
хиты: 244
рейтинг:0
для добавления комментариев необходимо авторизироваться.
  Copyright © 2013-2024. All Rights Reserved. помощь