SPM eller Shared Portable Memory er en API til at få adgang til eksterne delte hukommelsesområder i forskellige processer. Det forenkler interproceskommunikation (IPC) og deling af datastrukturer mellem processer.
Med delt bærbar hukommelse:
Du kan oprette og kortlægge flere delte hukommelsesområder uden eksplicit at oprette en ny IPC.
Adgang til delte hukommelsesområder er ligetil, svarende til at få adgang til lokal og virtuel hukommelse.
Det tilbyder en bærbar API til forskellige arkitekturer og operativsystemer.
I C-programmering, for at arbejde med delt bærbar hukommelse:
Inkluder den nødvendige header-fil:
#include
For at oprette et delt hukommelsesområde skal du bruge shmget():
int shmget(key_t key, size_t size, int shmflg);
For at vedhæfte et delt hukommelsesområde til den aktuelle proces, brug shmat():
void *shmat(int shmid, void *shmaddr, int shmflg);
For at frakoble en delt hukommelsesregion fra den aktuelle proces, brug shmdt():
int shmdt(void *shmaddr);
For at markere et delt hukommelsesområde til fjernelse (efter at alle processer er færdige med det), skal du bruge shmctl():
int shmctl(int shmid, int cmd, struct shmid_ds *buf);
For fuldstændige detaljer og eksempler henvises til man-siderne for shmget, shmat, shmdt og shmctl.