Linux System Startup

Linux System Startup

Linux System Startup


F. G.
Diese Lernkarten bieten einen umfassenden Überblick über den Linux-Systemstartprozess auf Universitätsniveau. Sie decken die verschiedenen Stufen des Bootvorgangs ab, von der Firmware bis hin zum Systemstart, und beleuchten dabei die Rollen des Bootloaders, des Kernels und der Init-Systeme wie SYSV init und systemd. Die Karteikarten erklären auch die Unterschiede zwischen modularen und nicht-modularen Kerneln sowie die Aufgaben des Kernels selbst. Praktisch anwendbar sind diese Informationen für IT-Experten und Studierende, die sich mit der Systemadministration und dem Bootprozess von Linux auseinandersetzen.
Karten
16
Lernende
5
Sprache
Deutsch
Kategorie
Informatik
Stufe
Universität
Erstellt / Aktualisiert
26.05.2016 / 12.07.2016

Lernkarten

Welche sind die 5 Schritte die beim Systemstart abgearbeitet werden?

  • Firmware
  • Bootloader
  • Kernel
  • Der Erste Prozess 
  • Shell

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)

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 durch systemd gestarteten Prozesse?

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

Wie können mit systemd beispielsweise abhänigkeiten realisiert werden?

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]

Lernen