MMhhh....
Die Physikalische Speicherverwaltung ist nicht sonderlich schwer, da ich das ja nur umbaue.
Auf was muss ich denn beim Paging alles achten?
Danach möchte ich mit dem einbauen von Multitasking beginnen, weshalb ich schonmal für alle Paging sachen, wie Page, Pagetable und Page Directory eine Struktur angelegt habe.
Auf was muss ich hinsichtlich des Multitaskings später achten?
Dann ist da nochwas, da ich ja auch einen Heap Manager einbauen muss.
Ist es sinnvoll in einem Microkernel den Heap Manager für den Kernel (Ring 0) und User-Programme/Treiber (Ring 3) in den Kernel einzubauen, oder sollte ich den Part für die User-Programme/Treiber auslagern?
Gruß Christian
*EDIT*
Du solltest wohl die Funktion nicht auf >16Mb beschränken, denn sonst hast du ein Problem, wenn ein Rechner nur 8 Mb hat. Es macht aber sicherlich Sinn, erst den Speicher über 16Mb zu vergeben.
Ich habe vor den DMA Speicherbereich dynamisch festzulegen,
z.B.: Wenn 32 MB gesamt da ist, dann nim 16 MB. Wenn nur 16 MB da sind, dann nimm 8 MB.
*EDIT 2*
Laut diesem Tutorial:
Multitasking Tutorial muss für das Kopieren der Daten eines Frames/einer Page (physikalisch) das Paging deaktiviert werden, was mir doch recht langsam erscheint.
Geht das nur so, oder ist da noch ein anderer Weg?