SPM eller Shared Portable Memory er et API for å få tilgang til eksterne delte minneområder i forskjellige prosesser. Det forenkler interprosesskommunikasjon (IPC) og deling av datastrukturer mellom prosesser.
Med delt bærbart minne:
Du kan opprette og kartlegge flere delte minneregioner uten eksplisitt å sette opp en ny IPC.
Å få tilgang til delte minneregioner er enkelt, på samme måte som å få tilgang til lokalt og virtuelt minne.
Den tilbyr en bærbar API for ulike arkitekturer og operativsystemer.
I C-programmering, for å jobbe med delt bærbart minne:
Ta med den nødvendige overskriftsfilen:
#include
For å opprette et delt minneområde, bruk shmget():
int shmget(key_t key, size_t size, int shmflg);
For å knytte et delt minneområde til den gjeldende prosessen, bruk shmat():
void *shmat(int shmid, void *shmaddr, int shmflg);
For å koble et delt minneområde fra den gjeldende prosessen, bruk shmdt():
int shmdt(void *shmaddr);
For å merke en delt minneregion for fjerning (etter at alle prosesser er ferdige med den), bruk shmctl():
int shmctl(int shmid, int cmd, struct shmid_ds *buf);
For fullstendige detaljer og eksempler, se man-sidene for shmget, shmat, shmdt og shmctl.