So, danke erstmal an Xin, dass er das Repository wieder funktionstüchtig gemacht hat
Es befindet sich ab jetzt die derzeit neuste Fassung des Kernels im Repository.
Was jetzt neu ist:
Der Kernel kann (in der Theorie) mit IRQs umgehen. Die IRQs (Signale von 2 Micorcontrollern) sind auf die Interrupts 32 bis 47 gemappt. Mit Hilfe der IRQs ist es ab jetzt möglich, Keyboard-Ereignisse (Tastendruck), Maus-Ereignisse, Timer-Ereignisse und weiteres zu bekommen.
Wichtig dabei ist der Timer.
Mit Hilfe des Timers wird später einmal der Taskwechsel ausgelöst.
Ansonsten habe ich das Makefile mal wieder überarbeitet.
Außerdem gibt es nun einen Ordner "bochs".
In ihm befindet sich eine Konfigurationsdatei für Bochs, sowie ein Shellskript, um ein Diskettenimage des Kernels zusammen mit GRUB zu erstellen (dazu muss GRUB unter /boot/grub/ installiert sein). Das Image wird benötigt, um per bochs den Kernel laufen lassen zu können.
Ob das Skript bei jedem funktioniert kann ich nicht sagen.
Zur Not einfach bei mir Fragen.
Ich bin in Skype unter "musteresel" zu erreichen. (Zumindest gelegentlich^^)
Was ich mir zur Speicherverwaltung überlegt habe:
Zuerst einmal ist ja eine Verwaltung für den tatsächlichen (physikalischen) Speicher notwendig.
Die stell ich mir folgendermaßen vor:
Ein unterer Teil des Speichers wird in gleichgroße Blöcke eingeteilt und es wird durch Bitmaps beschrieben, ob der jeweilige Block frei ist, oder nicht. Diese Bitmaps als ganzes werden wieder in einer Bitmap verwaltet. (Aus Geschwindigkeitsgründen). Das Ganze nennt sich Cottontail Memory Management.
Möchte jemand etwas genauer wissen versuch ich's gerne zu erklären.
Der obere Teil wird wohl mal durch einen Stackverwaltet werden.
Ein Stack hat gegenüber einer Bitmap den Nachteil, dass er mehr Speicher verbraucht. Dafür ist ein Stack aber auch SEHR viel schneller.
Ich mach mich dann mal an die Arbeit.
MfG
Daniel