Betriebssystem

Aus Foxwiki
Version vom 26. Oktober 2024, 00:02 Uhr von Dirkwagner (Diskussion | Beiträge) (→‎Aufgaben)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Betriebssystem - Softwaresystem zur Verwaltung und Bereitstellung von Systemressourcen eines Computers

Beschreibung

Betriebssystem, Hardware, Anwendungssoftware und Benutzer

Ein Betriebssystem, auch OS (Operating System) genannt, ist eine Zusammenstellung von Computerprogrammen, die die Systemressourcen eines Computers wie Arbeitsspeicher, Festplatten, Ein- und Ausgabegeräte verwaltet und diese Anwendungsprogrammen zur Verfügung stellt

Das Betriebssystem bildet dadurch die Schnittstelle zwischen den Hardware-Komponenten und der Anwendungssoftware des Benutzers

Begriff „Betriebssystem“

Hier wird der Begriff „Betriebssystem“ hauptsächlich im Kontext „allgemein zur Informationsverarbeitung verwendete Computersysteme“ behandelt

  • Daneben sind Betriebssysteme (mit ggf. spezialisierter Funktionalität) grundsätzlich in nahezu allen Geräten im Einsatz, in denen Software betrieben wird (wie Spielecomputer, Mobiltelefone, Navigationssysteme, Maschinen der Maschinenbaubranchen u. v. a.)
  • Auch viele Steuerungssysteme (eingebettetes System) die z. B. in Flugzeugen, Autos, Zügen, oder in Satelliten zu finden sind, besitzen spezialisierte Betriebssysteme

Aufgaben

Aufgaben eines Betriebssystems
  • Benutzerkommunikation
  • Laden, Ausführen, Unterbrechen und Beenden von Programmen
  • Verwaltung und Zuteilung der Prozessorzeit
  • Verwaltung des internen Speicherplatzes für Anwendungen
  • Verwaltung und Betrieb der angeschlossenen Geräte
  • Schutzfunktionen z. B. durch Zugriffsbeschränkungen
Gewichtung

Die Gewichtung zwischen diesen Aufgaben wandelte sich im Laufe der Zeit, insbesondere wird Schutzfunktionen wie dem Speicherschutz oder begrenzten Benutzerrechten heute eine höhere Bedeutung zugemessen als noch in den 1990er Jahren

  • Dies macht Systeme allgemein robuster, reduziert z. B. die Zahl der Programm- und Systemabstürze und macht das System auch stabiler gegen Angriffe von außen, etwa durch Computerviren
Option Beschreibung
Speicherverwaltung
  • Verwaltung der Systemressource Hauptspeicher
  • Protokollierung der Speichernutzung
  • Reservierung und Freigabe von Speicher
(Prozess)-Verwaltung
  • Überwachung der Speicherzugriffe und gegebenenfalls Beenden von Prozessen bei einer Schutzverletzung
  • Erzeugung neuer Prozesse (entweder auf Anforderung des Betriebssystems oder auf Aufforderung anderer schon existierender Prozesse) und Reservierung des von den Prozessen benötigten Speichers
  • Kommunikation und Synchronisation von Prozessen untereinander (Interprozesskommunikation)
Geräte- und Dateiverwaltung
  • Effiziente Zuweisung von Ein-/Ausgabegeräten und Vermittlungseinheiten (Datenkanäle, Steuereinheiten), Vermeidung von Konflikten
  • Initiierung, Überwachung der Ausführung, Terminierung von Ein-/Ausgabevorgängen
  • Verwaltung des Dateisystems
  • Erzeugung eines Namensraums mit zugehörigen Speicherobjekten und gegebenenfalls weiteren Objekten ||
Rechteverwaltung
  • Voneinander unabhängige Benutzer/Programme dürfen sich gegenseitig nicht stören
Abstraktion Verbergen der Komplexität der Maschine vor dem Anwender
  • Abstraktion des Maschinenbegriffes:
    • Reale Maschine = Zentraleinheit + Geräte (Hardware)
    • Abstrakte Maschine = Reale Maschine + Betriebssystem
    • Benutzermaschine = Abstrakte Maschine + Anwendungsprogramm

Definitionen und Abgrenzung

Wesentliche Aufgaben

Ein Betriebssystem übernimmt zwei wesentliche Aufgaben, die im Grunde in keinem direkten Zusammenhang zueinander stehen

  • Die eine Aufgabe besteht darin, dem Anwendungsprogrammierer saubere Abstraktionen der Betriebsmittel zur Verfügung zu stellen (anstelle der unschönen Hardware)
  • Das Betriebssystem bietet somit eine leichter verständliche und besser handhabbare Schnittstelle zur eigentlichen Maschine an und „versteckt“ die Komplexität der darunterliegenden Maschine: „Der Ansprechpartner für den Programmierer ist also nicht mehr die wirkliche Maschine, sondern eine virtuelle Maschine (Betriebssystem), welche wesentlich einfacher zu verstehen und zu programmieren ist.“
Objekte

Das Betriebssystem erzeugt abstrakte Objekte, um die Komplexität beherrschbar zu machen

  • Ein Beispiel für eine solche Abstraktion ist die Datei
  • Diese kann beispielsweise in Form eines Digitalfotos, einer gespeicherten E-Mail-Nachricht oder einer Website vorliegen
  • Es ist auf jeden Fall einfacher, sich damit zu beschäftigen, als mit den Details von Festplattenspeichern
  • Die andere Aufgabe besteht darin, die Hardwareressourcen zu verwalten: „Ein Betriebssystem muss eine geordnete und kontrollierte Zuteilung von Prozessoren, Speichereinheiten und Peripheriegeräten unter den verschiedenen Programmen, welche darum konkurrieren, sicherstellen.“

Das Betriebssystem ordnet und kontrolliert die Allokation der Prozessoren, Speicher und Ein-/Ausgabegeräte und überwacht, welches Programm gerade welches Betriebsmittel nutzt

  • Liegen beispielsweise mehrere Aufträge für einen Drucker vor, so muss festgelegt werden, wie diese abgearbeitet werden
  • Auf einem modernen Betriebssystem können dadurch auch mehrere Programme gleichzeitig ausgeführt werden
  • Benutzen mehrere Anwender einen Computer oder ein Netzwerk, dann gewinnen Maßnahmen zur Verwaltung und zum Schutz von Speicher, Ein-/Ausgabegeräten und anderen Betriebsmitteln noch an Bedeutung
  • Die Benutzer würden sich sonst gegenseitig stören

Die Gesamtheit aller Programme und Dateien, die sämtliche Abläufe bei Betrieb eines Rechners steuern, wird Systemsoftware genannt

  • Dazu gehören Betriebssysteme, aber auch systemnahe Software wie Compiler, Interpreter und Editoren
  • Anwendungssoftware wie beispielsweise Browser oder Buchhaltungssoftware benutzen die Systemsoftware für einen ordnungsgemäßen Ablauf
  • In der Literatur wird der Begriff „Betriebssystem“ innerhalb der Systemsoftware unterschiedlich breit interpretiert

In der DIN-Sammlung 44300 (veraltet, ersetzt durch ISO/IEC 2382:2015 siehe: Liste der DIN-Normen/DIN 1–49999 unter DIN 44300) geht die Definition von seiner Aufgabe und Stellung in einer Programmhierarchie aus:

Zitat DIN 44300
Das Betriebssystem wird gebildet durch die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage die Grundlage der möglichen Betriebsarten des digitalen Rechensystems bilden und insbesondere die Ausführung von Programmen steuern und überwachen
Begriff Betriebssystem

Für Andrew S. Tanenbaum beschränkt sich der Begriff Betriebssystem im Wesentlichen auf den Kernel

„Editoren, Compiler, Assembler, Binder und Kommandointerpreter sind definitiv nicht Teil des Betriebssystems, auch wenn sie bedeutsam und nützlich sind.“

Viele Lehrbücher folgen dieser engeren Sichtweise

  • Andere Autoren zählen unter anderem auch eine Kommandosprache zum Betriebssystem: „Außer die Hardware zu verwalten […], bieten moderne Betriebssysteme zahlreiche Dienste an, etwa zur Verständigung der Prozesse untereinander, Datei- und Verzeichnissysteme, Datenübertragung über Netzwerke und eine Befehlssprache.“

Eine noch weitere Fassung des Begriffes, die beispielsweise auch Editoren und Compiler umfasst, geht zum Teil auf ältere Werke des deutschen Sprachraums zurück, lässt sich aber auch in aktueller Literatur noch finden

  • So zählen die Autoren des Informatik-Dudens auch Übersetzungsprogramme und Dienstprogramme zu den wesentlichen Komponenten eines Betriebssystems
  • In jüngerer Zeit kann der GNU/Linux-Namensstreit als Beispiel für die Abgrenzungsprobleme angesehen werden

Der Begriff des Betriebssystems ist in Artikel 3 der Richtlinie (EU) 2019/882 legal definiert

Ungeachtet dessen, wie weit oder wie eng man den Begriff „Betriebssystem“ fasst, enthalten die Installationsmedien für Betriebssysteme für gewöhnlich zusätzliche Dienst- und Anwendungsprogramme


Anhang

Siehe auch


Links

Weblinks
  1. https://de.wikipedia.org/wiki/Betriebssystem
  2. Informationen zu allen Betriebssystemen
  3. Lowlevel – Wiki und Forum zur Betriebssystementwicklung (Online)