Was sind die Unterschiede im gemeinsamen Speicher zwischen frühen und modernen Unix-Systemen?

11

Wie können Prozesse in früheren Versionen von Unix Speicher gemeinsam nutzen? Wie ist dies im Vergleich zu modernen Implementierungen von Shared Memory?

jemand
quelle

Antworten:

11

Sehr frühe UNIX-Systeme hatten keine MMUs , und so wurde effektiv der gesamte Speicher im System von allen Prozessen im Speicher gemeinsam genutzt. UNIX V7 war das erste mit Speicherverwaltung, AFAIK. Der PDP-11 hatte nicht einmal eine MMU, als er veröffentlicht wurde; Siehe dieses PDF-Buch, Seite 35 .

Als die Zeit verging und MMUs zur Selbstverständlichkeit wurden, begann UNIX, dies zu fordern. Und dann könnte der Speicher zwischen Prozessen getrennt werden. In den 1980er Jahren gab es mehr IPC-Mechanismen, einschließlich des vom Betriebssystem verwalteten gemeinsam genutzten Speichers (neu in SVR1, circa 1983). SVR1 führte auch Nachrichten und Semaphore ein, und die System V-APIs sind auf modernen Systemen für alle drei dieser Dinge weiterhin verfügbar.

Michael Trausch
quelle