Linux System Startup
Linux System Startup
Linux System Startup
-
- 1 / 16
-
Cartes-fiches
Was ist die Firmware und wozu zählt sie (Rechner / Betreibsystem)?
(3 Punkte)
- Die Firmware gehört zum Rechner, nicht zum Betriebsystem
- Enthält die ersten Befehle, welche die CPU nach dem Systemstart ausführen soll
- Kenn die Hardwarekandidaten für den Systemboot:
- Festplatte / Partition
- CD / DVD
- USB-Stick
- Netzwerk
Nenne 3 Beispiel für eine Firmware?
- Bios (Basic Input/Output System)
- Proprietärer -> Nicht Quelloffen zwei große Hersteller AMI, Phönix
- EFI (Extensible Firmware Interface
- Alternative zu Bios
- Hersteller unabhänig
- Verwendet von Apple/ IBM
- UEFI (Unidied Extensible Firmware Interface)
- Durch Microsoft getrieben, unterstüzt ab Windows 7
- Bootloader
- Wo befindet er sich?
- Wie groß ist er maximal?
- Was ist seine Aufgabe, was benötigt er dazu?
- Sitzt meinsten im ersten Block des Boot-Devices (Master Boot Records (MBR))
- Maximaler Umfang: 466 Bytes ?????
- Die Hauptaufgabe ist der Start des Kernels, dazu benötigt er die
Absolute position ( Blockadresse auf der Festplatte) oder Dateisystempfad (dazu muss er allerdings das Filesystem lesen können) - Bietet oft mehrere Optionen für den Systemstart an
Nenne 5 Besipiele für einen Bootloader und deren Besonderheiten.
- LILO (Linux Loader)
- Erster Bootloader für linux -> Kannte die absolute Position des Kernels
- SYSLINUX
- Vor allem für CD/DVD
- loadlin
- Kann linux von einer Windows Partition booten
- Grub bzw GRUB2 (Grand Unified Bootloader)
- Aktueller Bootloader für Linux
Was ist die Aufgabe des GRUB(2) bootloader im MBR, wie lauft dies ab? (Nicht so detaliert im Skript)
(3 Punkte)
- Es wird zuerst die Stage 1 aus dem MBR eingelesen und ausgeführt, sie hat nur die aufgabe die Stage 2 zu finden. Dabei ist entweder eine absolute Adresse oder ein Pfad hinterlegt:
- Absolute Adresse: Es wird direkt die Stage 2 geladen und ausgeführt
- Pfad: Es wird zuerst die Stage 1.5 (Dateisystemtreiber aus Bootsektor) geladen und dann damit die Stage 2 geladen und ausgeführt
- Die Stage 2 liegt mesitens unter /boot/grub/stage2 config unter /boot/grub/grub.cfg
- Die Stage 2 zeigt eine Bootmenü an und läd anschließen den Kernel oder startet den Bootloader eines anderen Betriebsystem
(Quelle: https://de.wikipedia.org/wiki/Master_Boot_Record#GRUB)
Was sind die Aufgaben des Kernels?
(2 Punkte)
- Hardware Initialisierung
- Behandlung von Interupts
- Speichermanagement (Paging/Swapping)
- Gerätetreiber
- Start der Drei initialen Prozesse
- idle (PID 0)
- init oder systemd (PID 1)
- kthreadd (PID 2)
- idle (PID 0)
Wo liegt der unterschied zwischen einem Modularen / nicht Modularen Kernel?
Beim Modularen Kernel werden die Treiber für Geräte / Dateisysteme zur laufzeit nachgeladen, dazu muss aber ein Dateisystemtreiber bereits enthalten sein. Bei nicht Modularen Kernels sind die ganzen Treiber eincompiliert.
Modernere Variante: Initiale Ramdisk, die vom Bootloader initialisiert wird und die wichtigsten Treiber enthält (initramfs)
Was sind die ersten 3 Prozesse, welche aufgabe haben sie?
- Idle (PID 0)
- Der Prozess läuft, wenn sonst nichts läuft (CPU braucht ständig etwas zu tun | Taktrate kann reduziert werden)
- Erzeugt 2 Kindprozesse:
- init oder systemd (PID 1)
- Stammvater /- mutter aller Prozesse im Usermode
- kthreadd (PID 2)
- Stammvater/ -mutter aller Kernelthreads
Wie werden die 3 gebräuchlichsten Init-Systeme genannt?
- SYSV: SysVinit ist das init-System des Unix-Betriebssystems System V. Ein Nachbau davon wird in einigen Linux-Distributionen als Standard-Init-System genutzt.
- Upstart: Zuletzt von Ubuntu benutzt inzwischen veraltet
- systemd: Wird inzwischen von vielen distributionen genutzt wie: RedHat, SuSE, Ubuntu, Debian, ...
Was sind die Vorteile / Nachteile von SYSV init im vergleich zu systemd?
- Vorteil von SYSV init: einfach zu durchschauen, Shellskripte waren einfach anzupassen
- Nachteil von SYSV init: Serielle abarbeitung von Skripten, teilweise sehr lange Boot-Zeiten. Parallele Prozesoren wurden nicht unterstüzt
Was ist das Grundprinzip von systemd?
(3 Punkte)
- Alle notwendigen Prozesse werden gleichzeitig gestartet
- Alle Abhänigkeiten werden durch UNIX-Socket oder D-Bus Verbindungen abgebildet
- Wenn ein Dienst noch nicht bereitsteht, werden die abhänigen Dienste durch die Socket-Kommunikation blockiert
Welche sind die wichtigsten Funktionen im Umgang mit Servicen?
(3 Punkte)
- systemctl start <bla>.service
- systemctl stop <bla>.service
- systemctl [-l] status <bla>.service
Weitere funktionen sind: restart, reload, enable, disable, list-dependencies
Welche aufgaben übernimmt im letzten Schritt die Shell?
- getty kurz für "get tty" tty -> Teletype
- Stellt eine login-promt auf einer Texkonsole zur verfügung
- Wechsel mit [Strg] [Alt] { [F2] [F3] .... [Fn] }
- Display Manager
- Startet eine Grafische Oberfläche
- gdm - GNOME
- kdm - KDE
- und viele mehr ....
- Wechsel mit [Strg] [Alt] [F1]
- Startet eine Grafische Oberfläche