Hallo Arne,
also mich beschäftig da eine Frage… Wie
wird wenn ein neues Betriebssystem gebaut
wird, der Compiler für dieses
Betriebssystem compiliert ?
Nach dem Münchausen-Prinzip (Der hat sich ja auch selbst an den eigenen Haaren aus dem Sumpf gezugen).
Du nimmst den Sourcecode vom einem bestehenden Compiler und und machst die entsprechenden anpassungen (an das neue BS oder eine neue CPU) dann übersetzt du das Ganze mit dem Alten Compiler.
Nun hast einen Neuen Compiler der auf dem alten System läuft und Programme für das neue erzeugt (CrossCompiler).
Dann compiliert man den Source-code mit dem neuen Compiler und kopiert das Resultat irgenwie auf das neue System.
Cross-Compilen, oder ? Moment halt stopp,
wird die erste Version des OS auch
Crosscompiliert ? Oder wie…
Richtig: Machst du alles Cross !!!
Und wie ist der erste Compiler der Welt
compiliert worden ? Mit einer
interpretierten Version des Compilers ?
Am Anfang war die Maschinensprache, dann Assembler und erst dann Interpreter und Compiler.
Oder etwa alles von Hand in Maschinencode
???
Habe ich vor 25 Jahren tatsächlich noch so gemacht, mit Papier und Bleistift den Assemblercode geschrieben, dann die Opcodes aus der Tabelle rausgesucht und eingetragen und am Schluss alles von Hand als Hex-Werte eingetippt !!!
Das Ding war ein KIM-1 hatte eine 6502 CPU, eine 6 oder 8 stellige 7-Segment Anzeige, eine Hex-Tastatur, ein Interface mit dem man auf/von einem normalen Kassettenrecorder Daten lesen und schreiben konnte. Und 1 KB (1024) Byte RAM !!!
Ja, Ja dazumal kannte man noch jedes Bit persönlich 
Ich hatte dann etwas später ein CPM-System zur verfügung. Der Bootloader kam da mit einem 32-Byte ROM aus. Das Ding ist halt einfach nur stehen geblieben wenn das Booten nicht klappte.
Du darfst halt eines nicht vergessen: Das was du heute als PC kennst gab’s vor 30 Jahren noch nicht einmal als Grossrechner !!
Damals hatte man eine CPU, 32-64 KByte RAM, 10-20 Mbyte als Disk und 64-128 Terminals dran angeschlossen.
MfG Peter