Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Презентации лекций по ТОИ / 18-Проблема взаимного исключения.pps
Скачиваний:
46
Добавлен:
02.06.2015
Размер:
1.72 Mб
Скачать

Свойства критической секции

На критическую секцию, связанную с доступом к какому-либо

разделяемому несколькими процессами информационному ресурсу, налагаются следующие требования:

1)главное требование – взаимное исключение;

2)ни один процесс не должен ждать бесконечно долго входа в критическую секцию;

3)ни один процесс не может находиться в своей критической секции бесконечно долго;

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

21

Свойства критической секции

 

На критическую секцию, связанную с доступом к какому-либо

 

разделяемому несколькими процессами информационному

 

ресурсу, налагаются следующие требования:

 

1)главное требование – взаимное исключение: в любой

 

момент времени только один процесс может находиться в

 

своей критической секции по данному ресурсу;

 

2)ни один процесс не должен ждать бесконечно долго входа в

 

критическую секцию;

 

3)ни один процесс не может находиться в своей критической

 

секции бесконечно долго;

 

4)никакой процесс, находящийся вне своей критической секции,

 

не должен задерживать выполнение других процессов,

22

ожидающих входа в свои критические секции.

 

Свойства критической секции

На критическую секцию, связанную с доступом к какому-либо

разделяемому несколькими процессами информационному ресурсу, налагаются следующие требования:

1)главное требование – взаимное исключение;

2)ни один процесс не должен ждать бесконечно долго входа в критическую секцию: реализация взаимного исключения не

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

3)ни один процесс не может находиться в своей критической секции бесконечно долго;

4)никакой процесс, находящийся вне своей критической секции, не должен задерживать выполнение других процессов, ожидающих

23 входа в свои критические секции.

Свойства критической секции

На критическую секцию, связанную с доступом к какому-либо

разделяемому несколькими процессами информационному ресурсу, налагаются следующие требования:

1)главное требование – взаимное исключение;

2)ни один процесс не должен ждать бесконечно долго входа в критическую секцию;

3)ни один процесс не может находиться в своей критической секции бесконечно долго: это следствие предыдущего требования – все процессы в течение приемлемого времени должны получить доступ к разделяемым данным для выполнения своих функций;

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

24

Свойства критической секции

На критическую секцию, связанную с доступом к какому-либо

разделяемому несколькими процессами информационному ресурсу, налагаются следующие требования:

1)главное требование – взаимное исключение;

2)ни один процесс не должен ждать бесконечно долго входа в критическую секцию;

3)ни один процесс не может находиться в своей критической секции бесконечно долго;

4)никакой процесс, находящийся вне своей критической секции, не должен задерживать выполнение других процессов, ожидающих входа в свои критические секции: не допускается

«захват» ресурсов «заранее», «про запас», т.е. ресурсы запрашиваются тогда, когда они необходимы для выполнения процессами своих функций.

25

Условия реализации критической секции

Относительно режима работы с разделяемыми

информационными ресурсами сделаны следующие

предположения:

относительные скорости процессов неизвестны;

программа может останавливаться только вне её критической секции;

операции считывания и записи разделяемых данных неделимы;

процессы не имеют приоритетов, связанных с доступом к общим данным (то есть нет приоритетов на вход в критические секции) или они неизвестны;

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

26 неустановленном порядке.

Условия реализации критической секции

Относительно режима работы с разделяемыми информационными ресурсами сделаны следующие предположения:

относительные скорости процессов неизвестны;

программа может останавливаться только вне её критической секции;

операции считывания и записи разделяемых данных неделимы;

процессы не имеют приоритетов, связанных с доступом к общим данным (то есть нет приоритетов на вход в критические секции) или они неизвестны;

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

27 неустановленном порядке.

Простейший пример критической секции

process Pi; begin

while true do begin

BEFOREi; {Операторы, предшествующие критической секции } CSi; {Операторы критической секции }

AFTERi; {Операторы, следующие за критической секцией } end

end Pi.

28

Простейший пример критической секции

 

process Pi;

 

begin

 

while true do

 

begin

 

BEFOREi;

 

Вход в критическую секцию – как реализовать?

 

CSi;

 

Выход из критической секции – как реализовать?

 

AFTERi;

 

end

29

end Pi.

Простейший пример критической секции

process Pi;

Проверка состояния

begin

критической секции (КС) и

while true do

организация ожидания,

если она занята

begin

 

BEFOREi;

Вход в критическую секцию – как реализовать? CSi;

Выход из критической секции – как реализовать?

 

AFTERi;

Освобождение КС или

 

end

активизация

 

end Pi.

ожидающего входа в

30

неё процесса

 

 

Соседние файлы в папке Презентации лекций по ТОИ