Demand Paging Verständnisfrage



  • Hallo!

    Angenommen, wir haben einen physikalischen RAM von 32MB zur Verfügung.
    Virtueller Speicher haben wir die vollen 4GB, sagen wir mal 2GB für das OS und der Rest für den aktuellen Prozess.

    Nun haben wir 5 Prozesse am Laufen, die jeweils 10MB haben. OS hat sagen wir auch nochmal 10MB.

    Gut, dank Paging und Demand Paging hat jeder Prozess nur die Teile im RAM die er wirklich derzeit braucht, und die fehlenden Pages werden bei Bedarf nachgeladen.
    Es sollte also kein Problem sein, dass alles Prozesse zusammen mehr Speicher brauchen als RAM vorhanden ist.

    Nun deaktivieren wir Demand Paging.
    Wie sieht das jetzt aus? Wird jeder Prozess beim Starten des Prozesses vollständig in den RAM geladen? Sind wir also in dem Fall auf 2 Prozesse + OS = 30MB beschränkt? Oder wird jeder Prozess beim Context Switch vollständig auf der Platte gespeichert und der nächste Prozess komplett in dem RAM geladen? Das letztere kann ich mir ja kaum vorstellen, da dies ein extremer Flaschenhals wäre.

    P.S.: Bei einem aktuellen Projekt musste Demand Paging aus einem spzeillen Gund dekativiert werden, daher die Frage.



  • Wie sieht das jetzt aus? Wird jeder Prozess beim Starten des Prozesses vollständig in den RAM geladen? Sind wir also in dem Fall auf 2 Prozesse + OS = 30MB beschränkt? Oder wird jeder Prozess beim Context Switch vollständig auf der Platte gespeichert und der nächste Prozess komplett in dem RAM geladen? Das letztere kann ich mir ja kaum vorstellen, da dies ein extremer Flaschenhals wäre.

    Den gesamten Prozess jedes Mal auf der Platte zu speichern wäre schnarchlahm, aber denkbar. Wäre aber doch auch eine (stupide) Implementation von Demand-Paging.

    Ohne Demand-Paging bist Du auf den physisch vorhandenen Speicher beschränkt, also 32 MB. Oder 30 Mb, wenn alle Prozesse partout 10 MB wollen.



  • Mr X schrieb:

    Ohne Demand-Paging bist Du auf den physisch vorhandenen Speicher beschränkt, also 32 MB. Oder 30 Mb, wenn alle Prozesse partout 10 MB wollen.

    ok, also ohne demand paging gibts nicht mehr als das was der RAM hergibt.
    Danke für die Antwort!


Anmelden zum Antworten