Wenn der PC eingeschaltet wird, dann wird der Haupt-Prozessor zurückgesetzt, also alles auf Null
gesetzt(Reset) und zeigt nun auf den ersten Befehl auf Adresse Null($F000:FFF0). Die Adresse
Null bis XY hat das
BIOS-Rom dies ist ein nicht
löschbarer Speicher und ist immer vorhanden und ändert sich nie(fast, aber das interessiert
jetzt nicht; ausserdem kann ein Teil vom Rom ins Ram kopiert werden (Cachen/Spiegeln) und von
CMos-Chips will ich jetzt auch nichts erzählen).
Es ist das Bios-Rom in dem also die allerersten Befehle abgearbeitet werden. Ab hier beginnt
also schon das Booten. Hier wird zuerst Speicher- und Hardware-Tests ausgeführt (Power on self
Test kurz "POST" genannt).
Sind die Tests mit Erfolg abgeschlossen, wird danach versucht ein Betriebsystem in den
Speicher(Ram) zu laden: wie z.B. Dos oder Windows oder Linux.
Und jetzt (aufgepast ihr Abschreiber und Kopierer) nicht das Bios sucht nach einem gültigen
Bootsector sondern die Bootroutine des jeweiligen dominierenden Betriebsystems.(
Bootroutine)
Dabei sucht die Bootroutine die Laufwerke des jeweiligen des zu ladenden Betriebsystems
nach einem gültigen Bootsektor ab.
Bios hat also nur die Funktion das es entscheiden darf von welchem Laufwerk die Bootroutine
geladen wird, also von Festplatten oder Disketten oder CD-Rom.
Die Prioität kann man im Bios-Setup angeben.
Bios läd dabei immer den ersten
Sektor des
Datenträgers in den Speicher (Ausnahme CD da Simuliert)
Danach setzt Bios den Programmpointer auf den geladenen Bereich und startet somit die Bootroutine(Bootstrap loader)
wenn vorhanden. Ist keine Bootroutine vorhanden dann bleibt der PC stehen(abgestürzt)
oder aber es kommt die aufforderung eine Srart Diskette einzulegen weil der Programmpointer einfach
durch den lehren RamDaten-Bereich durch rasselt und irgend wann auf den bereich -legen sie eine Systemdiskette ein ankommt.
ansonsten übernimt die Bootroutine jetzt das weitere.
Hier beginnt der unterschied von den verschiedenen Betriebsystemen da jedes Betriebsystemen seinen eigenen Loader braucht
und eine andere Datenträgerstruktur hat(FAT, NTFS und so weiter, auch die Bootmanager).
Bei Diskette ist der erste Sektor gleich der Bootsektor der in den Speicher(Ram) kopiert wird und
dann gestartet wird. Der Bootsektor beinhaltet genauso Befehle wie das Bios-Rom. Diese Befehle sind
für den Haupt-Prozessor direkt verständlich und müssen nicht erst umgesetzt werden,
man nennt diese Befehle Binär-Code und diese konvertiert man zu Assembler-Code da besser zu lesen.
Der Bootsektor zieht also das Betriebsystem in den Speicher(Ram) und startet es und übergibt
dem Betriebsystem damit die Kontrolle.
Bei Festplatte ist das anders, denn eine Festplatte kann zu mehreren Laufwerken unterteilt werden
z.B. C:\ D:\ E:\...es müssen also erst Informationen der Festplatte gesammelt werden wie
z.B Start- und End-Position der Laufwerke und welches Laufwerk nun das
Betriebsystem in den Speicher läd und startet. Bei Festplatten ist also der erste Sektor
nicht der Bootsektor der das Betriebsystem lädt, sondern eine Tabelle von Informationen und
diese nennt man
Partitions-Tabelle.