Virtuelle Speicherverwaltung



  • Warum wurde Paging eingeführt ?

    Damit ein großer linearer Adressraum benutzt werden kann, der die Größe des physikalischen Hauptspeichers übersteigt.

    Wie soll das funktionieren ? Ich kann nur soviel Speicher benutzen wie
    vorhanden ist ?



  • Ist mit physischer Speicher nur der ARbeitsspeicher gemeint oder ?

    Und durch verwendung der Auslagerungsdatei auf der Festplatte kann er
    den tatsächlichen ARbeitsspeicher übersteigen ?



  • WAs ist ein Seitenfehler ?

    Eine Seite im virtuellen Speicher ist keinem Seitenrahmen im ARbeitsspeicher
    zugeordnet. Ist die Auslagerungsdatei wohl nicht in Seitenrahmen aufgeteilt?

    Wenn eine Seite einer Adresse in der Auslagerungsdatei zugeordnet wird,
    wie passiert das. Scheinbar anders als wenn es sich um eine Adresse im Arbeitsspeicher handelt.



  • was machst du hier selbstgespräche führen? hast nen hitzeschlag bekommen 😃

    schau die mal die page tables an. bis zur auslagerungs datei bin ich leider noch nicht gekommen, daher kann ich dir auch nicht sagen wie das geht 😞



  • Wenn eine Page sich gerade nicht im Arbeitsspeicher befindet, dann wird von der CPU eine Exception (Page Fault/Seitenfehler) ausgelöst. Das Betriebssystem fängt diese, läd die Page aus der Auslagerungsdatei in den Speicher, passt den Page Eintrag an, und lässt das Programm dann an der gleichen Stelle weiterlaufen. Der erneute Zugriff auf die virtuelle Adresse läuft nun problemlos durch.



  • Tobiking2 schrieb:

    Wenn eine Page sich gerade nicht im Arbeitsspeicher befindet, dann wird von der CPU eine Exception (Page Fault/Seitenfehler) ausgelöst. Das Betriebssystem fängt diese, läd die Page aus der Auslagerungsdatei in den Speicher, passt den Page Eintrag an, und lässt das Programm dann an der gleichen Stelle weiterlaufen. Der erneute Zugriff auf die virtuelle Adresse läuft nun problemlos durch.

    heißt das ich könnte auch über usb auf nen stick oder externe festplatte bzw. lan auslagern 😕



  • no_code schrieb:

    heißt das ich könnte auch über usb auf nen stick oder externe festplatte bzw. lan auslagern 😕

    Da spricht theoretisch nichts gegen. Um das Aus- und Einlagern kümmert sich in der Regel vollständig das Betriebssystem und könnte damit auf allen Speichermedien die unterstützt werden auslagern. Praktisch wird man das aber wohl eher nicht machen. Das Risiko das das Medium entfernt wird ist zu groß, und Geschwindigkeit spielt da auch eine gewisse Rolle. Wobei die LAN Methode bei Clustern und ähnliches gar nicht so absurd klingt. Ich denke da kommt man durchaus mal in die Situation das man Prozesse längere Zeit pausiert und dabei vielleicht auf irgendeinen Fileserver auslagert.



  • Ich habe einen kleinen Server ohne eigene Festplatte der über iSCSI bootet. Swapping findet dort also auch über Netzwerk statt. Das ist prinzipiell kein Problem, sofern die Verbindung stabil ist.



  • da ja nur Programme im ARbeitsspeicher sind , also lauter Prozesse ist ja
    der ganze Arbeitsspeicher eigentlich auf eine virtuelle Adresse gemappt.



  • blurry333: Ich mache hier zu. Mach Deine Hausaufgaben selbst, Deine entsprechenden Threads nerven.


Anmelden zum Antworten