next up previous contents
Next: D.7 Berkley Sockets Up: D Komunikacija med procesi Previous: D.5 Semaforji Vsebina: contents

D.6 Deljeni spomin

Ce si vec procesov zeli deliti isti kos spomina in ga uporabiti za globalne spremenljivke lahko uporabijo deljeni spomin (shared memory). Taka izmenjava podatkov je tudi najhitrejsa od vseh komunikacij IPC, saj si procesi podatkov ne posiljajo ampak jih le uporabljajo. Sistem skrbi, da je ta del spomina vedno na voljo procesom. Procesi komunicirajo na tak nacin, da z uporabo semaforjev ali zaklepanjem datoteke omogocijo pravilno sinhronizacijo pri dostopu do skupnega spomina, saj se ne sme zgoditi, da nek proces bere podatke, vmes pa drugi popravlja iste podatke.

S funkcijo shmget proces alocira spomin v sistemu zeljene velikosti, ki ni tako omejen kot pri prejsnjih nacinih komunikacije. Maksimalne velikosti deljenega spomina so obicajno nekaj megabytov, kar je dovolj za vecino aplikacij. Po kreiranju deljenega spomina se procesi priklapljajo nanj s funkcijo shmat (attach) in odklapljajo s funkcijo shmdt (detach).



Copyright © 1995 Leon Kos, Univerza v Ljubljani