Autor Thema: Speicherverwaltung mit Stack  (Gelesen 3010 mal)

blitzmaster

  • Beiträge: 77
    • Profil anzeigen
Gespeichert
« am: 01. February 2010, 19:22 »
Hallo!

Seit kurzen komme ich wieder etwas dazu an meinen OS weiterzuarbeiten. Die physische Speicherverwaltung war bisher mit einer Bitmap realisiert, aber das ist relativ langsam nach einer Zeit. Eine Implementierung mit Stack gefällt mir eigentlich recht gut, aber ein Problem sehe ich: Wenn irrtümlicherweise eine bereits freigegebene Page auf den Stack gepusht wird, dann ist die da zweimal drauf, und wird beim zweiten Mal fälschlicherweise als neue und freie Speicherseite hergegeben.
Gibts da Lösungen dafür? Oder ist das ein NAchteil den ich in Kauf nehmen muss? Prinzipiell würde mir nur einfallen den Stack bei jedem free - Aufruf zu durchsuchen, aber das ist ja dann wieder eine recht langwierige Sache.

lg,

Blitzmaster
A / OS PM - THE operating system of the future

Jidder

  • Administrator
  • Beiträge: 1 625
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 01. February 2010, 22:55 »
Zitat
Gibts da Lösungen dafür?
Ja. Zum Beispiel beide Datenstrukturen gleichzeitig benutzen. Bei einem "free" wird in der Bitmap nachgeschaut, und wenn die Seite noch nicht gefreet wurde, wird sie in der Bitmap als "free" markiert und auf den Stack gelegt.
« Letzte Änderung: 01. February 2010, 22:59 von PorkChicken »
Dieser Text wird unter jedem Beitrag angezeigt.

blitzmaster

  • Beiträge: 77
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 02. February 2010, 20:16 »
und warum bin i da net selbst draufgekommen?  :-D Danke schön!
A / OS PM - THE operating system of the future

 

Einloggen