Взаимодействие процессов — это механизм обмена данными между процессами.
В этой лабораторной работе рассмотрим один способ из пяти возможных для взаимодействия процессов.
Все способы:
· Совместно используемая память — процессы могут просто читать и записывать данные в рамках заданной области памяти;
· Отображаемая память — напоминает совместно используемую память, но организуется связь с файлами;
· Каналы — позволяют последовательно передавать данные от одного процесса к другому;
· FIFO-файлы — в отличие от каналов, с ними работают несвязанные процессы, поскольку у такого файла есть имя в файловой системе и к нему может обратиться любой процесс;
· Сокеты — соединяют несвязанные процессы, работающие на разных компьютерах.
Различия между способами взаимодействия определяются следующими критериями:
· ограничен ли процесс только чтением либо только записью данных;
· число взаимодействующих процессов;
· синхронизируются ли взаимодействующие процессы (например, должен ли читающий процесс перейти в режим ожидания при отсутствии данные на входе);
· ограничено ли взаимодействие рамками связанных процессов (имеющих общего предка) или же соединяются процессы, выполняющиеся в одной файловой системе либо на разных компьютерах.
|