Ws macht eigentlich (m)ein kernel? ist eine Frage die mir nun zum ersten mal in den Kopf schießt.
Als ich Anfing mit OS-Dev dachte ich es wäre klar. Er reagiert auf interrupts, bietet eine shell zum interaggieren(dazu muss gesagt sein das ich noch lange nicht an graka-modi denke, dahe rnur shell mit farbe
).
Mittlerweile hat sich mein Bild vom kernel geändert (gott sei dank)...
Aber vieles ist mir noch unklar:
Ich beziehe mcih hierbei auf Tee-Jays Tutorial zum c-Kernel.
Also ich möchte meinen Kernel wo es eben möglich ist mit C schreiben.
Daher habe ich nun den Bootloader von tee-Jay genommen, der meine Kernel.bin in den Arbeitspeicher läd.
Nun beginnt die tolle Fragestunde: What can I do for you?
Der Kernel hat nach meinem Verständnis die Aufgabe:
a. in den PM zu schalten (ja. Stichwort Grub. aber nein.)
b. GDT, IDT zu erstellen und zu laden
c. Treiber zu laden (in meinem Fall lediglich für die Tastatur)
d. Tasks zu verwalten (hab noch keine ahnung wie das geht, aber tutorial ist schon gefunden)
e. printk()
f. Fehlerroutinen bereitstellen auf die die diskriptoren Zeigen (ich hoffe das ich das nun richtig kapiert habe)
g. mein programm shell laden und damit den Benutzer mit einbinden.
Soweit korrekt?
Was muss noch alles rein? Ich mein das kann ja bei weitem nicht alles sein, auch wenn mich mindestens die hälfte derzeit noch überfordert.
Auch die logische Vorgehensweise beim Programmieren. Hab mir zwar die kleine einleitung für den Os-Dev-Newbie durchgelesen, aber besonders eindeutig finde ich sie nicht. Oben wird zwar von einem C-Kernel gesprochen aber weiter unten ist das garnicht mehr zu wort gekommen.
Egal.
Stell ich mich jetzt einfach zu blöd an im Verständnis? Ich mein, ich hab dank dem low level Magazin meine ersten schritte im realmode gehen können. bootloader schreiben, kernel laden und zack stand die message aufm bildschirm. Dann kam die Frage wie weiter?!
Ich hab jetzt das Protected Mode tut, das c-kernel tut, Bootloader tut, PIC tut, ect. schon durch (mehr als einmal) und kann aber einfahc keinen Anfang finden. Hab keine Struktur.
Anders ausgedrückt ich brauch Hilfe, sonst platzt mein kopf noch von dem ganzen hinundher.