Tartalomjegyzék:
Meghatározás - Mit jelent a megosztott memória?
A szoftver megosztott memóriája olyan típusú memória, amelyet több alkalmazás vagy folyamat megoszthat azzal a céllal, hogy alkalmazások közötti kommunikációt biztosítson vagy elkerülje a redundáns adatmásolatokat. Ez az adatmegosztás vagy -átadás hatékony eszköze, mivel kiküszöböli az egyéb folyamatok, például a bemenet / kimenet (I / O) használatának szükségességét. Az egyik alkalmazás az adatokat a megosztott memóriába menti, míg egy másik alkalmazás ezeket megtalálja.
A processzorok kapcsán a megosztott memória a véletlen hozzáférésű memória (RAM) része, amelyhez a többprocesszoros rendszerben lévő összes processzor hozzáférhet.
A Techopedia magyarázza a megosztott memóriát
A szoftverek megosztott memóriája a különféle programok számára lehetővé teszi az adatok kommunikációját és továbbítását anélkül, hogy a kommunikációs folyamatok fölé kerülnének. A megosztott memóriával az egyik program a megosztott memóriába ír minden adatot, amelyre egy másik programnak szüksége van.
Például, ha az A program egy listát akar adni a B programnak, elmenti az adatokat a megosztott memóriába, és megjelöli egy szemaforral vagy más megjelölési rendszerrel annak jelzésére, hogy készen áll a B program olvasására.
Amikor a B program megtalálja a fájlt, ellenőrzi a szemaforot, hogy megkérdezze, megengedett-e a fájl megérintése. Ha engedélyezik, akkor megteszi, amit tennie kell a fájlhoz, behelyezi a megosztott memóriába vagy frissíti. Ezenkívül frissíti a szemaforot is, így az A program tudja, hogy el kell vinnie a fájlt.
A hardver, különösen a mikroprocesszorok szempontjából a megosztott memória egy nagy memória blokk, amelyet több processzor használ. Könnyen programozható, mivel az összes processzor ugyanazzal az adatokkal rendelkezik, megkönnyítve a gyorsabb kommunikációt. Ez azonban bonyolulttá válhat, mivel a processzorok gyorsítótárazása a gyorsabb hozzáférés érdekében, ami olyan problémákhoz vezethet, mint a gyorsítótár koherenciája.