Jaettu muisti

Wikipediasta
Siirry navigaatioon Siirry hakuun

Jaettu muisti (engl. shared memory) on prosessien välinen kommunikaatiotapa, joka löytyy jossakin muodossa useista eri käyttöjärjestelmistä. Menetelmässä tietty muistialue merkitään saataville useammalle prosessille ja se voi olla nopein tapa kommunikoida minimoiden kopioiden tarvetta.

Jaetulla muistilla voidaan tarkoittaa myös tietokonelaitteiston kykyä käyttää samoja muistialueita riippuen muistiarkkitehtuurista.

Unixeissa ja Unixin kaltaisissa käyttöjärjestelmissä voidaan käyttää System V järjestelmäkutsuja shmget() ja shmctl() jaetun muistialueen luomiseen ja käsittelyyn. Uudempi POSIX-yhteensopiva rajapinta käyttää shm_open(), ftruncate() ja mmap() järjestelmäkutsuja.[1] Käyttöjärjestelmät voivat tukea molempia tapoja.[2]

Windowsissa käytetään CreateFileMapping() ja MapViewOfFile() funktioita tai CreateSharedMemory() ja AllocateSharedMemory() jaetun muistialueen käsittelyyn.[3][4]

Jaettu muisti ei itsessään määrittele dataformaattia jaetuille tiedoille.

Muistialue ei ole varattu prosessilta.[5]

  1. shm_overview man7.org. Viitattu 30.11.2017.
  2. Marty Kalin: Inter-process communication in Linux: Shared storage opensource.com. 15.4.2019. Viitattu 10.7.2021. (englanniksi)
  3. Creating Named Shared Memory Microsoft. Viitattu 30.11.2017.
  4. CreateSharedMemory function Microsoft. Viitattu 30.11.2017.
  5. Martin Streicher: Interprocess communication with shared memory 28.9.2010. IBM. Viitattu 30.10.2017.

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]