Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: DaCodaaa am 05. September 2009, 15:46

Titel: Speichermanagement für Anfänger
Beitrag von: DaCodaaa am 05. September 2009, 15:46
Hi,

Jetzt wo ich mit der Tastatur vorerst fertig bin wollte ich mich dem Speichermanagement(malloc und free) widmen.
Hab mich auch schon ein bisschen eingelesen.
Das Problem ist jetzt, dass ich vom Bios eine Bitmap holen wollte, aber ja durch Grub ja schon im Pmode bin.
Meine Frage ist also: Wie kann ich im Pmode Bios funktionen,welche ja RM sind, aufrufen oder gibt es Alternativen, mit denen man auch den ganzen Speicher mappen kann?
Titel: Re: Speichermanagement für Anfänger
Beitrag von: kevin am 05. September 2009, 15:53
Wenn du die Speicherbitmap haben willst, dann kannst du die ganz einfach aus den Multiboot-Strukturen holen (siehe Wikieintrag für Multiboot (http://lowlevel.brainsware.org/wiki/index.php/Multiboot#mbs_mmap_length)).

Und malloc/free ist nicht die Ebene, auf der du ansetzen willst. Zuerst einmal wird Speicher üblicherweise in Seiten von 4 Kilobytes verwaltet. malloc baut dann darauf auf.
Titel: Re: Speichermanagement für Anfänger
Beitrag von: DaCodaaa am 05. September 2009, 17:10
Ok hab mich jetzt durch das Wiki gewühlt und einen link zu dem Quellcode von dlmalloc gefunden.
kann ich den Code auf mein System Portieren, oder ist das überhaupt ratsam und wo finde ich eine Anleitung, wie man mit der Memorymap von Grub etwas macht(quasi was drinsteht).
Titel: Re: Speichermanagement für Anfänger
Beitrag von: kevin am 05. September 2009, 17:27
Ich hab doch den Wikiartikel verlinkt, wo drinsteht, wie die Tabelle aufgebaut ist.

dlmalloc kannst du verwenden, aber der will natürlich auch erstmal eine Speicherverwaltung haben, auf die er aufsetzen kann. Wie gesagt, malloc ist jetzt noch nicht an der Reihe, sondern eine seitenbasierte physische Speicherverwaltung.