M305 - Betriebssysteme installieren
  • Intro
  • 🗓️Organisatorisches / Bewertung
  • TAG 1
    • 🏁Tagesziele
    • Einführung Betriebssysteme
    • Betriebssysteme
      • Eigenschaften von Modernen Betriebssystemen
      • Aufbau im Zwiebelschalenmodell
        • 📝Aufgabe - Flippchart erstellen
    • Partitionierung
    • Filesysteme
      • Wichtige Eigenschaften von Filesystemen
      • Eigenschaften diverser Dateisysteme
    • 📝Aufgabe - Windows Installation
  • TAG 2
    • 🏁Tagesziele
    • Mindestanforderungen Betriebssysteme
    • Bootvorgang Rechner
      • EFI/UEFI
      • Aufgaben des BIOS/UEFI
    • Lizenzmodelle
      • Closed Source Software
      • Andere Lizenztypen
    • Installation Ubuntu
    • Windows Terminal - Kommandozeile Windows
      • CMD (Eingabeaufforderung) / «Windows Terminal»
      • Windows PowerShell
      • Windows PowerShell ISE
    • Kommandozeile Linux
      • PowerShell unter Linux
      • Terminal - Apple Computer
    • 📝Aufgabe Konsolenvergleich Linux vs. Windows
    • 📝Aufgabe Austauschlaufwerk Windows - Ubuntu
  • TAG 3
    • 🏁Tagesziele
    • WSL - Windows-Subsystem für Linux
    • 📝Administratorentätigkeit
      • 2 - Systeme aktuell halten
      • 3 - Fingerübung
      • 4 - Kontrolle und Installations-Überprüfung
        • 4.2 Kontrolle unter Ubuntu
        • 4.3 Sind die Installation ohne Probleme erfolgt?
        • 4.4 Log-Dateien unter Windows
        • 4.5 Log-Dateien unter Ubuntu
      • 5 Mit Dateien und Verzeichnissen arbeiten
      • 6. Grub Bootloader
      • 7 Konfiguration der LAN-Verbindung
      • 8 Prozesse und Anwendungen überwachen
      • 9 Firewall
      • 10 Fernzugriff und Fernadministration
        • 10.1 SSH unter Linux
        • 10.2 SSH unter Windows
        • 10.3 SSH Verbindungen mit Tools
        • 10.4 RDP unter Windows
        • 10.5 Remoteverbindung unter Linux
        • 10.6 Screen Sharing unter Ubuntu
  • TAG 4
    • 🏁Tagesziele
    • 📝Administratorentätigkeit
    • Benutzer verwalten
    • Windows File Berechtigungen
    • Ubuntu File Berechtigungen
    • ✍️Aufgabe u-g-o Berechtiungen
  • TAG 5
    • 🏁Tagesziele
    • 📝Aufgabe - Shell Scripts
    • 📝Aufgabe - Zugriff Windows Freigabe
    • 📝Aufgabe - Datenaustausch über SSH
  • TAG 6
    • 🏁Tagesziele
    • Aufgabe - Systemabsicherung Ubuntu
  • Lösungen
    • Tag 1
      • Lösung - Eigenschafter verschiedener Modi
      • Lösung - Partitionierung
      • Lösung - Einführung Betriebssysteme
      • Lösung - Eigenschafter von Dateisystemen
    • Tag 2
      • Lösung - Mindestanforderungen Betriebssysteme
    • Tag 3
    • Tag 4
      • Lösung - Windows Gruppen
    • Tag 5
Powered by GitBook
On this page
  • Multitasking
  • Multiprozessor-Betrieb
  • Multi-Threading
  • Multiuser
  • Auslagerung von Arbeitsspeicher
  1. TAG 1
  2. Betriebssysteme

Eigenschaften von Modernen Betriebssystemen

PreviousBetriebssystemeNextAufbau im Zwiebelschalenmodell

Last updated 1 year ago

Multitasking

Multitasking wird von allen modernen Betriebssystemen unterstützt und bedeutet, dass

beispielsweise ein Anwender in einem Textverarbeitungsprogramm Dokumente bearbeiten, während eine Datenbank im Hintergrund Daten sortiert. Der Vorteil ist offensichtlich, stellt aber für den Computer ein Problem dar, da der Prozessor grundsätzlich nur ein einziges Programm auf einmal ausführen kann. Die Lösung besteht darin, dass der Prozessor in rascher Folge zwischen den Programmen hin und her schaltet, und für den Benutzer somit ein Eindruck der Gleichzeitigkeit entsteht. Es wird daher ein Mechanismus für eine gerechte Zeitzuteilung an die Prozesse benötigt, damit die Prozesse nach einem Unterbruch problemlos weiterlaufen können. Schliesslich soll eine Aufgabe genau an der Stelle fortgesetzt werden können, an der sie unterbrochen wurde. Diese Umschaltung kostet jedes Mal einige Zeit und ist ein beträchtlicher Verwaltungsaufwand für das Betriebssystem.

Ein Prozess oder Task besteht aus einem aktiven gerade laufenden Programm im Arbeitsspeicher und den zugehörigen Zustands- und Steuerinformationen. Diese Informationen müssen beim Multitasking gespeichert und danach wiederhergestellt werden, damit der Prozess weiterlaufen kann. Unter anderem müssen die folgenden Daten für jeden Prozess gespeichert werden:

  • Geöffnete Dateien

  • Status der Peripheriegeräte

  • Aktuelles Verzeichnis

  • Speicherbereich des Prozesses und seiner Daten

Die einzelnen Prozesse werden abwechslungsweise auf dem Prozessor ausgeführt. Die Prozessorzeit wird hierbei in mehrere Zeitabschnitte eingeteilt. Ist ein Zeitabschnitt abgelaufen, entzieht das Betriebssystem dem aktuellen Prozess den Zugriff auf den Prozessor und gibt ihn an den nächsten Prozess weiter. Dieses Verfahren wird präemptives Multitasking genannt und von allen modernen Betriebssystemen eingesetzt. Die Priorität eines Prozesses, die teilweise auch vom Benutzer definiert werden kann, legt fest, wie viel Zeit einem Prozess zur Verfügung gestellt wird. Die Anwendungen selbst haben darauf keinen Einfluss.

Beim kooperativen Multitasking bestimmt der Prozess selbst, wann er die Kontrolle abgibt. Dieses Verfahren kann allerdings dazu führen, dass ein schlecht programmiertes, «abgestürztes» oder «bösartiges» Programm alle anderen Prozesse blockiert, weil es die Kontrolle nie übergibt. Deshalb wird es heute kaum mehr eingesetzt.

Zur Veranschaulichung sehen Sie unten zwei Programme A und B, die auf einem Multitasking-Betriebssystem laufen. Jedes Programm verfügt über drei Prozesse. Durch das Betriebssystem wird nun jedem Prozess reihum ein kurzer Zeitabschnitt zugeteilt, in dem er den Prozessor benutzen darf. Im Moment läuft gerade ein Prozess P1 des Programms A auf der CPU.

In der Realität sind die Zeitabschnitte nicht gleich lang. Deren Länge und Häufigkeit hängt von verschiedenen Faktoren wie der Prozesspriorität oder dem Prozesszustand ab. Z. B. erhält der Prozess keine CPU-Zeit, wenn er auf einen anderen Prozess wartet.

Multiprozessor-Betrieb

Computer mit mehreren Prozessoren können anfallende Arbeit aufteilen. Mit mehreren Prozessoren können tatsachlich auch mehrere Tasks gleichzeitig (einer pro Prozessor) ausgeführt werden. Wie gut die Arbeitsteilung funktioniert, hängt allerdings stark vom jeweiligen Betriebssystem und den eingesetzten Anwendungsprogrammen ab. Das hängt vor allem damit zusammen, dass Prozesse häufig aufeinander warten müssen und somit selten alle Prozessoren gleichzeitig voll arbeiten können. Je intelligenter ein Betriebssystem die Prozesse verteilt und je besser ein Programm auf den Multiprozessor-Betrieb optimiert ist, desto grösser ist der Leistungsgewinn. Multiprozessor-Betrieb bringt also mehr Rechenleistung, sie wächst jedoch nie direkt proportional mit der Anzahl Prozessoren. Mit anderen Worten: Zwei Prozessoren leisten nicht zweimal so viel wie ein einzelner Prozessor, drei Prozessoren leisten nicht dreimal so viel wie ein einzelner Prozessor etc.

In der untenstehenden Abbildung sehen Sie, dass bei zwei Prozessoren nun tatsächlich zwei Prozesse gleichzeitig ausgeführt werden (P1 von Programm A auf CPU1 und P1 von Programm B auf CPU2), wir haben hier also echtes Multitasking.

Multi-Threading

Aktuelle Betriebssysteme arbeiten zusätzlich zu Multitasking auch mit Multi-Threading. Multi-Threading ist eine Weiterentwicklung des Multitasking-Verfahrens. Dabei wird ein einzelner Prozess in mehrere gleichzeitig laufende Teilprozesse bzw. Threads unterteilt. Multi-Threading kann quasi als Multitasking innerhalb eines Tasks aufgefasst werden.

Multi-Threading erlaubt beispielsweise, dass der Benutzer innerhalb desselben Tasks einen Text erfasst, während im Hintergrund die Silbentrennung und die Rechtschreibprüfung laufen. Die Silbentrennung und die Rechtschreibprüfung entsprechen also einzelnen „Prozessfäden“ im Task der „Textverarbeitung“. Gleichzeitig können weitere Tasks wie z.B. ein Download on MP3-Dateien oder eine Datenbankabfrage im Gang sein.

Vorteile eines Multi-Threading Betriebssystems:

  • Threads sind so konzipiert, dass das Umschalten zwischen den einzelnen Threads viel schneller geht als zwischen laufenden Prozessen, da weniger interner Verwaltungsaufwand entsteht. Ein ㅤ Thread ist somit eine Art „Leichtgewichts-Prozess“.

  • Auf einem Multiprozessor-System kann die Verarbeitungsgeschwindigkeit beträchtlich gesteigert werden, weil der Hauptprozess Teilaufgaben an einem Thread abgeben kann und so entlastet wird.

Nachteile eines Multi Threading Betriebssystems:

  • Da Threads denselben Speicherbereich benutzen, können sie sich gegenseitig beeinflussen, stören oder gar zum Absturz bringen.

Multiuser

Ein Multiusersystem ist ein System auf dem mehrere Benutzer gleichzeitig arbeiten können. Dazu sollten die Benutzer fähig sein ihre Oberfläche zu personalisieren und Einstellungen vorzunehmen zu können. Auch muss festgelegt werden, welcher User auf dem System was ausführen darf.

Bekannte Beispiele von Multiusersystemen sind Windows RDS (Remote Desktop Service, früher Terminal Services) und Citrix XenApp.

Ein Windows Client Betriebssystem unterstützt keine Multiuserkonfiguration. Die meisten Linux Distributionen unterstützen eine Multiuserkonfiguration via SSH (Kommandozeilenverbindung über das Netzwerk).

Auslagerung von Arbeitsspeicher

Falls zu wenig RAM für alle Prozesse vorhanden ist, werden bestimmte Prozesse vom Arbeitsspeicher auf die Festplatte ausgelagert. Damit wird dem Prozessor mehr Speicher „vorgegaukelt“, als tatsächlich vorhanden ist. Dies ermöglicht es, sehr viele Tasks gleichzeitig auszuführen, führt jedoch dann beim Zugriff auf den ausgelagerten Speicher zu einer starken Verlangsamung, da der Zugriff auf die Festplatte viel langsamer ist als der Zugriff auf den Arbeitsspeicher.

Beim Paging werden einzelne Speicher-seiten von fester Grösse (z.B. 1 kB) ausgelagert; normalerweise wird die am längsten nicht benutzte Speicherseite ausgelagert. Somit kann es sein, dass vom Prozess 1 mehr als die Hälfte des geschriebenen Arbeitsspeichers auf der Festplatte liegen.

Wird ein solcher Speicherbereich wieder angesprochen, schreibt das System diesen wieder ins RAM.

Beim Swapping werden ganze Prozesse, die lange nicht mehr aktiv waren, auf die Festplatte ausgelagert. Werden ausgelagerte Prozesse wieder aktiv, schreibt das System diese wieder in das Memory. Heute wird meist ein swap-File ver-wendet.

In modernen Betriebssystemen werden meist beide Verfahren kombiniert eingesetzt.

Multitasking
Multiprozessor
Multithreading
T1 = Thread 1
Memory Paging
Memory Swapping