Проектирование параллельных взаимодействующих вычислительных процессов

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

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

В настоящем разделе рассматриваются основные понятия и проблемы, характер­ные для параллельных процессов. Описываются основные механизмы синхрони­зации, дается их сравнительный анализ, приводятся примеры характерных про­грамм, использующих данные механизмы.