Einführung in Betriebssysteme

Ein Betriebssystem (OS) ist die Software, die Computerhardware mit Benutzeranwendungen verbindet. Es verwaltet sowohl die Hardware-Ressourcen des Computers als auch die Ausführung von Programmen.

Operating System

Quelle: wikipedia.org

Grundlegende Funktionen eines Betriebssystems:

Diese Funktionen sind entscheidend für die Leistungsfähigkeit und Effizienz von Computern und beeinflussen, wie Benutzer mit ihren Geräten interagieren.

Typen von Betriebssystemen

Betriebssysteme lassen sich in verschiedene Kategorien einteilen, basierend auf ihrer Struktur und den spezifischen Anforderungen, die sie erfüllen:

Typ Charakteristika Beispiele
Batch-Betriebssysteme Keine direkte Interaktion mit dem Computer; Aufgaben werden in Stapeln verarbeitet. IBM OS/360
Zeitscheiben-Betriebssysteme Teilt die CPU-Zeit in Scheiben und weist sie den Prozessen zu, um die Reaktionszeit zu verbessern. Windows, Linux
Echtzeit-Betriebssysteme Garantiert die Ausführung von Aufgaben in Echtzeit; häufig in eingebetteten Systemen verwendet. VxWorks, RTLinux
Netzwerkbetriebssysteme Verwaltet Netzwerke, Benutzer, Sicherheit und Ressourcen zwischen Computern in einem Netzwerk. Novell NetWare, Windows Server

Diese Einteilung hilft zu verstehen, wie verschiedene Betriebssysteme für spezifische Aufgaben oder Umgebungen optimiert werden können.

Betriebssysteme nach Endgeräten

Betriebssysteme variieren je nach Einsatzbereich und den spezifischen Anforderungen der Geräte, auf denen sie laufen.

Anwendungen und Anforderungen

Technische Systemsteuerung (Embedded Systems)

Anwendungen umfassen Überwachung, Steuerung und Regelung technischer Systeme, Daten- und Signalverarbeitung, sowie Internet of Things (IoT).

Beispiele: VxWorks, Embedded Linux

Embedded Systems in Automobile

Quelle: wikipedia.org

Mobile Geräte

Zu den Anwendungen zählen Video-, Foto-, Audio-Darstellungen, Telefonie und Geo-Dienste.

Beispiele: Android, iOS

Smartphones

Quelle: pixabay.com

Desktop-Computer

Anwendungen beinhalten Textverarbeitung, E-Mail, Web-Browser und Spiele.

Beispiele: MS Windows, MacOS, Linux

Microsoft Logo

Quelle: pixabay.com

Ubuntu Logo

Quelle: wikipedia.org

MacOS Logo

Quelle: wikipedia.org

Server

Geschäftskritische Anwendungen großer Unternehmen (z.B. Banken, Versicherungen) und Cloud-Computing sind typische Anwendungsfelder.

Beispiele: z/OS (früher MVS), Linux, Unix-Derivate

Schichtaufbau von Betriebssystemen

Basic Structure of Operating System

Quelle: operating-system.org

Der Schichtaufbau eines Betriebssystems ermöglicht eine strukturierte und modulare Entwicklung, bei der jede Schicht auf den Diensten der darunter liegenden Schicht aufbaut.

Schichtenmodell

Dieses Modell teilt das Betriebssystem in mehrere Ebenen ein, wobei jede Ebene spezifische Funktionen erfüllt:

  1. Hardware: Die unterste Ebene besteht aus der physikalischen Hardware des Computersystems, einschließlich Prozessoren, Speichermedien und Peripheriegeräten.
  2. Hardware Abstraktionsschicht (HAL): Diese Schicht verbirgt die Details der Hardware vor den höheren Schichten und bietet eine einheitliche Schnittstelle zu den Gerätetreibern.
  3. Kernel: Der Kern des Betriebssystems, der grundlegende Dienste wie Speicherverwaltung, Prozesssteuerung und Gerätetreiber-Management bereitstellt.
  4. Mittlere Schicht: Enthält Dienste für Dateisysteme, Netzwerkkommunikation und Sicherheitsmechanismen.
  5. Anwendungsschnittstelle: Diese Schicht bietet APIs für die Entwicklung von Anwendungen und gewährleistet die Interaktion mit dem Betriebssystem.
  6. Anwendungen: Die oberste Ebene, die aus Benutzeranwendungen besteht, die auf den Diensten und Schnittstellen des Betriebssystems aufbauen.

Vorteile des Schichtenaufbaus

Verwaltung von Prozessen

Prozesszustände

Quelle: eduloop.de

Prozessplanung und Multitasking sind zentrale Aspekte moderner Betriebssysteme. Sie ermöglichen es, dass mehrere Programme gleichzeitig auf einem Computer ausgeführt werden können, indem Prozessorzeit effizient zwischen den verschiedenen Prozessen aufgeteilt wird.

Prozessplanung: Dieser Vorgang bestimmt, welcher Prozess als nächstes die CPU nutzen darf. Diese Entscheidung basiert auf Prioritäten und Prozesszuständen, um eine optimale Leistung zu gewährleisten.

Multitasking: Durch das Multitasking können Benutzer mehrere Aufgaben gleichzeitig ausführen, was die Nutzung von Anwendungen wie Browsern, Texteditoren und Mediaplayern parallel ermöglicht.

Aufgabe 1

Beobachten Sie, wie Prozesse auf Ihrem Computer mithilfe eines Systemüberwachungstools verwaltet werden. Versuchen Sie, die Aktivität verschiedener Anwendungen zu verfolgen und festzustellen, wie die CPU-Last zwischen ihnen verteilt wird. Nutzen Sie Tools wie den Task-Manager in Windows oder das Aktivitätsanzeige-Tool in macOS.

Teilen Sie diese Erkenntnisse in Ihrem E-Portfolio

Speichermanagement

OS Memory Management

Quelle: guru99.com

Das Speichermanagement ist eine fundamentale Funktion des Betriebssystems, die sicherstellt, dass jeder Prozess und jede Anwendung den benötigten Speicherplatz erhält und effizient verwaltet wird.

Speicherzuweisung: Betriebssysteme teilen den verfügbaren Speicher dynamisch zu, um die Anforderungen laufender Prozesse zu erfüllen. Dies umfasst die Zuweisung von Arbeitsspeicher (RAM) und anderen Speicherressourcen.

Paging: Diese Technik hilft, den physischen Speicher in kleine, gleich große Blöcke aufzuteilen, genannt Seiten. Paging ermöglicht es dem Betriebssystem, Speicherseiten effizient zwischen dem physischen Speicher und der Festplatte zu verschieben, was den virtuellen Speicher erweitert.

Segmentation: Ein alternativer Ansatz zur Speicherverwaltung, bei dem der Speicher in Segmente unterschiedlicher Größe aufgeteilt wird. Jedes Segment kann einem bestimmten Zweck dienen, wie z.B. dem Code eines Programms oder dessen Daten.

Dateisystem und Verwaltung

Das Dateisystem eines Betriebssystems organisiert und verwaltet den Zugriff auf Daten, die auf Speichermedien wie Festplatten oder SSDs gespeichert sind.

Arten von Dateisystemen: Unterschiedliche Betriebssysteme unterstützen verschiedene Dateisysteme, wie NTFS für Windows, EXT für Linux oder APFS für macOS. Diese Dateisysteme unterscheiden sich in Effizienz, Sicherheit und Kompatibilität.

Organisation: Ein Dateisystem verwaltet Informationen über Dateien und Verzeichnisse, einschließlich ihres Speicherorts, ihrer Größe und ihrer Zugriffsrechte. Diese Informationen sind entscheidend für die schnelle Lokalisierung und sichere Verwaltung der Daten.

Dateiverwaltung: Betriebssysteme bieten Tools zur Dateiverwaltung, die das Erstellen, Verschieben, Kopieren und Löschen von Dateien ermöglichen. Effektive Dateiverwaltung unterstützt auch die Wiederherstellung von Daten im Falle von Systemfehlern oder Datenverlust.

Aufgabe 2: Dateisystem erkunden

Untersuchen Sie das Dateisystem Ihres Betriebssystems. Identifizieren Sie, wie Dateien organisiert und verwaltet werden. Erkunden Sie, welche Art von Dateisystem verwendet wird und wie Sie auf Dateiattribute wie Größe, Typ und Änderungsdatum zugreifen können.

Ein- und Ausgabe-Systeme

Buffering in Operating System

Quelle: javatpoint.com

Ein- und Ausgabe-Systeme (E/A-Systeme) sind ein wesentlicher Bestandteil jedes Betriebssystems, die die Kommunikation zwischen der Hardware und den durch das Betriebssystem verwalteten Prozessen ermöglichen.

Diese Mechanismen gewährleisten eine reibungslose und effiziente Verarbeitung von Eingabe- und Ausgabeanforderungen und sind entscheidend für die Systemleistung und Benutzerfreundlichkeit.

Sicherheitsaspekte von Betriebssystemen

Image from Vogel

Quelle: vogel.de

Die Sicherheit von Betriebssystemen ist von grundlegender Bedeutung, um Schutz vor internen und externen Bedrohungen zu gewährleisten. Dazu gehören verschiedene Mechanismen und Strategien, die das System gegen unbefugten Zugriff und Malware absichern.

Diese Sicherheitsfunktionen sind entscheidend, um das Betriebssystem und die darauf laufenden Anwendungen vor verschiedenen Arten von Cyberangriffen zu schützen.

Netzwerkfähigkeiten und verteilte Systeme

Netzwerk Infrastruktur

Quelle: cnag.de

Betriebssysteme spielen eine zentrale Rolle in der Vernetzung und Kommunikation zwischen Computern. Sie bieten die notwendige Infrastruktur, um Netzwerkfunktionen effizient zu unterstützen und verteilen Aufgaben und Ressourcen über mehrere Maschinen hinweg.

Diese Fähigkeiten sind entscheidend für die Unterstützung von verteilten Systemen, in denen Aufgaben und Daten über mehrere Computer verteilt werden, um Effizienz und Zuverlässigkeit zu verbessern.

Aufgabe 3: Netzwerkstatus überprüfen

Führen Sie eine einfache Überprüfung des Netzwerkstatus auf Ihrem Computer durch. Nutzen Sie dazu das Betriebssystem-eigene Tool zur Anzeige von Netzwerkdetails. Ziel ist es, Grundinformationen wie IP-Adresse, Subnetzmaske und Standardgateway zu identifizieren.

Diese Aufgabe hilft Ihnen, die grundlegenden Netzwerkfunktionen Ihres Betriebssystems besser zu verstehen und wie Sie auf diese Informationen zugreifen können.