📌 shmget
shmget — системный вызов System V Shared Memory в Unix/Linux, предназначенный для создания или получения идентификатора сегмента общей памяти (shared memory segment).
🧠 Как работает
shmget создаёт или получает сегмент общей памяти:
int shmget(key_t key, size_t size, int shmflg);- 
key— уникальный идентификатор (например,ftok()илиIPC_PRIVATE) - 
size— размер сегмента в байтах - 
shmflg— флаги доступа и поведения:IPC_CREAT,IPC_EXCL,0666 
Результат — ID сегмента, который используется в:
- 
shmat()— подключение к памяти - 
shmdt()— отключение от сегмента - 
shmctl()— управление (удаление, информация) 
⚙️ Где применяется
| Контекст | Описание | 
|---|---|
| Shared Memory (System V) | Создание/доступ к общему сегменту | 
| IPC между процессами | Быстрый обмен данными через RAM | 
| RTOS и Embedded | Статически распределённая память | 
💻 Пример (C)
key_t key = ftok("file.txt", 65);
int shmid = shmget(key, 1024, 0666 | IPC_CREAT);
char *data = (char*) shmat(shmid, (void*)0, 0);
strcpy(data, "hello from shared memory");✅ Преимущества
- 
Простое и классическое API
 - 
Поддерживается всеми POSIX-системами
 - 
Работает даже без
mmap()