Gedeeld geheugen maakt processen die niet gerelateerd zijn aan dezelfde adresruimte delen . De programmeur moet de toegang van het gedeelde geheugen synchroniseren , zodat het ene proces niet beginnen met het lezen van het geheugen voor een ander proces is klaar met het schrijven naar het geheugen . Semaphore functies zijn vergelijkbaar met oproepen voor gedeeld geheugen functioneren. Gedeelde geheugen functies kunnen worden gebruikt voor het maken , zodat toegang tot en los gedeeld geheugen . Instructies 1 Maak gedeeld geheugen door met de volgende functie oproep : int shmget ( key_t key_name , size_t shmem_size , int shmemflag ) ; Include files sys /. shm.h , sys /types.h en sys /ipc.h kopen van 2 Bevestig het gedeelde geheugen om een adresruimte en staat de toegang tot het met de volgende functie-oproep : leegte * shmaat ( int shmem_id , const void * shmem_addr , int shmemflag ) ; 3 Maak het gedeelde geheugen van het proces met de volgende functie-oproep : int shmctl ( int shmem_id , int cmd , struct shmemid_ds * buf ) ; . 4 Definieer de shmemid_ds structuur met ten minste drie leden , waaronder shmem_perm.uid , shmem_perm.gid en shmem_perm.mode < br >
|