Kontinuierliche Speicherzuweisung

Was ist kontinuierliche Speicherzuweisung?
Die zusammenhängende Speicherzuweisung ist ein klassisches Speicherzuweisungsmodell, das einem Prozess aufeinanderfolgende Speicherblöcke zuweist (dh Speicherblöcke mit aufeinanderfolgenden Adressen).

Die zusammenhängende Speicherzuweisung ist eines der ältesten Speicherzuweisungsschemata. Wenn ein Prozess ausgeführt werden muss, wird vom Prozess Speicher angefordert. Die Größe des Prozesses wird mit der Menge des zusammenhängenden Hauptspeichers verglichen, der zum Ausführen des Prozesses verfügbar ist. Wenn ausreichend zusammenhängender Speicher gefunden wird, wird dem Prozess Speicher zugewiesen, um seine Ausführung zu starten. Andernfalls wird es zu einer Warteschlange von Warteprozessen hinzugefügt, bis ausreichend freier zusammenhängender Speicher verfügbar ist.

Das zusammenhängende Speicherzuordnungsschema kann in Betriebssystemen mit Hilfe von zwei Registern implementiert werden, die als Basis- und Begrenzungsregister bekannt sind. Wenn ein Prozess im Hauptspeicher ausgeführt wird, enthält sein Basisregister die Startadresse des Speicherplatzes, an dem der Prozess ausgeführt wird, während die Menge an Bytes, die von dem Prozess verbraucht wird, im Limit-Register gespeichert wird.

Ein Prozess bezieht sich nicht direkt auf die tatsächliche Adresse eines entsprechenden Speicherplatzes. Stattdessen verwendet es eine relative Adresse in Bezug auf sein Basisregister. Alle von einem Programm angegebenen Adressen werden als virtuelle Adressen betrachtet. Die CPU generiert die logische oder virtuelle Adresse, die mit Hilfe der Memory Management Unit (MMU) in eine tatsächliche Adresse umgewandelt wird. Das Basisadressregister wird für die Adreübersetzung durch die MMU verwendet. So,

Physische Adresse = Basisregisteradresse + Logische Adresse / Virtuelle Adresse

Die Adresse eines Speicherorts, auf den von einem Prozess verwiesen wird, wird überprüft, um sicherzustellen, dass er sich nicht auf eine Adresse eines benachbarten Prozesses bezieht. Diese Verarbeitungssicherheit wird vom zugrunde liegenden Betriebssystem übernommen.

Ein Nachteil der zusammenhängenden Speicherzuweisung besteht darin, dass der Grad der Mehrfachprogrammierung aufgrund von Prozessen, die auf freien Speicher warten, reduziert wird.


War die Erklärung zu "Kontinuierliche Speicherzuweisung" hilfreich? Jetzt bewerten:

Weitere Erklärungen zu