Skip to main content

Shared Memory

Mehrere Prozesse sollen die Möglichkeit haben, dass bestimmte Speicherbereiche gemeinsam genutzt werden können.
Dies ist eigentlich nicht erwünscht! Grund ist: RAM kann man nie genug haben

Beispiel
Was passiert nun, wenn das gleiche Programm mehrmals gestartet wird? Dann resultieren daraus auch mehrere Prozesse.
Wenn für jeden Prozess der gleiche Programmtext in unterschiedliche Bereiche des Hauptspeichers eingelagert: Redundanz

gemeinsam genutzte Speicher entspricht einem bestimmten Seitenrahmen des physikalischen Speichers (z.B: DLL-Dateien)
Dieser eine Seitenrahmen kann nun sehr einfach in alle virtuellen Adressräume der beteiligten Prozesse eingebunden werden
-> Nötig ist dazu allein ein entsprechender Eintrag in allen betreffenden Seitentabellen.

Bedenke: Jeder Prozess besitzt seinen eigenen virtuellen Speicher und damit auch seine eigene Seitentabelle!