Вступ

Модулі забезпечують підтримку сімейства функцій міжпроцесної взаємодії System V. Сюди входять семафори, пам'ять, що розділяється, і обмін повідомленнями між процесами (IPC).

Семафори можуть використовуватися для отримання ексклюзивного доступу до ресурсів локальної машини або для обмеження кількості процесів, які одночасно використовують ресурс.

Також цей модуль підтримує функції для роботи з пам'яттю System V, що розділяється. Розділювана пам'ять може бути використана для надання доступу до глобальних змінних. Різні httpd-демони і навіть інші програми (написані на Perl, C і т.д.) можуть отримати доступ до цих даних для здійснення глобального обміну даними. Пам'ятайте, що пам'ять, що розділяється НЕ ЗАХИЩЕНА від одночасного доступу. Використовуйте семафори для синхронізації.

Ліміти, накладені на пам'ять, що розділяється в Unix OS
SHMMAXмаксимальний розмір пам'яті, що розділяється, зазвичай 131072 байт
SHMMINмінімальний розмір пам'яті, що розділяється, зазвичай 1 байт
SHMMNIмаксимальна кількість сегментів пам'яті, що розділяється в системі, зазвичай 100
SHMSEGмаксимальна кількість сегментів розділяється пам'яті на процес, зазвичай 6

Функції обміну повідомленнями можна використовувати для надсилання та отримання повідомлень в/з іншого процесу. Вони забезпечують простий та ефективний засіб обміну даними між процесами без необхідності створення UNIX-сокетів.

Зауваження: У Windows доступні лише функції пам'яті, що розділяється. ftok(). На цій платформі не підтримуються ні семафори, ні функції обміну повідомленнями між процесами.