Hallo zusammen,
Ich hätte eine Verständnisfrage bezüglich Paging. Das Tutorial lässt da ja noch einiges offen. Ich habe jetzt mal wie im Tutorial Paging sehr dürftig aufgesetzt und aktiviert. Wenn ich jetzt einen neuen Task starte ruft mein Kernel aber immernoch die pmm_alloc() Funktionen auf um Speicher für den Stack zu bekommen. Jetzt denke ich mal sollte ich eine vmm_alloc() erstellen die ersteinmal mit pmm_alloc() eine physische Speicherseite besorgt und mir dann deren Adresse in das Pagedirectory des Tasks einträgt und dann die Virtuelle Adresse zurückgibt. Sehe ich das schonmal richtig?
Nur wie genau mach ich das dann mit der Vergabe der Virtuellen Adressen, ich kann ja nicht einfach immer irgendeine Adresse hernehmen, da muss ja irgendein System dahinter sein.
s137
Ich hätte eine Verständnisfrage bezüglich Paging. Das Tutorial lässt da ja noch einiges offen. Ich habe jetzt mal wie im Tutorial Paging sehr dürftig aufgesetzt und aktiviert. Wenn ich jetzt einen neuen Task starte ruft mein Kernel aber immernoch die pmm_alloc() Funktionen auf um Speicher für den Stack zu bekommen. Jetzt denke ich mal sollte ich eine vmm_alloc() erstellen die ersteinmal mit pmm_alloc() eine physische Speicherseite besorgt und mir dann deren Adresse in das Pagedirectory des Tasks einträgt und dann die Virtuelle Adresse zurückgibt. Sehe ich das schonmal richtig?
Nur wie genau mach ich das dann mit der Vergabe der Virtuellen Adressen, ich kann ja nicht einfach immer irgendeine Adresse hernehmen, da muss ja irgendein System dahinter sein.
s137

Übersicht
Wiki
Hilfe
Suche
Einloggen
Registrieren
Drucken

Gespeichert


