Evolution von Betriebssystemen: Hardware, Generationen und Kernfunktionen

Eingeordnet in Informatik

Geschrieben am in Deutsch mit einer Größe von 11,82 KB

Einführung: Hardware- und Technologieentwicklung

Die Entwicklung der Hardware (in Generationen) war eng mit technologischen Änderungen der Komponenten verbunden:

  • Ventile (1. Generation)
  • Transistoren (2. Generation)
  • Integrierte Schaltkreise (3. Generation)
  • Große integrierte Schaltungen und sehr großer Skalierung (4. Generation)

Generationen der Evolution von Betriebssystemen

Generation 0 (ca. 1940)

Computational Systems ohne Betriebssystem (OS):

  • Nutzer hatten direkten Zugriff auf Maschinensprache.
  • Manuelle Codierung und Überarbeitung.
  • Verwendung von Lochkartenmaschinen und Assembler.

1. Generation (ca. 1950)

Frühe Betriebssysteme, konzipiert für den Wandel:

  • Batch-Verarbeitung: Kontrolle über die Maschine, dann das Betriebssystem, Sauberkeit und Beginn einer neuen Ära.

2. Generation (Mitte der 1960er Jahre)

OS-Entwicklung und gemeinsame Grundsätze:

  • Multiprogramming und Multiprocessing.
  • Nutzer arbeiteten über Terminals.
  • Echtzeitsysteme für die industrielle Prozesskontrolle.

3. Generation (Mitte der 1960er bis Mitte der 1970er Jahre)

  • Start mit System/360 von IBM im Jahr 1964.
  • Multi-Modus-Systeme: Batch-Verarbeitung, Time-Sharing, Echtzeitverarbeitung, Multithreading.

4. Generation (Hälfte der 1970er Jahre bis heute)

  • Einführung von Personal Computern (PCs).
  • Entstehung von Computernetzwerken.
  • Betriebssysteme mit einfacher Benutzeroberfläche.
  • Erscheinen des Client-Server-Modells.

Entwicklung der Konzepte im Zusammenhang mit Betriebssystemen

1940er Jahre: Serielle Verarbeitung

  • Serieller Schichtprozess.
  • Programmierung in Maschinensprache.

1950er Jahre: Resident Monitor und Batch

  • Resident Monitor.
  • Batch-Verarbeitung.
  • Zwischenspeicher (Puffer, Spooling).

1960er Jahre: Multiprogramming und Time-Sharing

  • Multiprogramming.
  • Time-Sharing und Echtzeitverarbeitung.
  • Multiprozessor-Systeme.
  • Wichtige Betriebssysteme: Atlas Supervisor, OS/360, Unix (NACE).

1970er Jahre: Allzweck-Computing

  • Allzweck-Computing-Systeme.
  • Einführung von Sprachen wie Pascal und C (für Unix-Code verwendet).
  • Wichtige Betriebssysteme: MULTICS (MIT, GE), MVS (Multiple Virtual Storage für Großrechner), CP/M (Control Program Monitor von Gary Kildall für Intel 8080/85, OS für PCs).

1980er Jahre: Grafische Benutzeroberflächen

  • OS mit grafischer Oberfläche (GUI).
  • MS-DOS (Microsoft für IBM-PC mit Intel 8088 und Nachfolger, 1981), integriert in spätere Windows-Versionen bis 7.1.
  • Unix für Computer mit Motorola 68000 Prozessor.
  • Apple Macintosh (Januar 1984) mit GUI.
  • Microsoft Windows (Bill Gates und Paul Allen): Zuerst auf DOS laufend, später eigenständige OS wie Windows XP und Vista.

1990er Jahre: Internet und Open Source

  • Erste Version des Linux-Kernels 1991 durch Linus Torvalds und Mitarbeiter.
  • Aufkommen des Internets.
  • Entwicklung von Befehls- und grafischen Modi (Window-Manager wie KDE, GNOME).
  • GNU/Linux-Anwendungen mit 3D-Umgebungen.

Software-Kategorien

Software kann in zwei Hauptkategorien eingeteilt werden:

System-Software

Eine Sammlung von Programmen, die für die interne Verwaltung des Computers verantwortlich sind. Sie verwalten EDV-Ressourcen (Speicher, CPU, Peripherie, Daten) und unterstützen andere Programme (Betriebssysteme, Compiler, Dolmetscher und Dienstprogramme wie Kompressoren, Virenscanner etc.).

Anwendungs-Software

Programme, die zur Durchführung spezifischer Aufgaben, genannt Anwendungen, dienen (Standard-Software oder integrierte Pakete).

Betriebssystem (OS)

Sammlung von Programmen und Funktionen, die die Details der Hardware-Funktionsweise verbergen und dem Anwender eine einfache und flexible Zugriffsmöglichkeit auf den Computer bieten. Es verwaltet die von der Hardware bereitgestellten Ressourcen, um eine effiziente Leistung zu gewährleisten.

Beispiele für Betriebssysteme: MS DOS (Disk Operating System), Windows 95, 98.

OS-Dienste

  • Ausführen von Programmen.
  • Input/Output-Operationen.
  • Dateiverwaltung.
  • Fehlererkennung.
  • Ressourcenzuweisung.
  • Accounting (Registrierung oder Buchung).
  • Schutz.

Anwendungssoftware im Detail

Standard-Software ist sofort einsatzbereit auf dem Markt erhältlich. Anwendungen reichen von Freizeit (Spiele) bis hin zu Buchhaltungsanwendungen (z.B. Lagerkontrollsysteme, Gehaltsabrechnung).

Office-Anwendungen umfassen:

  • Textverarbeitungsprogramme (Word Processors).
  • Tabellenkalkulationen.
  • Datenbank- und Dateiverwaltung.
  • Bild- und Grafikbearbeitung.
  • Kommunikationsmanagement.

Custom-Software (Maßgeschneiderte Software)

Spezielle Anwendungen, die von Computerprofis erstellt wurden (z.B. Inventarkontrollsysteme, Flugsicherungssysteme, Verkaufssysteme).

Rollen und Ziele von Betriebssystemen

Betriebssysteme sind primär Ressourcen-Manager, die die wichtigste Ressource – die Computer-Hardware (Prozessoren, Massenspeicher, Ein-/Ausgabegeräte und Datenkommunikation) – verwalten.

Ein Betriebssystem ist ein Programm, das als Vermittler zwischen dem Benutzer und der Computer-Hardware fungiert. Sein Ziel ist es, eine Umgebung bereitzustellen, in der Benutzerprogramme ausgeführt werden können.

Das Hauptziel eines Betriebssystems ist die komfortable Nutzung des EDV-Systems; das sekundäre Ziel ist die effiziente Nutzung der Computer-Hardware.

Klassifizierung von Betriebssystemen

1. Nach der Struktur (Innenansicht)

  • Monolithische Struktur.
  • Hierarchische Struktur.
  • Virtuelle Maschine.
  • Client-Server (Microkernel).

2. Nach den angebotenen Diensten (Sicht des Endbenutzers)

  • Nach Anzahl der Nutzer: Single-User oder Multiuser.
  • Nach Anzahl der Aufgaben: Single-Task oder Multitasking.
  • Nach Anzahl der Prozessoren: Uniprozessor oder Multiprozessor.

3. Nach der Art der Dienstleistungsanbietung (Außenansicht)

  • Netzwerkbetriebssysteme.
  • Verteilte Betriebssysteme.

Ressourcen, die vom Betriebssystem verwaltet werden

1. Prozessmanagement

Eines der wichtigsten Module eines Betriebssystems verwaltet Prozesse und Aufgaben des EDV-Systems. Dies beinhaltet Planung und die Behandlung von Parallelität.

2. Speichermanagement (Memory-Management)

Der Speicher-Manager ist eine Schlüsselkomponente des Betriebssystems, dessen Aktivitäten hauptsächlich auf das Management der Speicherressource abzielen.

3. Kommunikation und Synchronisation zwischen Prozessen

Prozesse sind isolierte Einheiten, um die Sicherheit zu gewährleisten. Bei komplexen Arbeiten, die in mehrere kooperierende Prozesse unterteilt sind, müssen diese kommunizieren und Daten sowie Befehle synchronisieren. Das Betriebssystem muss Kommunikations- und Synchronisationsdienste bereitstellen, ohne die Sicherheitsstrukturen zu verletzen.

4. Verwaltung der E/A (Input/Output)

Eine Hauptfunktion des Betriebssystems ist die Verwaltung von EDV-Ressourcen, insbesondere der Peripheriegeräte. Der E/A-Manager kontrolliert die gesamte Funktion der E/A.

5. Verwaltung von Dateien und Verzeichnissen

Der Dateiserver ist Teil des Betriebssystems und deckt eine der vier Funktionsklassen ab, die die erweiterte Maschine charakterisieren.

  • Ziele der Dateiverwaltung:
  • Erleichterung der Verwaltung von Peripheriegeräten durch eine vereinfachte logische Sicht als Archive.
  • Schutz der Benutzer durch Beschränkungen für Dateien, die jeder Benutzer verwalten kann.
  • Dienste des Dateiservers: Verwaltung von Daten (Dateien) und gezielte Verwaltung von Namen (Verzeichnisse).
  • Speicherbegriffe:
  • Referat: Identifizierung eines sekundären Speichergeräts.
  • Ordner (Folder): Logisches Laufwerk auf einem sekundären Speichermedium zur Gruppierung von Dateien und/oder Anwendungen.
  • Datei: Datensatz, der sich auf einem sekundären Speicher befindet.

Funktionen des Betriebssystems

  • Bequemlichkeit (Convenience).
  • Effizienz.
  • Entwicklungsmöglichkeit.
  • Verantwortlich für die Verwaltung der Hardware.
  • Anschließen von Geräten (durch den Kernel verwaltet).
  • Organisation von Daten für schnellen und sicheren Zugriff.
  • Verwaltung der Netzwerkkommunikation.
  • Byte-Verarbeitung über den Datenbus.
  • Bereitstellung von Ein- und Ausgängen.
  • Fehlerbehebungstechniken (Error Recovery).
  • Verhindern von Störungen durch andere Prozesse.
  • Generierung von Statistiken.
  • Ermöglicht das Teilen von Hardware und Daten unter den Benutzern.

Kern (Kernel) und OS-Ebenen

Der Kernel ist der Hauptteil des Betriebssystemcodes, verantwortlich für die Überwachung und Verwaltung von Diensten sowie für die Ressourcen- und Hardwareverwaltung in Bezug auf einen oder mehrere Prozesse. Er ist der Kern des Betriebssystems.

  1. Level 1: Speichermanagement (Memory Management).
  2. Level 2: Prozessorverwaltung.
  3. Level 3: Input/Output-Verwaltung.
  4. Level 4: Anwendung und Sprachinterpreter.
  5. Level 5: Dateikontrolle (File Control).

Kernfunktionen

  • Interrupt-Verarbeitung.
  • Erstellung und Zerstörung von Prozessen.
  • Änderung des Prozessstatus.
  • Prozess-Scheduling (Office im Originaltext, hier als Scheduling interpretiert).
  • Aussetzung und Wiederaufnahme von Prozessen.
  • Prozesssynchronisation.
  • Kommunikation zwischen Prozessen.
  • Handhabung von Prozesskontrollblöcken (PCB).
  • Unterstützung für E/A-Aktivitäten.
  • Unterstützung für die Zuweisung und Freigabe von Speicher.
  • Unterstützung des Dateisystems.
  • Unterstützung für den Aufruf- und Rückkehrmechanismus eines Prozesses.
  • Unterstützung für bestimmte Accounting-Funktionen des Systems.

Prozessor-Management

  • Definition und Konzept von Prozessen.
  • Der Process Control Block (PCB) als Abbild, das das Betriebssystem vom Status des Prozesses erhält.
  • Zustände, die ein Prozess während seiner Existenz auf dem Computer durchläuft.
  • Klassifikation von Prozessen nach ihrer Ausführungsform, Ladung usw.

Prozessdefinition

Ein Prozess ist ein laufendes Programm, verbunden mit seiner Umgebung (Register, Variablen etc.). Ein Prozess manifestiert sich im Betriebssystem durch einen Prozess-Control-Block (PCB) oder Prozess-Deskriptor.

Elemente im PCB enthalten

Identifikation des Prozesses

  1. ID dieses Prozesses.
  2. Identifikator des Prozesses, der diesen Prozess erstellt hat (der 'Elternprozess').
  3. User-ID.

Prozessor-Statusinformationen

  • Für den Benutzer sichtbare Register.

Prozesskontrollinformationen

  • Stack Pointer.
  • Planungs- und Statusinformationen.
  • Datenstrukturierung.
  • Kommunikation zwischen Prozessen.
  • Prozessprivilegien.
  • Speichermanagement.
  • Eigentum und Nutzung von Ressourcen.

Verwandte Einträge: