SHM_OVERVIEW(7) | Руководство программиста Linux | SHM_OVERVIEW(7) |
shm_overview - обзор общей памяти POSIX
API общей памяти POSIX позволяет процессам обмениваться информацией через общую область памяти.
Доступные интерфейсы:
Общая память POSIX стала доступна начиная с Linux 2.4 и glibc 2.2.
Объекты общей памяти POSIX являются устойчивыми на уровне ядра. Объект будет существовать до самого отключения системы или до тех пор, пока все процессы не разорвут связь с объектом, после чего он может быть удален с помощью shm_unlink(3).
Программы, в которых используется программный интерфейс общей памяти POSIX, для компоновки с библиотекой реального времени librt должны компилироваться с помощью cc -lrt.
В Linux объекты общей памяти создаются в виртуальной файловой системе (tmpfs(5)), которая обычно монтируется в каталог /dev/shm. Начиная с ядра версии 2.6.19, в Linux поддерживается использование списков контроля доступа (ACL) для управления доступа к объектам в виртуальной файловой системе.
Обычно процессы должны синхронизировать свой доступ к объекту общей памяти, например, с использованием семафоров POSIX.
Общая память System V (shmget(2), shmop(2) и так далее) является старым API. POSIX предоставляет более простой и лучше спроектированный интерфейс. С другой стороны, общая память POSIX в какой-то мере менее распространена (особенно на старых системах), чем System V.
fchmod(2), fchown(2), fstat(2), ftruncate(2), mmap(2), mprotect(2), munmap(2), shmget(2), shmop(2), shm_open(3), shm_unlink(3), sem_overview(7)
2016-12-12 | Linux |