Операционные системы мультипроцессоров. Синхронизация процессов

Операционные системы мультикомпьютеров. Управление распределенной памятью

Операционные системы мультикомпьютеров. Коммуникации процессов

Операционные системы мультипроцессоров. Синхронизация процессов

Операционные системы параллельных вычислительных систем. Синхронизация и коммуникации процессов.

Синхронизация параллельных процессов необходима в двух случаях:

· когда определенное действие одного процесса должно быть выполнено после определенного действия другого процесса;

· когда необходимо обеспечить заданную дисциплину доступа к разделяемым ресурсам (памяти, файлам и пр.).

Основным способом предотвращения проблем, связанных с совместным использованием разделяемых ресурсов, является запрет одновременного доступа к разделяемым ресурсам более чем одному процессу, т.е. взаимное исключение. Обычно проблему исключения формулируют с использованием понятия критическая область или критическая секция. Критической областью называется часть программы, в которой содержится обращение к разделяемому ресурсу. Для решения проблемы взаимного исключения необходимо выполнение следующих условий (см. рис. 1):

· любые два процесса не могут одновременно находиться в одной критической области;

· процесс, находящийся вне данной критической области, не может блокировать доступ других процессов к этой области;

· попеременно данную критическую секцию может использовать любое количество процессов;

· ни одни из процессов не может занимать критическую область бесконечно долго.

На рис. 1 момент времени - момент, когда процесс A получает доступ к некоторой критической области; - момент времени, когда процесс Б пытается получить доступ к этой критической области, но не получает его и блокируется; - момент, когда процесс A завершает использование критической области и покидает ее, а процесс Б - получает доступ к критической области; - момент, когда процесс Б завершает использование критической области и покидает ее; - период нахождения процесса А в критической области; - период блокирования процесса Б; - период нахождения процесса Б в критической области.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: