В портале Duetgroup Вы будете проинформированы о технологии и программирования на базе Linux.
А также о комплектации программ, о процессе разработки ПО, о скорости обработки данных и решении практических задач.

Важные задачи

Важные задачиОдна из наиболее важных задач при межпроцессном взаимодействии — задача синхронизации выполнения процессов. Под синхронизацией в первую очередь понимается параллельное выполнение нескольких процессов, при котором выполнение определенных участков кода произойдет не ранее того момента, как все остальные процессы придут в состояние готовности.
Например, при параллельном вычислении определителя матрицы по минорам, при котором каждый минор вычисляется своим процессом, переход к минору большего порядка возможен только после того, как все процессы закончат вычисления и получат результат. Состояние готовности других процессов определяется при помощи посылки уведомления о готовности. Другим примером, требующим синхронизации, является доступ нескольких параллельно работающих процессов к одному неразделяемому ресурсу. В данном случае под синхронизацией понимается управление доступом таким образом, чтобы в один момент времени доступ к ресурсу получал только один процесс.
Один из наиболее часто применяемых механизмов синхронизации — синхронизация при помощи семафоров.
Простейший семафор представляет собой флаг, значение 0 которого соответствует запрету на доступ, а 1 — разрешению на доступ. Перед доступом к ресурсу процесс должен проверить значение семафора и, если доступ разрешен, установить значение семафора О для того, чтобы заблокировать доступ к ресурсу другим процессам. После окончания использования ресурса процесс опять устанавливает значение семафора 0. Такой семафор получил название «бинарный семафор».