Lowlevel

Lowlevel => OS-Design => Thema gestartet von: blitzmaster am 01. February 2010, 19:22

Titel: Speicherverwaltung mit Stack
Beitrag von: blitzmaster 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
Titel: Re: Speicherverwaltung mit Stack
Beitrag von: Jidder 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.
Titel: Re: Speicherverwaltung mit Stack
Beitrag von: blitzmaster am 02. February 2010, 20:16
und warum bin i da net selbst draufgekommen?  :-D Danke schön!