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!
No Comments