Schlüsseltechnologie

STP015: Multitasking in Betriebssystemen


Listen Later

Um viele Dinge gefühlt gleichzeitig tun zu können, ist die Computertechnik einen weiten Weg gegangen. In der heutigen Folge halten wir viele lose Fäden in der Hand und ständig merkt Xyrill, dass dies und jenes ja auch noch notwendig ist, um zum Ziel zu kommen: Zu Multitasking.

Shownotes
  • Vorbemerkung: Begriffsklärung Programm vs. Prozess

    • Programm: ein bestimmtes Stück Maschinencode, das zumeist auf der Festplatte vorgehalten wird
    • Prozess: eine bestimmte Laufzeitinstanz eines Programms
    • Prozess = Programm + zugehörige Daten im Speicher + zugehörige Berechtigungen etc.
    • Multitasking: Ausführung mehrerer Aufgaben zur selben Zeit oder abwechselnd in kurzen Zeitabschnitten

      • konkurrente Ausführung: abwechselnd in kurzen Zeitabschnitten
      • parallelle Ausführung: zur selben Zeit (z.B. Parallelbearbeitung mehrerer Daten in der GPU, Parallelität in mehreren CPU-Kernen); heute nicht so sehr im Fokus
      • Analogie: Multitasking beim Menschen

        • Idee 1: tatsächlich parallele Ausführung, z.B. gehen und gleichzeitig sprechen
        • Idee 2: Teilaufgaben an einer jeweils sinnvollen Stelle unterbrechen und während der Wartezeiten etwas anderes machen, z.B. Kochen/Backen (entspricht dem kooperativen Multitasking)
        • Idee 3: Teilaufgaben nach einer bestimmten Zeit oder bei äußeren Ereignissen unterbrechen, z.B. Büroarbeit (entspricht dem präemptiven Multitasking)
        • kooperatives Multitasking: Prozesse unterbrechen sich selbst, wenn sich abzeichnet, dass sie warten müssen

          • z.B. auf das Lesen von Daten von der Festplatte oder eine Antwort aus dem Netzwerk
          • Problem 1: jedes Programm muss Unterbrechungspunkte enthalten
          • Problem 2: unkooperative Programme (z.B. fehlerhafte oder Schadsoftware) können das gesamte System blockieren
          • weit verbreitet in der Ära der frühen Heimcomputer (C64, DOS-PCs, Macs bis Mac OS 9)
          • heute nicht mehr im Einsatz, da moderne Prozessoren interruptfähig sind und somit präemptives Multitasking möglich ist
          • präemptives Multitasking: Prozesse werden nach dem Ablauf ihrer zugeteilten Zeitscheibe unterbrochen, damit jemand anderes drankommen kann

            • bevor der Prozess drankommt, stellt das Betriebssystem einen Hardware-Timer in der CPU
            • nach Ablauf des Timers löst die CPU einen Interrupt (eine Unterbrechung) aus
            • CPU unterbricht die Arbeit am Prozess und führt eine vom Betriebssystem definierte ISR (Interrupt Service Routine) aus
            • ISR speichert den Zustand des Prozesses (insb. die Inhalte aller Prozessor-Register) und gibt die Ausführung zurück an den Scheduler
            • um Prozess später wiederherzustellen, werden im Prinzip einfach alle Prozessor-Register auf die gesicherten Werte zurückgesetzt
            • Scheduler (Zeitplaner): Komponente des Betriebssystems, die den jeweils nächsten Prozess wählt, der laufen darf

              • interne Buchführung des Schedulers unterscheidet zwischen lauffähigen und nicht lauffähigen Prozessen
              • ist ein laufender Prozess nicht mehr lauffähig (weil auf I/O gewartet werden muss), kann er auch selbst einen Interrupt auslösen und wird dann im Scheduler als nicht lauffähig markiert
              • nächster Prozess wird immer aus der Liste der lauffähigen Prozesse gewählt, nach Kriterien wie Priorität (z.B. Audio-Prozesse)
              • gibt es keinen lauffähigen Prozess, kann die CPU bis zum nächsten Interrupt angehalten werden
              • Wie werden Prozesse wieder lauffähig?

                • Eingabe von der Hardwareseite (z.B. Netzwerk, Festplatte) erzeugt ebenfalls Interrupts, auf die das Betriebssystem reagiert
                • Eingabe von anderen Prozessen (z.B. via Pipes) landet direkt beim Betriebssystem
                • Betriebssystem stellt die Daten dem entsprechenden Prozess bereit und markiert diesen wieder als lauffähig
                • analog bei vollgelaufenen Ausgabepuffern
                • ...more
                  View all episodesView all episodes
                  Download on the App Store

                  SchlüsseltechnologieBy Xyrillian Noises


                  More shows like Schlüsseltechnologie

                  View all
                  Bits und so by Undsoversum GmbH

                  Bits und so

                  25 Listeners

                  WRINT: Wer redet ist nicht tot by Holger Klein

                  WRINT: Wer redet ist nicht tot

                  15 Listeners

                  Methodisch inkorrekt! by Methodisch inkorrekt!

                  Methodisch inkorrekt!

                  13 Listeners

                  Apfelfunk by Malte Kirchner & Jean-Claude Frick

                  Apfelfunk

                  8 Listeners

                  Das Wissen | SWR by SWR

                  Das Wissen | SWR

                  113 Listeners

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

                  c’t uplink - der IT-Podcast aus Nerdistan

                  6 Listeners

                  Stay Forever - Retrogames & Technik by Stay Forever Team

                  Stay Forever - Retrogames & Technik

                  34 Listeners

                  Logbuch:Netzpolitik by Metaebene Personal Media - Tim Pritlove

                  Logbuch:Netzpolitik

                  5 Listeners

                  Computer und Kommunikation by Deutschlandfunk

                  Computer und Kommunikation

                  10 Listeners

                  Der KI-Podcast by ARD

                  Der KI-Podcast

                  12 Listeners

                  KI-Update – ein heise-Podcast by Isabel Grünewald, heise online

                  KI-Update – ein heise-Podcast

                  2 Listeners

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

                  Passwort - der Podcast von heise security

                  3 Listeners

                  Geschichten aus der Mathematik by detektor.fm – Das Podcast-Radio

                  Geschichten aus der Mathematik

                  2 Listeners

                  UNFASSBAR – ein Simplicissimus Podcast by Simplicissimus

                  UNFASSBAR – ein Simplicissimus Podcast

                  25 Listeners

                  Darknet Diaries Deutsch by heise online

                  Darknet Diaries Deutsch

                  0 Listeners