- •Операционные
- •Проблема
- •Процессам часто нужно взаимодействовать друг с другом.
- •Взаимодействие 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);
For
i:=1 To 20 Do Writeln(fl,X[i]); Close(fl);
В.А.Серков "Операционн |
9 |
ые системы" 2 |
|
Чтобы исключить эффект гонок по отношению к некоторому ресурсу, необходимо обеспечить, чтобы в каждый момент в критической секции, связанной с этим ресурсом, находился максимум один процесс. 

Этот прием называют взаимным исключением.
В.А.Серков "Операционн |
10 |
ые системы" 2 |
|
