Erstmal sollte ich mich wohl entschuldigen, daß ich hier ausgerechnet den ältesten Thread wieder rauskrame, aber es scheint mir der geeignetste zu sein, um ein paar generelle Anmerkungen zu machen.
Der Kernel sieht ja schon ganz nett aus. Damit bist du wohl schon weiter gekommen als der Großteil derjenigen, die sich vorgenommen haben, ein OS zu schreiben.
Dirty Oerti hat geschrieben:Ich lasse die Speichergröße jetzt auf 2 hoch N aufrunden. Einfach aus dem Grund, weil ich noch keinen computer gesehen habe, der 123 MB Speicher hat.
Typsiche Werte für die Speichergröße sind ja: 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 MB
[...] aber ich habe keine bessere Lösung parat.
Autsch.

Was du benutzen willst, ist die Memory Map, die dir GRUB übergeben kann. Wenn du dir das mal anhand von Code anschauen willst, kannst du dir den Code der
physischen Speicherverwaltung von LOST vornehmen, dem Community-OS von Lowlevel.
Und damit hätte ich den Übergang zu meinem eigentlichen Ziel auch fast schon geschafft: Du hast nach Material gefragt, ich möchte (nicht ganz selbstlos) antworten. Kennst du
Lowlevel schon? Soweit ich weiß, sind wir die größte (wenn nicht einzige) deutschsprachige Community zum Thema OS-Dev. Bei dringenden Fragen einfach mal bei uns im Forum oder IRC reinschneien, meistens weiß jemand weiter.
Und weil ich grad schon dabei bin: Dein Pagingcode berücksichtigt beim Ändern eines Pagetableeintrags den
TLB nicht, was später zu üblen Bugs führen kann, an denen man sich lange die Zähne ausbeißt. Vor allem, wenn man nicht weiß, daß es sowas wie den TLB gibt.
Das wär's erstmal. Ich hoffe, ich habe die richtige Mischung aus Werbung und konstruktivem Beitrag getroffen, um nicht sofort verdammt zu werden.
