Schlüsseltechnologie

STP020: Bootstrap


Listen Later

Strom an und Ohren auf! In dieser Episode nähern wir uns Computern im Dornröschenschlaf.

Genauer sehen wir uns an, was beim Erwachen geschieht.

Shownotes
  • Zustand bei frühen Rechenmaschinen und Computern

    • kein Bootstrap: Strom an -> Programm starten, Programm beenden -> Strom aus (siehe Konrad-Zuse-Clip)
    • Programme waren spezifisch für die Hardware, auf der sie laufen
    • siehe auch: damals (TM) Podcast
    • und ChaosRadioExpress193 Old School Computing
    • Zustand bei heutigen Computern

      • Programme benötigen Funktionen des Betriebssystems, Betriebssystem muss sich mit der Hardware vertraut machen -> separate Startphase notwendig
      • Bootstrap (oder kurz Boot): sich selbst an den Schnürsenkeln aus dem Sumpf ziehen; aus einem einfachen System heraus ein komplexeres System aktivieren
      • Konzept taucht mehrmals in verschiedenen Kontexten auf ("Wie stellt man einen Hobel her, wenn man keinen Hobel hat?"), siehe z.B. Bootstrapping von Programmiersprachen
      • Hardware-Bootvorgang meist in mehreren aufeinanderfolgenden Phasen
      • Phase 1: Firmware

        • minimales Startprogramm
        • in einen separaten Flash-Speicher im Chip fest verbaut
        • Aufgabe: Hardware in einen definierten Zustand bringen (z.B. interne Speicher initialisieren), nächste Stufe finden und laden
        • heute mitunter alles andere als minimal: siehe UEFI und Intel ME/AMD PSP
        • bei x86 früher BIOS; heute ersetzt durch UEFI, dessen definierter Endzustand modernen Konventionen folgt
        • Phase 2: Bootloader

          • immer noch ziemlich minimal
          • liegt auf einem Massenspeicher (Festplatte, USB-Stick)
          • Aufgabe: Massenspeicher nach Betriebssystemen durchsuchen, Auswahldialog anbieten, gewähltes Betriebssystem starten
          • unter Linux meistens GRUB oder systemd-boot
          • Alternativen zum klassischen Bootloader

            • UEFI-Firmware kann direkt das Betriebssystem starten, sofern keine interaktive Auswahl erforderlich ist
            • Netzwerk-Boot (entweder durch die Firmware oder als Option in Bootloadern wie GRUB)
            • Phase 3: Betriebssystem

              • Erinnerung (siehe STP019): Kernel = Betriebssystemteile in höchster Privilegenstufe, Userspace = alle Programme in niedrigerer Privilegienstufe
              • Bootloader lädt und startet den Basisteil des Kernels
              • Kernel erkennt die verfügbare Hardware, lädt von der Festplatte die benötigten Kernel-Module nach und startet den System-Manager
              • Phase 4: System-Manager

                • unter Unix meist als "PID 1" benannt, weil dieser erste Prozess mit der Prozess-ID (PID) 1 läuft

                • klassischerweise sysvinit, heute unter Linux meist systemd

                • startet alle Userspace-Programme, die als Teil des Betriebssystems aufgefasst werden können (im Unix-Sprech "Daemons": Disk And Execution MONitors)

                • auf Systemebene z.B. Druckwarteschlange, Bluetooth-Dienst, Netzwerk-Konfigurationsdienst, Zeitsynchronisation

                • auf der Ebene einer grafischen Sitzung z.B. Dienste zum Auswählen von Tastaturlayout/Netzwerk, Einstellen der Lautstärke, Screen-Reader

                • ChaosRadioExpress209 Das Linux System

                • Phase 5: Display-Manager

                  • bietet auf grafischen Systemen den Anmeldedialog
                  • im Prinzip selbst eine komplette grafische Sitzung (Anekdote: GDM vs. LightDM)
                  • startet nach erfolgreicher Anmeldung die entsprechende grafische Sitzung
                  • Phase 6: grafische Sitzung

                    • Strukturierung je nach Desktopoberfläche
                    • immer mit dabei: ein Window-Manager, der die einzelnen Fenster in ein Gesamtbild zusammensetzt (heutzutage auf der GPU, dann heißt der Window-Manager "Compositor")
                    • unter Windows ist der Window-Manager aus historischen Gründen Teil von explorer.exe
                    • wie besprochen: unter Linux Bootvorgang visualisieren mit systemd-analyze plot > output.svg
                    • ...more
                      View all episodesView all episodes
                      Download on the App Store

                      SchlüsseltechnologieBy Xyrillian Noises


                      More shows like Schlüsseltechnologie

                      View all
                      Chaosradio by Chaos Computer Club Berlin

                      Chaosradio

                      7 Listeners

                      Freak Show by Metaebene Personal Media - Tim Pritlove

                      Freak Show

                      10 Listeners

                      Logbuch:Netzpolitik by Metaebene Personal Media - Tim Pritlove

                      Logbuch:Netzpolitik

                      7 Listeners

                      Methodisch inkorrekt! by Methodisch inkorrekt!

                      Methodisch inkorrekt!

                      14 Listeners

                      c’t uplink - der IT-Podcast aus Nerdistan by c’t Magazin

                      c’t uplink - der IT-Podcast aus Nerdistan

                      7 Listeners

                      Jung & Naiv by Tilo Jung

                      Jung & Naiv

                      40 Listeners

                      heiseshow by heise online

                      heiseshow

                      2 Listeners

                      Übermedien by Übermedien

                      Übermedien

                      3 Listeners

                      Lage der Nation - der Politik-Podcast aus Berlin by Philip Banse & Ulf Buermeyer

                      Lage der Nation - der Politik-Podcast aus Berlin

                      221 Listeners

                      Die Wochendämmerung - Der stabile Wochenrückblick by Katrin Rönicke und Holger Klein (hauseins)

                      Die Wochendämmerung - Der stabile Wochenrückblick

                      15 Listeners

                      Sicherheitshalber by Der Podcast zur sicherheitspolitischen Lage in Deutschland, Europa und der Welt.

                      Sicherheitshalber

                      45 Listeners

                      Bit-Rauschen: Der Prozessor-Podcast von c’t by c't Magazin

                      Bit-Rauschen: Der Prozessor-Podcast von c’t

                      1 Listeners

                      Legion by rbb | NDR | Undone

                      Legion

                      5 Listeners

                      Haken dran – das Social-Media-Update der c't by Gavin Karlmeier

                      Haken dran – das Social-Media-Update der c't

                      2 Listeners

                      Passwort - der Podcast von heise security by Dr. Christopher Kunz, Sylvester Tremmel

                      Passwort - der Podcast von heise security

                      3 Listeners