Книга: Программирование для Linux. Профессиональный подход
5.1.1. Быстрое локальное взаимодействие
5.1.1. Быстрое локальное взаимодействие
Совместное использование памяти — самый быстрый способ взаимодействия. Процесс обращается к общей памяти с той же скоростью, что и к своей собственной памяти, и никаких системных вызовов или обращений к ядру не требуется. Устраняется также ненужное копирование данных.
Ядро не синхронизирует доступ процессов к общей памяти — об этом следует позаботиться программисту. Например, процесс не должен читать данные из совместно используемой памяти, пока в нее осуществляется запись, и два процесса не должны одновременно записывать данные в одну и ту же область памяти. Стандартная стратегия предотвращения подобной конкуренции заключается в использовании семафоров, о которых пойдет речь в раздаче 5.2, "Семафоры для процессов". Тем не менее в приводимом далее примере программы доступ к памяти осуществляет только один процесс: просто мы хотим сконцентрировать внимание читателей на механизме совместного использования памяти и не перегружать программу кодом синхронизации.
- Эффективное взаимодействие процессов архитектуры Classic Server
- 9.4 Локальное и удаленное зеркальное отражение
- Чем отличается быстрое форматирование от обычного?
- Взаимодействие Xalan с Java
- Быстрое размножение формул
- Лекция 16. Взаимодействие процессов
- Кросс-функциональное взаимодействие и ответственность
- 5.4.2. Взаимодействие родительского и дочернего процессов
- 9.3. Базовое межпроцессное взаимодействие: каналы и очереди FIFO
- Глобальное и локальное разворачивание стека
- Взаимодействие с DNS-сервером
- Взаимодействие компонентов Kerberos