Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_ОС / 02_Синхронизация процессов.ppt
Скачиваний:
24
Добавлен:
03.06.2015
Размер:
243.2 Кб
Скачать

Операционные

системы Автор В.А.Серков

Средства синхронизации и

взаимодействия процессов

В.А.Серков "Операционные системы" 2

1

Проблема

синхронизации

процессов

В.А.Серков "Операционные системы" 2

2

Процессам часто нужно взаимодействовать друг с другом.

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

Во всех этих случаях возникает проблема

синхронизации процессов,

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

В.А.Серков "Операционн

3

ые системы" 2

 

Взаимодействие 2-х процессов

В.А.Серков "Операционн

4

ые системы" 2

 

В.А.Серков "Операционн

5

ые системы" 2

 

В.А.Серков "Операционн

6

ые системы" 2

 

В.А.Серков "Операционн

7

ые системы" 2

 

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

гонками.

В.А.Серков "Операционн

8

ые системы" 2

 

Критическая секция

Критическая секция - это часть программы, в которой осуществляется доступ к разделяемым данным.

Пример

Assign(fl,’D:\Work\Filedan.txt’);

Reset(fl);

Fori:=1 To 20 Do Writeln(fl,X[i]); Close(fl);

В.А.Серков "Операционн

9

ые системы" 2

 

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

В.А.Серков "Операционн

10

ые системы" 2