Какой механизм отвечает за создание участков общей памяти для процессов?

Механизм, отвечающий за создание участков общей памяти для процессов, называется Shared Memory (разделяемая память).

Короткий ответ

Что ответить на собеседовании

Механизм, отвечающий за создание участков общей памяти для процессов, называется Shared Memory (разделяемая память). В операционных системах, таких как Unix/Linux, это реализуется через системные вызовы, например, shmget, shmat, shmdt и shmctl.

Подробный разбор

Ответ с пояснениями

Механизм, отвечающий за создание участков общей памяти для процессов, называется 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;
}

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку