Zuerst startet der Rechner das BIOS (Basic Input Output System). Danach begibt sich der Rechner auf die Suche nach dem Betriebssystem auf einem Datenträger.
Bei jedem Dateträger wird der erste Sektor (die ersten 512 Bytes) gelesen. Dieser Sektor wird als Master Boot Record bezeichnet (kurz MBR). Bei Disketten wird dieser Bereich als Bootsektor bezeichnet. Er enthält auch die Partionstabelle, welche für 4 Einträge Platz bietet (die primären Partionen). Unter anderen kann im MBR auch der Linux Loader (kurz LILO) untergebracht werden, der auch in der Lage ist mehrere Betriebssysteme zu starten.
Im Startsektor wird mit Abarbeitung von Code aus der Datei setup.S begonnen. Aufgaben diese Codes sind:
Die Datei head.s (die vollständig in Assembler geschrieben wurde) werden folgende Dinge initialisiert:
Weitere Funktionen werden von der Datei main.c zur Verfügung gestellt
Init ist der erste Prozeß den der Kernel nach der Initialisierung der Hardware startet. Er wird als "Vater" der Prozesse bezeichnet, da er die Prozeß-ID (PID) 1 erhält. Aufgaben von
init sind:|
Simple-Init-System |
System-V |
|
kennt 2 Betriebszustände. Diese Datei wird sehr schnell unübersichtlich. |
verteilt die Konfiguration der Systemkomponenten auf verschiedene Skripte (Neztwerk, Webserver etc). Um diese können auch nachträglich vom init neugestartet werden. ð Wesentlich leichter zu Handhaben; übersichtlicher. |
Die Runlevels definieren den akutellen Zustand eines Unix-Systems - normalerweise Mulituserbetrieb, Wartungsmodus mit oder ohne Netzwerk, Konsolenlogin oder unter X11.
Diese Runlevels werden in der Datei
/etc/initab festgelegt.|
Runlevel |
Name |
Beschreibung |
|
0 |
halt |
System herunterfahren |
|
1 |
singel user mode |
Wartungsmodus |
|
2 |
mulituser without NFS |
Mulituserbetrieb (ohne NFS) |
|
3 |
full mulituser mode |
Mulituser mit NFS |
|
4 |
unused |
Nicht benutzt |
|
5 |
X11 |
Starten der grafischen Oberfläche, Einlogen über xdm |
|
6 |
reboot |
Neustart |
Die Runlevels A-C dienen dazu in einen Runlevel zusätzliche Dienste zu starten, ohne den ursprünglichen Runlevel zu verlassen.
Jeder Eintrag in
/etc/initab ist im Format ID:Runlevel:Aktion:Prozeß eintragen.Diese Datei steuert die Übergänge zwischen den Runlevels und legt die Schritte beim Wechsel der Runlevels fest.
Die oben angesprochenen Verweise zeigen auf Init-Skripte und Daemons. Zentrale Rolle des ersten Scriptes ist es die Datei
/etc/fstab zu überprüfen um Fehler im Dateisystem zu starten. Gefundene Fehler werden automatisch repariert (sofern dies möglich ist). Danach werden in /etc/fstab eingetragene Dateisysteme automatisch gemountet.#Das getty liefert nach Abarbeitung sämtlicher Init-Skripte schließlich ein Login-Promt.
Das Programm getty ist der eigentliche Motor für Verbindungen eines Host-Rechneres mit Terminals, PCs als Terminals oder Dail-in-Modemverbindungen. Zudem stellt getty die Geschwindigkeit, den Transfertyp und den Terminaltyp ein. Es gibt 3 gebräuchliche getty-Versionen:
Sie unterscheiden sich in der Syntax, leisten aber ähnliches. In den meisten Distributionen kommt aber
getty_ps zum Einsatz. mgetty unterstützt mit sendfax das Versenden von Faxen, während