Betriebssysteme

Ein Betriebssystem ist die Software, die die Verwendung (den Betrieb) eines Computers ermöglicht. Es verwaltet Betriebsmittel wie Speicher, Ein- und Ausgabegeräte und steuert die Ausführung von Programmen.

 

Betriebssystem heißt auf Englisch operating system (OS). Dieser englische Ausdruck kennzeichnet den Sinn und Zweck: Die in den Anfängen der Computer stark mit schematischen und fehlerträchtigen Arbeiten beschäftigten Operatoren schrieben Programme, um sich die Arbeit zu erleichtern; diese wurden nach und nach zum operating system zusammengefasst.

 

Betriebssysteme bestehen in der Regel aus einem Kern (englisch: Kernel), der die Hardware des Computers verwaltet, sowie grundlegenden Systemprogrammen, die dem Start des Betriebssystems und dessen Konfiguration dienen.

 

Unterschieden werden Einbenutzer- und Mehrbenutzersysteme, Einzelprogramm- und Mehrprogrammsysteme, Stapelverarbeitungs- und Dialogsysteme. Betriebssysteme finden sich in fast allen Computern: als Echtzeitbetriebssysteme auf Prozessrechnern, auf normalen PCs und als Mehrprozessorsysteme auf Servern und Großrechnern.

 

Im PC-Bereich sind derzeit die meistgenutzten Betriebsysteme die verschiedenen Varianten von Microsoft Windows, Apple Mac OS X, Linux (GNU-Lizenz), OS/2 bzw. eComstation sowie BSD-Unix. Für spezielle Anwendungen (Beispiel: industrielle Steuerung) werden auch experimentelle Betriebssysteme für Forschungs- und Lehrzwecke eingesetzt.

 

Neben den klassischen Varianten gibt es noch spezielle Betriebssysteme für verteilte Systeme, bei denen zwischen dem logischen System und den physikalischen System(en) unterschieden wird. Der logische Rechner besteht aus mehreren physikalischen Rechnereinheiten. Viele Großrechner, Numbercruncher und die legendären Systeme aus dem Hause Cray arbeiten nach diesem Prinzip. Eine der bekanntesten Betriebssysteme im Bereich verteilte Systeme ist Amoeba.

 

Die Aufgaben des Betriebssystems lassen sich mit den folgenden Stichworten zusammenfassen:

 

  • Benutzerführung
  • Laden und Unterbrechung von Programmen
  • Verwaltung der Prozessorzeit
  • Verwaltung des Speicherplatzes für Anwendungen
  • Verwaltung der angeschlossenen Geräte
  • Bereitstellung von Dienstprogrammen (im Unterschied zu Anwendungsprogrammen)

Dienstprogramme und Anwendungsprogramme

 

Die meisten Betriebssysteme enthalten Dienstprogramme, auch Utilities oder Werkzeuge (Tools) genannt. Sie ermöglichen dem Benutzer bzw. Systemverwalter die Bearbeitung allgemeiner sowie systemnaher Aufgaben. Dazu gehören unter anderem Editoren, Kopierprogramme, Benutzerverwaltungsprogramme, Systemüberwachungsprogramme und Werkzeuge zur Datensicherung.

 

Anwendungsprogramme zählen in der Regel nicht zum eigentlichen Betriebssystem. Sie stammen entweder vom Hersteller des Systems oder von anderen Anbietern. Anwendungsprogramme können auch mit dem Betriebssystem ausgeliefert werden (Beispiele: Viele Programme in Linux-Distributionen oder der Internet-Explorer als Teil von Microsoft Windows).

 

Betriebsmittelverwaltung und Abstraktion

 

Als Betriebsmittel oder Ressourcen bezeichnet man alle von der Hardware eines Computers zur Verfügung gestellten Komponenten, also den Prozessor (bei Mehrprozessorsystemen natürlich die Prozessoren), den physikalischen Speicher und alle Geräte wie Festplatten-, Disketten- und CD-ROM-Laufwerke, Netzwerk- und Schnittstellenadapter und andere. Die Hardware Compatibility List enthält alle Hardware-Produkte die im Zusammenhang mit einem bestimmten Betriebssystem auf ihre Funktionalität hin getestet wurden.

 

Einführendes Beispiel: Zeitgeberbausteine

 

Moderne Rechnersysteme besitzen Zeitgeberbausteine (Timer). In frühen PCs wurde z.B. der Baustein 8284 der Firma Intel eingesetzt. Dieser Baustein muss zunächst initialisiert werden. Er kann dann nach Ablauf einer Zeitspanne oder periodisch den Prozessor unterbrechen und ihn zur Abarbeitung einer eigenen Routine veranlassen. Neben der Initialisierung ist eine Unterbrechungsroutine zu erstellen, deren Aufruf in einer dafür geeigneten Sprache (meist Assembler) programmiert werden muss. Da Unterbrechungen asynchron auftreten, sind komplexe Verhältnisse hinsichtlich der Datenstrukturen zu berücksichtigen. Genaue Kenntnisse des Bausteins (Datenblatt), der Computerhardware (Unterbrechungsbehandlung) und des Prozessors sind erforderlich. Die einzelnen Komponenten, die an diesem Prozess beteiligt sind, fasst man unter dem Begriff Rechnerarchitektur zusammen.

 

Virtuelle Prozessoren

 

Ein modernes Mehrprogrammbetriebssystem verwendet einen solchen Zeitgeberbaustein um den normalerweise einzigen Prozessor periodisch (normalerweise im Millisekundenbereich) zu unterbrechen und eventuell mit einem anderen Programm fortzufahren (so genanntes präemptives Multitasking). Die Initialisierung und die Unterbrechungsroutine werden dabei vom Betriebssystem implementiert. Auch wenn nur ein einzelner Prozessor zur Verfügung steht, können mehrere Programme ausgeführt werden, jedes Programm erhält einen Teil der Prozessorzeit (Scheduling). Jedes Programm verhält sich, bis auf die verlangsamte Ausführungszeit, so als hätte es einen eigenen virtuellen Prozessor.

 

Virtuelle Zeitgeber

 

Über einen Systemruf, z. B. alarm, wird jedem Programm darüber hinaus ein eigener virtueller Zeitgeber zur Verfügung gestellt. Das Betriebssystem zählt die Unterbrechungen des Original-Zeitgebers und informiert Programme, die den alarm-Systemruf verwendeten. Die einzelnen Zeitpunkte werden über eine Warteschlange verwaltet.

 

Abstraktion

 

Die Hardware des Zeitgebers ist damit vor den Programmen verborgen. Ein System mit Speicherschutz erlaubt den Zugriff auf den Zeitgeberbaustein nur über den Kernel und nur über exakt definierte Schnittstellen (meist Systemrufe genannt, die über spezielle Prozessorbefehle wie TRAP, BRK, INT realisiert werden). Kein Programm kann somit das System gefährden, die Verwendung des virtuellen Zeitgebers ist einfach und portabel. Der Anwender oder Programmierer braucht sich nicht um die (komplexen) Details zu kümmern.

 

Virtualisierung weiterer Betriebsmittel

 

So wie Prozessoren und Zeitgeber virtualisiert werden, ist dies auch für alle anderen Betriebsmittel möglich. Dabei werden einige Abstraktionen teilweise nur als Software implementiert, andere erfordern spezielle Hardware.

 

Dateisysteme

 

Über Dateisysteme werden die Details der externen Speichersysteme (Festplatten-, Disketten- oder CD-ROM-Laufwerke) verborgen. Dateinamen und Verzeichnisse erlauben den bequemen Zugriff, die eigentlich vorhandene Blockstruktur und die Geräteunterschiede sind vollkommen unsichtbar.

 

Interner Speicher

 

Der interne Speicher (RAM) wird in Blöcke (Kacheln) aufgeteilt und den entsprechenden Programmen zur Verfügung gestellt. Über virtuellen Speicher wird bei vielen Systemen jedem Programm ein kontinuierlicher Bereich zur Verfügung gestellt. Dieser Speicher ist physikalisch nicht kontinuierlich, es können sogar unbenutzte Teile auf den externen Speicher ausgelagert sein. Der virtuelle Speicher eines Programms kann sogar größer als der reale Speicher sein.

 

Netzwerk

 

Die Details der Netzwerkzugriffe werden verborgen, indem auf die eigentliche Hardware (Netzwerkkarte) ein Protokollstapel aufgesetzt wird. Die Netzwerksoftware erlaubt beliebig viele virtuelle Kanäle. Auf der Ebene der Sockets (Programmierung) ist die Netzwerkkarte vollkommen unsichtbar, das Netzwerk hat viele neue Fähigkeiten (bidirektionale, zuverlässige Datenströme, Adressierung, Routing) bekommen.

 

Bildschirm

 

Als Grafische Benutzeroberfläche (GUI, grafisches Benutzerinterface) wird generell eine Bildschirmausgabe beschrieben, wenn sie über einen Prompt hinausgeht. Mit den richtigen Grafikkarten und Bildschirmen ist die Darstellung von geometrischen Objekten (Linien, Kreisen, Ellipsen, aber auch Schriftattributen und Farben) auf dem Bildschirm möglich, aus denen sich komplexere geometrische Elemente wie Knöpfe, Menüs, etc. Benutzeroberflächen zum einfachen Steuern von Programmen erstellen lassen.

 

Die Grafikkarte als Hardware ist für den Programmierer und Anwender vollkommen verborgen.

 

Das erste Betriebssystem (1980)

 

Die ersten Rechner besaßen keine Betriebssysteme. Dies lag einerseits in deren Bauweise (mechanische Rechenmaschinen wie Abacus, Rechenschieber usw.) oder an ihrem stark eingeschränkten Einsatzgebiet (Mark I, ENIAC, Colossus). Mit der Erfindung und dem Einsatz des Transistors (1947) und der Erfindung der Mikroprogrammierung 1955 durch Maurice Wilkes wurden in der Folge nicht mehr Einzelmaschinen, sondern ganze Modellreihen eingesetzt. Jeder Hersteller lieferte zu dieser Zeit sogar für verschiedene Modellreihen seiner Produkte verschiedene Betriebssysteme, so dass Programme nur auf einer bestimmten Modellreihe liefen und weder zwischen verschiedenen Computer noch über verschiedene Generationen portierbar waren.

 

Mit der Einführung der Modellreihe System/360 von IBM führte IBM 1964 das Betriebssystem OS/360 ein. Es war das erste Betriebssystem, das modellreihen-übergreifend eingesetzt wurde. Ab 1963 wurde Multics in Zusammenarbeit von MIT, General Electric und den Bell Labs von AT&T entwickelt, das jedoch erst ab 1969 bis 2000 im Einsatz war. Multics wurde in PL/1 programmiert. Inspiriert von den Arbeiten an Multics startete eine Gruppe um Ken Thompson und Dennis Ritchie an den Bell Laboratories von AT&T 1969 mit der Entwicklung von Unix. Unix wurde in den Jahren 1972–1974 bis auf wenige Teile in der höheren Programmiersprache C mit dem Ziel der Portabilität neu implementiert. Zu dieser Zeit war auch das Betriebssystem CP/M weit verbreitet.

 


Seminarfinder

Suchwort:

Suchen in:

heise online News
Nachrichten nicht nur aus der Welt der Computer

In der aktuellen Consumer Preview von Windows 8 laufen Desktop-Programme noch in der gewohnten Aero-Bedienoberfläche. Das wird sich aber ändern, wie ein Blogbeitrag von einem Microsoft-Mitarbeiter verdeutlicht.

Mindestens 1900 Zugangsdaten sind möglicherweise gestohlen und in Auszügen auf einer Internetplattform veröffentlicht worden. Die Staatsanwaltschaft Berlin ermittelt wegen des "Ausspähens von Daten".

Das Case Marine von Gooma trägt kaum auf und soll Geräte bis zu einer Tiefe von 10 Metern vor Wasser schützen.

Der Kneipenflipper ist tot, lebt aber als Emulation weiter: Nicht nur auf Smartphone und Tablets, sondern auch in virtuellen Flippern mit LC-Display als Spielfläche. Die ersten kommerziellen Anbieter stehen in den Startlöchern.

Auch die chinesischen Behörden haben den milliardenschweren Kauf genehmigt, damit ist die letzte Hürde genommen. Bedingung: Android muss mindestens fünf Jahre lang gratis bleiben.

Angewidert wendet sich Hal Faber von der Blase 2.0 ab, huldigt Donna Summer, wälzt bewährte Utopien und lenkt sich mit Fesselspielen ab. Unterwegs gräbt er Papiere aus, für deren Untertitel drei Tweets nicht genügen würden.

Im Patentstreit zwischen Microsoft und Motorola bestätigt die US-Handelsaufsichtsbehörde ITC ihr vorläufiges Urteil vom vergangenen Dezember.

Obwohl Schwächen bei der GSM-Verschlüsselung schon seit mindestens drei Jahren bekannt sind, haben gerade mal sieben der von GSMMap erfassten Netzbetreiber nachgebessert. Auch gegen unerwünschte Ortung per SMS unternahmen nur wenige Provider etwas.



amk-consulting
  • Beratung, Planung
    und Design
  • Datenbanken
  • eBusiness
  • Applikationsserver
  • Internet, Intranet,
    Firewall
  • Client/Server
 
amk-akademie
  • Professionelles
    Training für Systemadministratoren
    und IT-Entscheider
  • Anwender Trainings
  • Firmenseminare vor Ort
  • Individualworkshops
 
amk-media
  • Medien-Services
  • Web-Marketing
  • Web-Design
  • Flash
  • Typo3
  • Portalservices