Diff. zwischen logischem Speicher und physischem Speicher

8

Während ich das Konzept des Paging im Speichermanagement verstand, kam ich durch die Begriffe "logischer Speicher" und "physischer Speicher". Kann mir bitte jemand den Unterschied sagen. zwischen den beiden ??? Ist physischer Speicher = Festplatte? und logischer Speicher = RAM

    
Rajat Saxena 12.11.2014, 16:07
quelle

4 Antworten

6

Es gibt drei verwandte Konzepte hier:

  1. Physisch - Ein tatsächliches Gerät

  2. Logisch - Eine Übersetzung in ein physisches Gerät

  3. Virtual - Eine Simulation eines physischen Geräts

Der Begriff "logischer Speicher" wird selten verwendet, da wir normalerweise den Begriff "virtueller Speicher" verwenden, um sowohl die virtuelle als auch die logische Umsetzung von Speicher abzudecken.

In einer Adressumsetzung haben wir einen Seitenindex und einen Bytindex auf dieser Seite.

Der Seitenindex für den N-ten Pfad im Prozess könnte als logischer Speicher bezeichnet werden. Das Betriebssystem leitet die Ordnungsseitenzahl in eine beliebige physikalische Adresse um.

Der Grund dafür, dass dies selten als logischer Speicher bezeichnet wird, besteht darin, dass die erstellte Seite mit Hilfe von Paging simuliert wird und zu einer virtuellen Adresse wird.

Adressübergang ist eine Kombination aus logisch und virtuell. Die normale Verwendung besteht darin, das Ganze als "virtuellen Speicher" zu bezeichnen.

Wir können uns vorstellen, dass in der Zukunft, wenn die Erinnerung wächst, das Paging ganz verschwinden wird. Anstelle von virtuellen Speichersystemen haben wir logische Speichersysteme.

    
user3344003 14.11.2014 02:47
quelle
0

Physischer Speicher ist RAM; Gehört eigentlich zum Hauptspeicher. Die logische Adresse ist die von der CPU erzeugte Adresse. Beim Paging wird die logische Adresse mit Hilfe von Seitentabellen in die physikalische Adresse abgebildet. Die logische Adresse enthält die Seitenzahl und eine Offsetadresse.

    
Ajay S Menon 28.12.2015 11:22
quelle
0

Hier ist bisher nicht viel Klarheit, hier geht es:

Physischer Speicher ist die Adresse, die die CPU auf ihrem Adressbus adressiert. Es ist das niedrigste Niveau, das Software erreichen kann. Der physische Speicher ist als eine Folge von 8-Bit-Bytes organisiert, jede mit einer physikalischen Adresse.

Jede Anwendung, die ihren Speicher auf einer physischen Ebene verwalten muss, ist offensichtlich nicht durchführbar. So haben die CPUs seit den frühen Tagen Speicherabstraktionen eingeführt, die kollektiv als "Memory Management" bekannt sind. Dies sind alles optionale, aber allgegenwärtige CPU-Funktionen, die von Ihrem Kernel verwaltet werden:

Linearer Speicher werden von Programmen auf Benutzerebene in ihrem Code adressiert. Es wird als zusammenhängender Adressraum betrachtet, aber hinter den Kulissen wird jede lineare Adresse einer physikalischen Adresse zugeordnet. Dadurch können Programme auf Benutzerebene den Speicher auf eine übliche Weise adressieren und die Verwaltung des physischen Speichers dem Kernel überlassen.

Es ist jedoch nicht so einfach. Programme auf Benutzerebene adressieren linearen Speicher unter Verwendung verschiedener Speichermodelle. Einer, von dem Sie vielleicht schon gehört haben, ist das segmentierte Speichermodell . Bei diesem Modell adressieren Programme den Speicher unter Verwendung logischer Adressen. Jede logische Adresse bezieht sich auf einen Tabelleneintrag, der auf einen linearen Adressraum abgebildet wird. Auf diese Weise kann das Betriebssystem eine Anwendung in verschiedene Teile des Speichers als Sicherheitsmerkmal aufteilen (Details, die hier nicht behandelt werden)

In Intel 64-Bit (IA-32e, 64-Bit-Submodus) wird niemals segmentierter Speicher verwendet, stattdessen kann jedes Programm alle 2 ^ 64 Byte linearen Adressraum mit einem flachen Speichermodell . Wie der Name andeutet, ist der gesamte lineare Speicher auf einer bytezugänglichen Ebene verfügbar. Das ist das Einfachste.

Schließlich kommen wir zu Virtueller Speicher. Dies ist eine Funktion der CPU, die von der MMU ermöglicht wird, völlig unsichtbar für Programme auf Benutzerebene und vom Kernel verwaltet. Es ermöglicht die Zuordnung physikalischer Adressen zu virtuellen Adressen, die als Tabellen von Seiten ("Seitentabellen") organisiert sind. Wenn virtueller Speicher ("Paging") aktiviert ist, können Tabellen in die CPU geladen werden, wodurch Speicheradressen, die von einem Programm referenziert werden, transparent in physikalische Adressen übersetzt werden. Seitentabellen werden vom Kernel bei der Ausführung verschiedener Programme spontan ausgetauscht. Dies ermöglicht eine Optimierung und Sicherheit in der Prozess- / Speicherverwaltung (Details, die hier nicht behandelt werden)

Beachten Sie, dass der lineare und der virtuelle Speicher unabhängige Funktionen sind, die zusammen funktionieren können. Wenn das Paging deaktiviert ist, werden lineare Adressen eins zu eins mit physischen Adressen zugeordnet. Wenn diese Option aktiviert ist, werden lineare Adressen dem virtuellen Speicher zugeordnet.

Anmerkungen:

John M Naglick 11.12.2016 18:42
quelle
0

Eine von der CPU erzeugte Adresse wird üblicherweise als eine logische Adresse bezeichnet, während eine von der Speichereinheit gesehene Adresse - dh die in das Speicheradressenregister des Speichers geladene Adresse - üblicherweise als physikalisch bezeichnet wird Adresse

    
SaJeet Ali 20.12.2017 04:56
quelle

Tags und Links