SPM of Shared Portable Memory is een API om toegang te krijgen tot externe gedeelde geheugengebieden in verschillende processen. Het vereenvoudigt de communicatie tussen processen (IPC) en het delen van datastructuren tussen processen.
Met gedeeld draagbaar geheugen:
U kunt meerdere gedeelde geheugenregio's maken en toewijzen zonder expliciet een nieuwe IPC in te stellen.
Toegang tot gedeelde geheugenregio's is eenvoudig, vergelijkbaar met toegang tot lokaal en virtueel geheugen.
Het biedt een draagbare API voor verschillende architecturen en besturingssystemen.
Om bij C-programmering te werken met gedeeld draagbaar geheugen:
Voeg het vereiste headerbestand toe:
#include
Gebruik shmget() om een gedeelde geheugenregio te maken:
int shmget(key_t sleutel, size_t grootte, int shmflg);
Gebruik shmat() om een gedeeld geheugengebied aan het huidige proces te koppelen:
void *shmat(int shmid, void *shmaddr, int shmflg);
Gebruik shmdt() om een gedeeld geheugengebied los te koppelen van het huidige proces:
int shmdt(nietig *shmaddr);
Om een gedeeld geheugengebied te markeren voor verwijdering (nadat alle processen ermee zijn voltooid), gebruikt u shmctl():
int shmctl(int shmid, int cmd, struct shmid_ds *buf);
Voor volledige details en voorbeelden raadpleegt u de manpagina's voor shmget, shmat, shmdt en shmctl. |