Hallo,
ich habe schon etwas rumprobiert mit dem thema Os-progrmming.
Aber immer noch kein Durchblick.
Also meine Frage(n), ob ich das so richtig sehe:
Zu erst schreibt man einen bootloader und befindet sich im 16bit Modus (Realmode). Der Bootloader darf nicht größer als 512 byte sein?!
Dieser läd den Kernel in den Speicher und springt hinein?!
Wenn der Kernel nun in C geproggt ist, ist er dann automatisch 32bit?
Also muß ich vorher in den PM schalten, oder kann ich das in dem C-Kernel selbst machen??
Wie groß darf den dieser Kernel werden?? Kann es da Probs geben, wenn man die ganze zeit Module mit dem Kernel zusammenlinkt und dieser immer weiter wächst?
Wie ist das mit dem FAT 12 - Bootloader? Der läd doch einen kernel aus dem Dateisystem eine Diskette. Nur wie bekomme ich den bootloader in den bootsektor der diskette, ohne das Dateisystem zu zerschießen?
Wenn ich wie im forum vorgeschlagen den Rawwrite nehme, kann man denn dann die diskette in WinXP noch lesen und den Kernel rein kopieren?
Weil wenn das nicht mehr geht, was bringt mir dann das laden des kernels aus dem Dateisystem wenn ich eh Rawrite benötige?!
Ihr seht schon tausend Fragen.
Weiter:
Also wenn ich nun im PM in meinem C-Kernel bin.
Dann muß ich die Interrupts irgendwie umlenken auf die IDT oder so.
Wo muß ich denn die IDT anlegen? Im bootloader vor dem PM oder kann ich das auch im PM in meinem C kernel irgendwie mit einer Funktion oder so anlegen?
Wann muß ich den PIC umproggen? Vor erstellen der IDT und ISR oder danach?
Wie ist das mit dem A20-Gate? Das habe ich zu zeit im C-kernel nach betreten des PM direkt erledigt.
Vielen Dank fürs lesen und ich hoffe auf viele Tipps und Hilfe
Bin etwas verwirrt mit dem ganzen.
Gruß sov21