Junior — Middle
Welke mechanisme is verantwoordelijk voor het creëren van gedeelde geheugensegmenten voor processen?
sobes.tech AI
Antwoord van AI
Het mechanisme dat verantwoordelijk is voor het creëren van gedeelde geheugensegmenten voor processen wordt Shared Memory genoemd. In besturingssystemen zoals Unix/Linux wordt dit geïmplementeerd via systeemoproepen, bijvoorbeeld shmget, shmat, shmdt en shmctl.
Shared Memory stelt meerdere processen in staat om hetzelfde geheugensegment te gebruiken, wat de gegevensuitwisseling aanzienlijk versnelt in vergelijking met andere methoden van interprocescommunicatie (IPC).
Voorbeeld van gebruik in C (vereenvoudigd):
#include <sys/ipc.h>
#include <sys/shm.h>
#include <stdio.h>
#include <string.h>
int main() {
key_t key = 1234; // unieke sleutel
int shmid = shmget(key, 1024, 0666|IPC_CREAT); // segment aanmaken
char *data = (char*) shmat(shmid, NULL, 0); // segment koppelen
strcpy(data, "Hallo vanuit gedeeld geheugen!");
printf("Gegevens in gedeeld geheugen: %s\n", data);
shmdt(data); // segment ontkoppelen
// shmctl(shmid, IPC_RMID, NULL); // segment verwijderen indien nodig
return 0;
}