Klar will ich was lernen. Aber all die leider viel zu theoretischen Betriebssystemvorlesungen hab mir nicht besonders viel gebracht.
Das hat vielleicht sogar Gründe.
Mein Wunsch ist es nur, ein Betriebssystem zu programmieren. Das mit Assembler klappt schon ganz gut und mir wurde gesagt, dass zu einem Betriebssystem auch ein Bootloader gehört, den man ebenfalls selber programmieren sollte.
Naja. "Klappt schon ganz gut" klingt jetzt nicht besonders vertrauenswürdig und dass zu einem Betriebssystem auch ein Bootloader gehört, halte ich für Blödsinn. Gegenbeispiele findest du bei Mikrocontrollern.
Dann fällt mir vieles leichter, wenn ich bereits vorgefertigte Programme nehm, die mir das abnehmen ?
Wenn du die Hilfen und Erfahrungen annimmst, die andere bereits vor dir gemacht haben, ja, dann wird es einfacher. Du darfst Erfahrungen und Hinweise auch ignorieren,
du solltest dann aber wenigstens wissen, warum!Über die ganzen Bootloader, die es gibt (qemu,...) weiss ich nicht viel, außer dass diese Booten und in den Protected Mode schalten. Und mein OS sollte eben auf sovielen Rechnern wie möglich funktionieren, dazu gehören evtl. auch Rechner<386, d.h. nix mit Protected Mode.
Auch das zeugt von wenig Wissen: Die Hardware um einen 8086 (PC/XT) herum ist äußerst verschieden von der Hardware um einen 80386+ (AT) herum (weniger IRQs, weniger DRQs, andere Hardwarekomponenten, andere Adressen, kein Probing, beschränktes BIOS, kein Booten von HDD, ...) und im Real Mode hast du eh keinen Platz für spezialisierte Hardwaretreiber, geschweige denn für
beide Varianten. Die CPU-Architektur ist kompatibel, die Plattform nicht. Außerdem sind die BIOS-Treiber für moderne Hardware nur begrenzt einsatzfähig (z.B. können nicht mit großen Festplatten und modernen Grafikkarten umgehen).
Vielleicht solltest du dich erstmal mit Emulatoren (wie Qemu) und mit Bootloadern (wie GRUB oder Syslinux) befassen, ehe du sie ablehnst. Oder zumindest, was sie normalerweise tun sollten.
das OS das ich schreiben will, sollte eigentlich nur so wenig Arbeitsspeicher wie möglich brauchen und auch auf älteren Rechnern noch funktionieren. Und im Protected Mode verbraucht man soviel ich weiß, wesentlich mehr RAM als im Real-Mode.
Ein vernünftiges Betriebssystem braucht wesentlich mehr RAM als 640 KB (der Rest ist ROM - kein RAM!). Jeder beschissene 386er, den du auf dem Schrott findest - wenn du ihn überhaupt noch findest - hat mindestens 4 MB RAM. Und nein, DOS ist nicht vernünftig.
Was die "älteren Rechner" angeht: Vor ziemlich genau 15 Jahren (mitte 1996) wurde der Pentium 200 angekündigt, vor 20 Jahren (1991) gab es bereits 486er (der 386er erschien 1985, der 486er 1989). Wie alt bist du?
Aber wenn dann vieles leichter fällt mit z.B. QEMU, dann lernt man doch nicht, was hinter QEMU abläuft, oder ?
Wenn es dir um das Verstehen geht, dann beschäftige dich mit Mikrocontrollern. Die sind noch überschaubar, weil recht einfach gestrickt. Da hast du auch nur wenig RAM (meist im KB-Bereich).
PS: Und ich will eigentlich nur SOVIEL ÜBER BETRIEBSSYSTEME LERNEN WIE MÖGLICH.
Das lernst du nicht durch rumschreien.
Und auch nicht, wenn du nicht auf die Leute hörst. Die meisten Tips hier sind
wirklich gut begründet.
Gruß,
Svenska