Sobes.tech
Junior — Middle

Кадом механизм барои эҷоди қисмҳои хотираи умумӣ барои равандҳо масъул аст?

sobes.tech AI

Ҷавоб аз AI

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

Общая память позволяет нескольким процессам совместно использовать один и тот же участок памяти, что значительно ускоряет обмен данными по сравнению с другими методами межпроцессного взаимодействия (IPC).

Пример использования в C (упрощённо):

#include <sys/ipc.h>
#include <sys/shm.h>
#include <stdio.h>
#include <string.h>

int main() {
    key_t ключ = 1234; // уникальный ключ
    int shmid = shmget(ключ, 1024, 0666|IPC_CREAT); // создаём сегмент памяти
    char *данные = (char*) shmat(shmid, NULL, 0); // подключаем сегмент

    strcpy(данные, "Привет из общей памяти!");
    printf("Данные в общей памяти: %s\n", данные);

    shmdt(данные); // отключаем сегмент
    // shmctl(shmid, IPC_RMID, NULL); // удаление сегмента при необходимости
    return 0;
}