Junior — Middle
103
Какой механизм отвечает за создание участков общей памяти для процессов?
Сұралған компаниялар
AI-дан жауап
sobes.tech AI
Механизм, отвечающий за создание участков общей памяти для процессов, называется Shared Memory (разделяемая память). В операционных системах, таких как Unix/Linux, это реализуется через системные вызовы, например, shmget, shmat, shmdt и shmctl.
Shared Memory позволяет нескольким процессам совместно использовать один и тот же участок памяти, что значительно ускоряет обмен данными по сравнению с другими методами межпроцессного взаимодействия (IPC).
Пример использования в C (упрощённо):
#include <sys/ipc.h>
#include <sys/shm.h>
#include <stdio.h>
#include <string.h>
int main() {
key_t key = 1234; // уникальный ключ
int shmid = shmget(key, 1024, 0666|IPC_CREAT); // создаём сегмент памяти
char *data = (char*) shmat(shmid, NULL, 0); // подключаем сегмент
strcpy(data, "Привет из общей памяти!");
printf("Данные в общей памяти: %s\n", data);
shmdt(data); // отключаем сегмент
// shmctl(shmid, IPC_RMID, NULL); // удаление сегмента при необходимости
return 0;
}