Movatterモバイル変換


[0]ホーム

URL:


Zum Inhalt springen
WikipediaDie freie Enzyklopädie
Suche

Betriebssystem

aus Wikipedia, der freien Enzyklopädie
Zusammenhang zwischen Betriebssystem, Hardware, Anwendungssoftware und dem Benutzer
Marktanteile von PC-Betriebssystemen in Deutschland[1]

EinBetriebssystem, auchOS (vonenglischoperating system) genannt, ist eine Zusammenstellung vonComputerprogrammen, die dieSystemressourcen einesComputers wieArbeitsspeicher,Festplatten, Ein- und Ausgabegeräte verwaltet und dieseAnwendungsprogrammen zur Verfügung stellt. Das Betriebssystem bildet dadurch dieSchnittstelle zwischen denHardware-Komponenten und der Anwendungssoftware des Benutzers.[2] Betriebssysteme bestehen in der Regel aus einemKernel (deutsch: Kern), der die Hardware des Computers verwaltet, sowie speziellen Programmen, die beim Start unterschiedliche Aufgaben übernehmen. Zu diesen Aufgaben gehört unter anderem das Laden vonGerätetreibern. Betriebssysteme finden sich in fast allen Arten von Computern: AlsEchtzeitbetriebssysteme aufProzessrechnern undeingebetteten Systemen, aufPersonal Computern,Tabletcomputern,Smartphones und auf größerenMehrprozessorsystemen wie z. B.Servern undGroßrechnern.

DieAufgaben eines Betriebssystems lassen sich wie folgt zusammenfassen: 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. durchZugriffsbeschränkungen. Die Gewichtung zwischen diesen Aufgaben wandelte sich im Laufe der Zeit, insbesondere wird Schutzfunktionen wie demSpeicherschutz oder begrenztenBenutzerrechten heute eine höhere Bedeutung zugemessen als noch in den 1990er Jahren. Dies macht Systeme allgemein robuster, reduziert z. B. die Zahl der Programm- undSystemabstürze und macht das System auch stabiler gegen Angriffe von außen, etwa durchComputerviren.

Dieser Artikel behandelt den Begriff „Betriebssystem“ hauptsächlich im Kontext „allgemein zur Informationsverarbeitung verwendete Computersysteme“. Daneben sind Betriebssysteme (mit ggf. spezialisierter Funktionalität) grundsätzlich in nahezu allen Geräten im Einsatz, in denenSoftware betrieben wird (wieSpielecomputer,Mobiltelefone,Navigationssysteme, Maschinen derMaschinenbaubranchen 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.

Definitionen und Abgrenzung

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

  • Die eine Aufgabe besteht darin, demAnwendungsprogrammierer saubere Abstraktionen derBetriebsmittel zur Verfügung zu stellen (anstelle der unschönen Hardware). Das Betriebssystem bietet somit eine leichter verständliche und besser handhabbareSchnittstelle 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 einevirtuelle Maschine (Betriebssystem), welche wesentlich einfacher zu verstehen und zu programmieren ist.“[4] Das Betriebssystem erzeugt abstrakte Objekte, um die Komplexität beherrschbar zu machen. Ein Beispiel für eine solche Abstraktion ist dieDatei. Diese kann beispielsweise in Form einesDigitalfotos, einer gespeichertenE-Mail-Nachricht oder einerWebsite vorliegen. Es ist auf jeden Fall einfacher, sich damit zu beschäftigen, als mit den Details vonFestplattenspeichern.[5]
  • 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.“[4] Das Betriebssystem ordnet und kontrolliert dieAllokation der Prozessoren, Speicher und Ein-/Ausgabegeräte und überwacht, welches Programm gerade welches Betriebsmittel nutzt. Liegen beispielsweise mehrere Aufträge für einenDrucker 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.[6]

Die Gesamtheit aller Programme und Dateien, die sämtliche Abläufe bei Betrieb eines Rechners steuern, wirdSystemsoftware genannt. Dazu gehören Betriebssysteme, aber auch systemnahe Software wieCompiler,Interpreter undEditoren. Anwendungssoftware wie beispielsweiseBrowser oder Buchhaltungssoftware benutzen die Systemsoftware für einen ordnungsgemäßen Ablauf.[7] 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:

„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.“

DIN 44300[8]

FürAndrew S. Tanenbaum beschränkt sich der Begriff Betriebssystem im Wesentlichen auf denKernel: „Editoren, Compiler,Assembler,Binder undKommandointerpreter sind definitiv nicht Teil des Betriebssystems, auch wenn sie bedeutsam und nützlich sind.“[9] 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.“[10] 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 undDienstprogramme zu den wesentlichen Komponenten eines Betriebssystems.[11] In jüngerer Zeit kann derGNU/Linux-Namensstreit als Beispiel für die Abgrenzungsprobleme angesehen werden.

Der Begriff des Betriebssystems ist in Artikel 3 der Richtlinie (EU) 2019/882 (Richtlinie über die „Barrierefreiheitsanforderungen für Produkte und Dienstleistungen“)legal definiert. Diese Definition zählt dieStandardschnittstelle einschließlicheiner grafischen Nutzerschnittstelle zum Betriebssystem.[12]

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.

Entwicklungsstufen

Die Entwicklung von Computer-Betriebssystemen verlief und verläuft parallel zur Entwicklung und Leistungsfähigkeit verfügbarer Hardware: Beide Linien bedingten sich gegenseitig und ermöglichten bzw. erforderten Weiterentwicklungen auf der ‚anderen‘ Seite. Die Entwicklung verlief zum Teil in kleinen, manchmal in größeren Sprüngen:

Lochkarten verarbeitende Systeme (gilt sinngemäß auch für Lochstreifen) gehören mittlerweile (seit Anfang der 1970er Jahre) der Vergangenheit an. Jedoch sind sie ein guter Ansatz zur Betrachtung der Systementwicklung: In diesen räumlich relativ großen Systemen gab es noch keine externen elektronischen Speichermedien. Die Programme lagen (inMaschinensprache) in Form von Lochkartenstapeln vor und wurden durch denOperator über den Lochkartenleser in den internen Speicher ‚eingelesen‘. Nach der „Ende-Karte“ wurde dasAnwendungsprogramm gestartet, das seine Eingabedaten je nach Aufgabenstellung ebenfalls über den Kartenleser lesen (deshalb der BegriffStapelverarbeitung, englischbatch processing,queued systems) und seine Ergebnisse direkt über einen Drucker und/oder über den Kartenstanzer ausgeben musste. Vor- und nachgelagert waren, mithilfe elektro-mechanischer Geräte (Kartenlocher, Mischer, Sortierer) ausgeführt, Erfassungs-, Misch- und Sortiervorgänge erforderlich. Bereits zu diesem Zeitpunkt war die interne Verarbeitung deutlich schneller als dieEin-/Ausgabegeräte; das Lesen eines Lochkartenstapels (Karton mit 2000 Karten) dauerte ca. 5–10 Minuten, die Arbeitsspeichergrößensolcher Rechner lagen bei ca. 16 bis 64 kiB (Beispiel sieheSystem/360).
Diese Maschinen besaßen kein konventionelles Betriebssystem, wie es heute geläufig ist. Lediglich ein Kontrollprogramm (resident monitor) wurde im Speicher gehalten und sorgte für den reibungslosen Ablauf, indem es die Kontrolle an die momentan auszuführenden Programme übergab. Der Rechner konnte stets nur ein Programm nach dem anderen ausführen.

Eine Weiterentwicklung –Multiprogrammed Batch Systems – konnte zusätzliche Geräte unterstützen (Magnetbandeinheiten, ersteMagnetplatten mit z. B. 7,25 MB Speichervolumen), mehrere Programme gleichzeitig ausführen (z. B. in 3'Partitionen') sowie Programme und Daten auf externen Speichern halten. Eine schnellere Abarbeitung war möglich, da die Zeit für das Lesen und Ausgeben der Kartenstapel entfiel – und die Prozessoren schneller wurden. Hier wurden Mechanismen wie dasSpooling (Zwischenausgabe von Druckerdaten auf Magnetband mit verzögertem, parallel möglichem Drucken) und die Möglichkeit desOffline-Betriebs bereits ausgiebig genutzt. Jedoch war ein Programm nötig, welches sich der Aufgaben E/A-Verwaltung, Speicherverwaltung und vor allemCPU-Scheduling etc. annimmt. Ab diesem Zeitpunkt konnte man von ersten Betriebssystemen reden.

Die nächsten Schritte waren dann Folgen der jeweiligen Aufgabenbereiche, die den Systemen zukamen. Folgende Systeme sind entstanden und bis zum heutigen Tage im Einsatz:Parallele Systeme,Verteilte Systeme,Personal-Computer-Systeme,Time-Sharing-Systeme,Real-Time-Systeme und in neuester Zeit auch diePersonal Digital Assistants undSmartphones.

Im PC-Bereich sind derzeit die meistgenutzten Betriebssysteme die verschiedenen Varianten vonWindows vonMicrosoft (führend bei Systemen mitGUI),BSD inkl.macOS vonApple (am weitesten verbreitetes Desktop-Unix) undGNU/Linux (führend bei Servern). Für spezielle Anwendungen (Beispiel: industrielleSteuerung) 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 physischen System(en) unterschieden wird. Der logische Rechner besteht aus mehreren physischen Rechnereinheiten. Viele Großrechner, Number-Cruncher und die Systeme aus dem HauseCray arbeiten nach diesem Prinzip. Eines der bekanntesten Betriebssysteme im Bereich verteilte Systeme istAmoeba.

Siehe auch:Liste von Betriebssystemen

Aufgaben

Zu den Aufgaben eines Betriebssystems gehören meist:

  • Speicherverwaltung
    • Verwaltung der Systemressource Hauptspeicher.
    • Protokollierung der Speichernutzung.
    • Reservierung und Freigabe von Speicher.
  • (Prozess)-Verwaltung
    • Überwachung der Speicherzugriffe und gegebenenfalls Beenden von Prozessen bei einerSchutzverletzung.
    • 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- undDateiverwaltung
    • 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 desDateisystems. 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 (nachCoy):
      • Reale Maschine = Zentraleinheit + Geräte (Hardware)
      • Abstrakte Maschine = Reale Maschine + Betriebssystem
      • Benutzermaschine = Abstrakte Maschine + Anwendungsprogramm

AlsGerät aus der Sicht eines Betriebssystems bezeichnet man aus historischen Gründen alles, was über Ein-/Ausgabekanäle angesprochen wird. Dies sind nicht nur Geräte im herkömmlichen Sinn, sondern mittlerweile auch interne Erweiterungen wie Grafikkarten, Netzwerkkarten und anderes. Die (Unter-)Programme zur Initialisierung und Ansteuerung dieser „Geräte“ bezeichnet man zusammenfassend alsGerätetreiber.

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 die Prozessoren), den physischen Speicher und alle Geräte wie Festplatten-, Disketten- und CD-ROM-Laufwerke, Netzwerk- undSchnittstellenadapter und andere. DieHardware Compatibility List enthält alleHardware-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ühenPCs wurde z. B. der Baustein8284 des UnternehmensIntel eingesetzt. Dieser Baustein muss zunächst initialisiert werden. Er kann dann nach Ablauf einer Zeitspanne oder periodisch denProzessorunterbrechen und ihn zur Abarbeitung einer eigenen Routine veranlassen. Neben der Initialisierung ist eine Unterbrechungsroutine zu erstellen, deren Aufruf in einer dafür geeigneten Sprache (meistAssembler) 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 BegriffRechnerarchitektur 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 (sogenanntespräemptives Multitasking). Die Initialisierung und dieUnterbrechungsroutine 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 eigenenvirtuellen Prozessor.

Virtuelle Zeitgeber

Über einen Systemruf, zum Beispielalarm, wird jedem Programm darüber hinaus ein eigenervirtueller Zeitgeber zur Verfügung gestellt. Das Betriebssystem zählt die Unterbrechungen des Original-Zeitgebers und informiert Programme, die denalarm-Systemruf verwendeten. Die einzelnen Zeitpunkte werden über eineWarteschlange verwaltet.

Abstraktion

Die Hardware des Zeitgebers ist damit vor den Programmen verborgen. Ein System mitSpeicherschutz 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 desvirtuellen 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 Zeitgebervirtualisiert werden, ist dies auch für alle anderen Betriebsmittel möglich. Dabei werden einige Abstraktionen teilweise nur alsSoftware implementiert, andere erfordern spezielle Hardware.

Dateisysteme

ÜberDateisysteme 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 auchArbeitsspeicher genannt und vom Betriebssystem in Blöcke (Kacheln) aufgeteilt, die den geladenen Programmen auf Anforderung zur Verfügung gestellt werden. Meist wird der Speicher initialisiert, das bedeutet, dass dabei allenfalls noch vorhandene Daten zuvor gelöscht werden. Übervirtuellen Speicher wird bei vielen Systemen jedem Programm ein kontinuierlicher (zusammenhängender) Bereich zur Verfügung gestellt. DieVirtuelle Speicherverwaltung erlaubt einen flexiblen Ansatz, bei dem der reale physisch vorhandene Speicher weder zusammenhängend sein muss (Segmentierung), noch muss er in Summe real wirklich so groß sein, wie es aus Sicht der Programme scheint. Stattdessen werden einzelne Speicherblöcke,englischpages, nach Bedarf zwischen Arbeitsspeicher (RAM) und externem Speicher (z. B. dieAuslagerungsdatei) hin und her geschoben (Paging).

Netzwerk

Die Details der Netzwerkzugriffe werden verborgen, indem auf die eigentliche Hardware (Netzwerkkarte) einProtokollstapel aufgesetzt wird. Die Netzwerksoftware erlaubt beliebig vielevirtuelle 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

AlsGrafische Benutzeroberfläche (GUI, Abk. für engl.Graphical User Interface) wird generell eine Bildschirmausgabe beschrieben, wenn sie über eineEingabeaufforderung 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,Benutzeroberflächen etc. zum einfachen Steuern von Programmen erstellen lassen.

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

Klassifikation Betriebssystemarten

Betriebssysteme können je nach ihren Merkmalen und Funktionen in verschiedene Kategorien unterteilt werden.[13]

Betriebsarten

Batch System (Jobsystem, Stapelverarbeitung)

  • Der Nutzer muss warten, bis sein Programm an der Reihe ist.
  • Die Antwortzeit des Systems ist nicht begrenzt.
  • Beispiele: DOS, OS/2, Windows.

Dialogsystem (interaktives System)

  • Eine einzelne Antwort kann lange dauern, aber im Durchschnitt erfolgt die Antwort innerhalb einer vorgegebenen Zeit.
  • Die mittlere Antwortzeit des Betriebssystems liegt unterhalb eines bestimmten Grenzwertes.
  • Beispiele: MS Windows XP, Windows 7/8, Unix, Linux.

Echtzeitsystem

  • Das Betriebssystem antwortet sofort.
  • Die Einhaltung eines gegebenen Grenzwertes für die Antwortzeit ist in jedem Fall erforderlich.
  • Beispiele:QNX, VxWorks.

Anzahl der parallel bedienbaren Nutzer

(Quelle:[14])

Ein-Nutzer-Betriebssystem (single user)

  • Nur ein Nutzer kann das System gleichzeitig verwenden.
  • Beispiele: Betriebssysteme auf Handys, Navigationssysteme in Fahrzeugen.

Mehr-Nutzer-Betriebssystem (multi user)

  • Das System kann gleichzeitig mehrere verschiedene Nutzer verwalten und (quasi-)parallel bedienen.
  • Beispiele: Unix, Linux.

Anzahl der parallel bearbeitbaren Nutzeraufträge

(Quelle:[14])

Ein-Prozess-Betriebssystem (single tasking)

  • Nur ein Auftrag (Prozess) kann zu einem Zeitpunkt durch das System bearbeitet werden.
  • Beispiel: MS-DOS.

Mehr-Prozess-Betriebssystem (multi tasking)

  • Das System kann gleichzeitig mehrere verschiedene Aufträge verwalten und (quasi-)parallel bearbeiten.
  • Eine Weiterentwicklung dieses Prinzips ist das Multithreading, bei dem mehrere Threads in einem Prozess zusammengefasst werden können.
  • Beispiele: Unix, Linux, Windows XP, Windows 7, Windows 8.

Diese verschiedenen Arten von Betriebssystemen bieten unterschiedliche Funktionen und Fähigkeiten, um den vielfältigen Anforderungen und Nutzungsszenarien gerecht zu werden. Die Wahl des richtigen Betriebssystems hängt von den spezifischen Bedürfnissen und Zielen eines Benutzers oder einer Organisation ab.

Geschichte

Erste Betriebssysteme (bis 1980)

Die ersten Computer kamen ohne echtes Betriebssystem aus, da lediglich ein einziges Programm imStapelbetrieb geladen sein konnte und die unterstützte Hardware noch sehr überschaubar war. Der erste Digitalrechner wurde vonCharles Babbage (1792–1872) entwickelt. Er sah bereits die Notwendigkeit, seine „Analytische Maschine“ mitSoftware zu betreiben. Er stellte die Tochter des bekannten Dichters Lord ByronAda Lovelace ein, um erste Programme zu schreiben. Ada Lovelace gilt als die erste Programmiererin. Charles Babbage gelang es nie, seine „Analytische Maschine“ vernünftig zum Laufen zu bringen. Zahnräder, Gestänge und andere mechanische Teile konnten nicht in der notwendigen Präzision hergestellt werden.[15]

Nach den erfolglosen Versuchen von Charles Babbage wurden wenige Anstrengungen unternommen, ein weiteres Projekt Digitalrechner auf die Beine zu stellen. Erst vor demZweiten Weltkrieg wurden Babbages Ideen wieder aufgegriffen. Erste digitale Rechner wurden auf Basis von elektrischen Relais und Röhren realisiert. Zu den ersten Wissenschaftlern gehörtenHoward Aiken von derHarvard-Universität,John von Neumann an derPrinceton-Universität,John William Mauchly,John Presper Eckert inPennsylvania undKonrad Zuse in Berlin. Die ersten Computer wurden von einem Team von Technikern entwickelt, welche für den Entwurf, den Bau, die Programmierung und Wartung solcher Maschinen verantwortlich waren. Programmiersprachen waren unbekannt und die Programme wurden mithilfe von Steckkarten realisiert, auf welchen die Programme mithilfe von elektrischen Drähten programmiert wurden. Da ein Computer nur ein einziges Programm ausführen konnte, waren Betriebssysteme unnötig. Eine Berechnung einer einzigen Aufgabe dauerte Sekunden, und die Ausführung eines Programmes Stunden, aber nur dann, wenn die Computer mit Tausenden von Röhren oder Relais einwandfrei funktionierten. In den frühen 1950er Jahren wurden elektrische Drähte durchLochkarten ersetzt.[15]

Als Betriebssystem-Vorläufer gilt der 1956 in Gestalt des GM-NAA I/O beiGeneral Motors für die IBM 704 erfundeneresident monitor, ein Stück Software, das nach Beendigung eines Stapelauftrags den Folgeauftrag automatisch startete. 1959 entstand daraus das SHARE Operating System (SOS), das bereits über eine rudimentäre Ressourcenverwaltung verfügte.[16] Dessen Nachfolger IBSYS verfügte bereits über eine einfache Shell mit Kommandosprache.[17]

1961 entstand mit dem Compatible Timesharing System (CTSS) für die IBM 7094 amMIT das erste Betriebssystem für Mehrbenutzerbetrieb. Das ermöglichte die quasi-gleichzeitige Benutzung der Rechenanlage durch mehrere Anwender mittels angeschlossenerTerminals.[18] Eine Vielzahl gleichzeitig geladener Programme erforderte es, die von ihnen beanspruchtenSpeicherbereiche voneinander abzugrenzen. Als Lösung entstand 1956 an derTU Berlin derVirtuelle Speicher[19] und wurde Mitte der 1960er Jahre erstmals in Großrechner-Betriebssystemen umgesetzt.

Damals lieferte meist der Hersteller der Hardware das Betriebssystem, das nur auf einer bestimmten Modellreihe oder sogar nur auf einem bestimmten System lief, sodass Programme weder zwischen verschiedenen Computern, noch über verschiedene Generationen hinweg portierbar waren. Mit der Einführung der ModellreiheSystem/360 vonIBM führte IBM 1964 das BetriebssystemOS/360 in verschiedenen Versionen (OS/360 für rein lochkartenbasierte Systeme, TOS/360 für Maschinen mit Bandlaufwerken, DOS/360 für solche mit Festplatten) ein. Es war das erste Betriebssystem, das modellreihenübergreifend eingesetzt wurde.

Ab 1963 wurdeMultics in Zusammenarbeit von MIT,General Electric und denBell Laboratories (Bell Labs) vonAT&T entwickelt, das jedoch erst ab 1969 bis 2000 im Einsatz war. Multics wurde inPL/I programmiert. Inspiriert von den Arbeiten an Multics startete eine Gruppe umKen Thompson undDennis Ritchie an den Bell Labs 1969 mit der Entwicklung vonUnix. In den Jahren 1970 bis 1972 wurden mit RSX-15 undRSX-11 frühe Vorläufer des heutigenWindows NT entwickelt. Unix wurde in den Jahren 1972–1974 bis auf wenige Teile in der höherenProgrammierspracheC mit dem Ziel derPortabilität neu implementiert, um auf der damals neuenPDP-11 lauffähig zu sein. In weiterer Folge entwickelte sich UNIX zu einer ganzen Familie von Systemen für verschiedene Hardwareplattformen.

Die erstenPCs wie derAltair 8800 von 1975 verfügten zunächst über kein Betriebssystem. Daher mussten sämtliche Aktionen in einem reinenMaschinencode eingegeben werden. Sein erstes Betriebssystem erhielt der Altair 8800 in Form einesBASIC-Interpreters.[20] Dieser stellte sowohl eine Programmierumgebung dar als auch die allgemeine Schnittstelle zwischen dem Benutzer und der Hardware (die dieser Interpreter direkt ansteuerte). Er war Laufzeitumgebung und Benutzerschnittstelle zugleich; über bestimmte Befehle konnte der Benutzer beispielsweise Daten laden und speichern und Programme ausführen. 1974 erfandGary KildallCP/M, das als erstes universelles PC-Betriebssystem gilt. Durch seine modulare Bauweise (der plattformunabhängige Kernel BDOS setzte auf einer Hardware-Treiberschicht namensBIOS auf) ließ es sich mit vertretbarem Aufwand auf zahlreiche zueinander inkompatible PC-Plattformen portieren. Eine Programmierumgebung steuerte nun (meistens) nicht mehr die Hardware direkt an, sondern nutzte die Schnittstellen des Betriebssystems. Daher war auch die Programmierumgebung nicht mehr nur auf einer bestimmten Hardware lauffähig, sondern auf zahlreichen PCs.

Für die aufkommendeComputergrafik reichten rein textbasierte Benutzerschnittstellen nicht mehr aus. Die 1973 eingeführteXerox Alto war das erste Computersystem mit einem objektorientierten Betriebssystem[21] und einer grafischen Benutzeroberfläche, was diesen Rechner fürDesktop-Publishing geeignet machte und einen großen Fortschritt in Sachen Benutzerfreundlichkeit darstellte.[22]

Meilensteine

Der C64, ein Heimcomputer der 1980er Jahre

C64C-System mitVC1541-II-Diskettenlaufwerk und 1084S RGB-Monitor (1986)

In den 1980er Jahren wurdenHeimcomputer populär. Diese konnten neben nützlichen Aufgaben auch Spiele ausführen. DieHardware bestand aus einem 8-Bit-Prozessor mit bis zu 64 KiB RAM, einer Tastatur und einem Monitor- bzw. HF-Ausgang. Einer der populärsten dieser Computer war derCommodore64 (kurz „C64“) mit dem Mikroprozessor6510 (einer Variante des6502). Dieser Computer verfügte über einen in einem eigenen 8 KiB-ROM-Baustein befindlichen Systemkern namensKernal mitsamt einemBIOS (Basic Input/Output System), das die Geräte Bildschirm, Tastatur, serielle IEC-Schnittstelle für Diskettenlaufwerke bzw. Drucker, Kassetteninterface initialisierte und über ein Kanalkonzept teilweise abstrahierte. Über ein separates 8 KiB-ROM-BASIC, das auf die Funktionen des BIOS aufsetzte, konnte das System bedient und programmiert werden. Das Betriebssystem dieses Computers kann auf der Ebene des BASIC-Interpreters als gute Hardwareabstraktion angesehen werden. Natürlich sind weder Kernel, Speicher- oder sonstiger Hardwareschutz vorhanden. Viele Programme, vor allem auch Spiele, setzten sich über das BIOS hinweg und griffen direkt auf entsprechende Hardware zu.

Basic-ProgrammMaschinensprachenprogramm
8k ROM BASICPRINT#,FOR
8k ROM-BIOS (Gerätetreiber) / Kernal /JSR
Hardware (Prozessor(en), Speicher, Geräte)

Abstraktionsschichten im Betriebssystem des Heimcomputers C64

Die grafische Benutzeroberfläche (GUI) von Apple

Digital Research wurde wegenGEM von Apple verklagt, weil esMac OS zu ähnlich sah
Hauptartikel:Grafische Benutzeroberfläche undDesktop-Umgebung

Xerox entwickelte im Palo Alto Research Center (PARC) dasSmalltalk-Entwicklungssystem (Xerox entwickelte mitALTO (1973) undStar (1981) erste Rechner mit grafischer Benutzeroberfläche). Das UnternehmenApple bot Xerox an, die Technologie zu kaufen; da PARC aber vor allem ein Forschungszentrum war, bestand kein Interesse an Verkauf und Vermarktung. Nachdem Apple-Chef Steve Jobs Xerox Aktienanteile von Apple anbot, wurde ihm erlaubt, einigen Apple-Entwicklern die Xerox-Demos zu zeigen. Danach war den Apple-Entwicklern auf jeden Fall klar, dass der grafischen Benutzeroberfläche die Zukunft gehörte, und Apple begann, eine eigene grafische Benutzeroberfläche zu entwickeln.

Viele Merkmale und Prinzipien jeder modernen grafischen Benutzeroberfläche für Computer, wie wir sie heute kennen, entstammen der Arbeit des Palo Alto Research Center und des Xerox PARC (etwa dieSchreibtischmetapher) und den Verbesserungen von Apple (Pull-down-Menüs,Drag and Drop, derDoppelklick). Die Behauptung, Apple habe seine GUI von Xerox kopiert, ist ein ständiger Streitpunkt; Apple hatte, anders als z. B. Digital Research, durch den Austausch von Aktien offiziell dafür bezahlt, die technologischen Innovationen bei Xerox studieren zu dürfen,[23] und konnte auf dieser Basis sein eigenes grafisches Betriebssystem entwickeln.[24] Zwischen einem Alto von Xerox und derLisa (sieheLisa OS) bzw. nach dessen Misserfolg dem Lisa-NachfolgerMacintosh (sieheMac OS) gibt es zahlreiche Unterschiede in Aufbau und Bedienung.

Der Mac-OS-Nachfolger

Apple-I-Computer

Mitte der 1990er Jahre steckte das Unternehmen Apple in einer tiefen Krise; es schien kurz vor dem Ruin. Ein dringliches Problem war dabei, dass Apples BetriebssystemMac OS als veraltet galt, weshalb sich Apple nach Alternativen umzusehen begann. Nach dem Scheitern des wichtigsten Projektes für ein modernes Betriebssystem mit dem CodenamenCopland sah sich Apple gezwungen, Ausschau nach einem für die eigenen Zwecke verwendbaren Nachfolger zu halten. Zuerst wurde vermutet, dass Apple das UnternehmenBe, mit ihrem auch auf Macs lauffähigen BetriebssystemBeOS, übernehmen würde. Die Übernahmeverhandlungen scheiterten jedoch im November 1996, da der frühere Apple-Manager und Chef von BeJean-Louis Gassée im Falle einer Übernahme 300 Millionen US-Dollar und einen Sitz im Vorstand verlangte. DaGil Amelio versprochen hatte, bis zurMacworld Expo im Januar 1997 die zukünftige Strategie zuMac OS zu verkünden, musste schnell eine Alternative gefunden werden. Überraschend übernahm Apple dann noch im Dezember 1996 für 400 Mio. US-Dollar das UnternehmenNeXT des geschassten Apple-Gründers Steve Jobs mitsamt dem Betriebssystem NeXTStep bzw.OPENSTEP, das Apples Grundlage für die nachfolgende neue Betriebssystem-Generation werden sollte. Unter dem CodenamenRhapsody wurde es weiterentwickelt zu einem UNIX für Heim- und Bürocomputer mit dem Namen „Mac OS X“; von Version 10.8 (2012) bis 10.11 hieß es einfach „OS X“, ab Version 10.12 (2016) „macOS“. Ab Version 10.5 ist es konform mit derSingle UNIX Specification.

Das Betriebssystem OPENSTEP war die erste Implementierung derOpenStep-Spezifikationen, die zusammen mitSun entwickelt wurden. Deren Entwicklung hatte Einfluss aufJava und somit letztlich aufAndroid.

Disk Operating System (DOS)

Hauptartikel:Disk Operating System

Seinen Ursprung hat das „Disketten-Betriebssystem“ aufGroßrechnern (englischMainframes) wie demSystem/360 von IBM aus den 1960er Jahren. Der Ansatz wurde in den 1970ern mitCP/M vonDigital Research auf den damals aufkommendenPersonal Computern übernommen, das sich seinerseits u. a. anTOPS-10, einer Weiterentwicklung von DOS auf Großrechnern, orientierte. Ähnliche Systeme gab es daraufhin auch für den CommodorePET (Commodore DOS), denApple II (Apple DOS) und den Atari (Atari DOS). Die Portierung von CP/M auf denMotorola 68000, genannt CP/M-68k, selbst kein großer kommerzieller Erfolg, wurde zur Grundlage fürTOS, dem Betriebssystem desAtari ST.86-DOS erschien 1980 als Nachbildung von CP/M für denIntel 8086, wurde von Microsoft gekauft und für denIBM PCs alsPC DOS eingesetzt. Es setzt auf dasPC-BIOS des IBM PC auf und stellt Dateisystemoperationen zur Verfügung. Microsoft vertrieb ein fast identisches System auch alsMS-DOS fürIBM-kompatible PCs undx86-PCs.

Die ersten IBM PCs waren ganz ähnlich wie der C64 aufgebaut. Auch sie verfügten über ein eingebautes BIOS zur Initialisierung und Abstraktion der Hardware. Sogar einBASIC-Interpreter im ROM war vorhanden. Da der IBM PC im Grundsatz ein offenes Design verwendet, wurde anfangs von der Konkurrenz versucht, ohne BIOS und BASIC dazu kompatibleDOS-PCs zu bauen. Es wurde jedoch schnell klar, dass das BIOS ein unverzichtbarer Teil des IBM PC war, ohne den auch keine vollständige Kompatibilität möglich war. Nachdem das BIOS durchReverse Engineering nachprogrammiert worden war, wurde auch in IBM-PC-kompatiblen Computern einBIOS eingesetzt, allerdings wurde auf das ROM-BASIC verzichtet.

Die auf anderen PCs und Heimcomputern eingesetzte Varianten von DOS sind nicht zu MS-DOS kompatibel, etwaAmigaDOS.

PC-kompatibles DOS
Hauptartikel:PC-kompatibles DOS
Hauptartikel:IBM-PC-kompatibler Computer

Der PC konnte mit seinemIntel-8088-Prozessor (16-Bit-Register) bis zu 1 MiB Speicher adressieren, die ersten Modelle waren jedoch nur mit 64 KiB ausgestattet. Diskettenlaufwerke lösten die alten Kassettenrekorder als Speichermedium ab. Sie erlauben vielfaches Schreiben und Lesen einzeln adressierbarer 512-Byte-Blöcke. Die Benutzung wird durch einDisk Operating System (DOS) vereinfacht, das ein abstraktes Dateikonzept bereitstellt. Blöcke können zu beliebig großen Clustern (Zuordnungseinheit – kleinste für das Betriebssystem ansprechbare Einheit) zusammengefasst werden. Dateien (logische Informationseinheiten) belegen einen oder mehrere dieser (verketteten) Cluster. Eine Diskette kann viele Dateien enthalten, die über Namen erreichbar sind.

Auf den erstenPCs war kein Speicherschutz realisiert, die Programme konnten daher an DOS vorbei direkt auf dasPC-BIOS und, am BIOS vorbei, auch direkt auf die Hardware zugreifen, z. B. auf dieGrafikkarte. Erst spätere PCs wurden mit demIntel-80286-Prozessor ausgestattet, der Speicherschutz ermöglichte. MS-DOS stellte auch keine für alle Zwecke ausreichende Abstraktion zur Verfügung. Es ließ sich nur ein Programm gleichzeitig starten, die Speicherverwaltung war eher rudimentär. Ein Teil der Hardware wurde nicht unterstützt und musste von Programmen direkt angesprochen werden, was dazu führte, dass beispielsweise für jedes Spiel dieSoundkarte neu konfiguriert werden musste. Die Performance einiger Routinen, speziell zur Textausgabe, war verbesserungswürdig. Viele Programme setzten sich daher über das Betriebssystem hinweg und schrieben z. B. direkt in denBildschirmspeicher. MS-DOS wurde mit einem Satz von Programmen (sogenannten Werkzeugen) und dem KommandointerpreterCOMMAND.COM ausgeliefert.

Anwenderprogramm (COMMAND.COM, WORDSTAR)
MSDOS (Dateisystem)INT
BIOS (Gerätetreiber)INT
Hardware (Prozessor(en), Speicher, Geräte)

Abstraktionsschichten eines PCs unter DOS

Windows

Hauptartikel:Microsoft Windows

1983 begann das UnternehmenMicrosoft mit der Entwicklung einer grafischen Betriebssystem-Erweiterung („Grafik-Aufsatz“) fürMS-DOS namens Windows. Das MS-DOS und BIOS-Design der PCs erlaubten, da immer nur ein Programm exklusiv laufen konnte, keine Weiterentwicklung in Richtung moderner Serverbetriebssysteme. Microsoft begann Anfang der 1990er Jahre, ein solches Betriebssystem zu entwickeln, das zunächst als Weiterentwicklung vonOS/2 geplant war (an dessen Entwicklung Microsoft zwischen 1987 und 1991 beteiligt war):Windows NT 3.1 (Juli 1993). Für den Consumer-Markt brachte Microsoft am 15. August 1995Windows 95 heraus; es setzt auf MS-DOS auf. Dieser „Consumer-Zweig“, zusammengefasstWindows 9x, wurde mit der Veröffentlichung vonWindows Me (August/September 2000) abgeschlossen.

Aufbau von Windows NT: Über die Hardware wurde eine Abstraktionsschicht, derHardware Abstraction Layer (HAL) gelegt, auf den der Kernel aufsetzte. Verschiedene Gerätetreiber waren als Kernelmodule ausgeführt und liefen wie der Kernel im privilegiertenKernel Mode. Sie stellten Möglichkeiten der E/A-Verwaltung, Dateisystem, Netzwerk, Sicherheitsmechanismen, virtuellen Speicher usw. zur Verfügung.Systemdienste(System Services) ergänzten das Konzept; wie ihreUnix-Pendants, diedaemons, waren sie in Form von Prozessen imUser-Mode ausgeführt.

OS/2-
Programme
Win32-AnwendungenDOS-
Programme
Win16-
Programme
POSIX-
Programme
User Mode
Andere DLLsDOS-
System
Windows on
Windows
OS/2-
Subsystem
Win32 Subsystem (kernel32.dll, user32.dll, gdi32.dll)POSIX-
Subsystem
SystemdiensteKernel Mode
Ein-/Ausgabe-Manager (Dateisystem, Netzwerk)Objektmanager/Security Resource Manager/Processmanager
Local Procedure Call Manager/Virtual Memory Manager

Mikrokernel
Window-
Manager
GerätetreiberHardware-Abstraktions-Schicht (HAL)Grafiktreiber
Hardware (Prozessor(en), Speicher, Geräte)

Abstraktionsschichten unter Windows NT (etwas vereinfacht)

Über sogenanntePersonalities wurden dann die Schnittstellen bestehender Systeme nachgebildet, zunächst für Microsofts eigenes, neuesWin32-System, aber auch für OS/2 (ohne Grafik) undPOSIX.1, also einer Norm, die eigentlich Unix-Systeme vereinheitlichen sollte. Personalities liefen wie Anwenderprogramme im unprivilegiertenUser-Mode. Das DOS-Subsystem war in Form von Prozessen implementiert, die jeweils einen kompletten PC mit MS-DOS als virtuelle Maschine darstellten; darauf konnte mit einer besonderen Version von Windows 3.1, demWindows-on-Windows, auchWin16-Programme ausgeführt werden.Windows-on-Windows blendete dazu die Fenster der Win16-Programme in das Win32-Subsystem ein, das die Grafikausgabe verwaltete. Das System erlaubte daher die Ausführung von Programmen sowohl für MS-DOS wie für die älteren Windows-Betriebssysteme, allerdings unter vollkommener Kontrolle des Betriebssystems. Dies galt aber nur für die Implementierung für Intel-80386-Prozessoren und deren Nachfolger.

Programme, die direkt auf die Hardware zugreifen, blieben aber außen vor. Insbesondere viele Spiele konnten daher nicht unter Windows NT ausgeführt werden, zumindest bis zur Vorstellung vonWinG, das später inDirectX umbenannt wurde. Ohne die Möglichkeit eines direkten Zugriffs auf die Grafikhardware bzw. -treiber war die Programmierung von leistungsfähigen Actionspielen zunächst auf die älteren Windows-Versionen beschränkt.

Windows NT erschien in den Versionen 3.1, 3.5, 3.51 und 4.0.Windows 2000 stellte eine Weiterentwicklung von Windows NT dar. AuchWindows XP,Windows Server 2003,Windows Vista,Windows Server 2008,Windows 7,Windows Server 2012,Windows 8/8.1 undWindows 10 bauen auf der Struktur von Windows NT auf.

Linux (GNU/Linux)

Linus Torvalds, Entwickler von Linux
Hauptartikel:Linux

1991 begannLinus Torvalds inHelsinki/Finnland mit der Entwicklung desLinux-Kernels, den er bald danach der Öffentlichkeit zur Verfügung stellte.

Es läuft als portables Betriebssystem auf verschiedenen Rechnerarchitekturen, wurde aber zunächst für PCs mitIntel-80386-Prozessor entwickelt. Das in diesen Rechnern verwendeteBIOS dient nur noch zum Initialisieren der Hardware und zum Starten desBootloaders, da die Routinen desPC-BIOS für Multitaskingsysteme wie Linux ungeeignet sind. Dies kommt zustande, da insbesondere der Prozessor durch Warten belastet wird anstatt durch eine – in der Hardware durchaus vorhandene – geschickte Unterbrechungsverwaltung(interrupt handling) auf Ereignisse(events) zu reagieren. Linux verwendet daher nach dem Starten des Systems eigene Gerätetreiber.

Es verteilt die Prozessorzeit auf verschiedene Programme (Prozesse). Jeder dieser Prozesse erhält einen eigenen,geschützten Speicherbereich und kann nur über Systemaufrufe auf die Gerätetreiber und das Betriebssystem zugreifen.

Die Prozesse laufen im Benutzermodus(user mode), während der Kernel im Kernel-Modus(kernel mode) arbeitet. Die Privilegien im Benutzermodus sind sehr eingeschränkt. Ein direkter Zugriff wird nur sehr selten und unter genau kontrollierten Bedingungen gestattet. Dies hat den Vorteil, dass kein Programm z. B. durch einenFehler das System zum Absturz bringen kann.

Linux stellt wie sein VorbildUnix eine vollständige Abstraktion und Virtualisierung für nahezu alle Betriebsmittel bereit (z. B.virtueller Speicher, Illusion eines eigenen Prozessors).

Anwenderprogramme (z.B. Textverarbeitung, Tabellenkalkulation oder Browser)User Mode
Complex Libraries (GLib,GTK+,Qt,SDL,EFL)
Simple Librariessin, opendbm
C-Standard-Bibliothek:glibcopen, exec, sbrk, socket, fopen, calloc
SystemaufrufeTRAP, CALL, BRK, INT (je nach Hardware)Kernel Mode
Kernel (Gerätetreiber, Prozesse, Netzwerk, Dateisystem)
Hardware (Prozessor(en), Speicher, Geräte)

Fast vollständige Abstraktion unter Linux

Verbreitung

Das Unternehmen StatCounter analysiert die Verbreitung von Endanwender-Betriebssystemen anhand von Zugriffsstatistiken diverser Websites. Viele Jahre lang lagWindows an der Spitze, bis es laut StatCounter 2017 vonAndroid überholt wurde.[25]

Die laut StatCounter am weitesten verbreiteten Endanwender-Betriebssysteme sind:[26]

202320182017
Android1.41,64 %1.38,97 %2.31,76 %
Windows2.29,25 %2.37,07 %1.43,82 %
iOS3.17,71 %3.13,18 %3.11,71 %
macOS4.6,57 %4.5,24 %4.5,09 %
Linux5.1,54 %5.0,76 %5.0,94 %
unerkannte1,93 %2,72 %3,64 %
andere1,36 %2,06 %3,03 %

Siehe auch

Literatur

  • Albrecht Achilles:Betriebssysteme. Eine kompakte Einführung mit Linux. Springer: Berlin, Heidelberg, 2006.ISBN 978-3-540-23805-8.
  • Uwe Baumgarten, Hans-Jürgen Siegert:Betriebssysteme. Eine Einführung. 6., überarbeitete, aktualisierte und erweiterte Auflage, Oldenbourg Verlag: München, Wien, 2007.
  • Erich Ehses, Lutz Köhler, Petra Riemer, Horst Stenzel, Frank Victor:Systemprogrammierung in UNIX / Linux. Grundlegende Betriebssystemkonzepte und praxisorientierte Anwendungen. Vieweg+Teubner: Wiesbaden, 2012.ISBN 978-3-8348-1418-0.
  • Eduard Glatz:Betriebssysteme. Grundlagen, Konzepte, Systemprogrammierung. 1. Auflage. dpunkt: Heidelberg, 2006.ISBN 3-89864-355-7.
  • Sibsankar Haldar, Alex A. Aravind:Operating Systems. Delhi (u. a.): Pearson Education, 2009.ISBN 978-81-317-1548-2.
  • Helmut Herold, Bruno Lurz, Jürgen Wohlrab, Matthias Hopf:Grundlagen der Informatik. Kapitel 9:Betriebssysteme. 3., aktualisierte Auflage, Pearson: Hellbergmoos, 2017, S. 433–462.ISBN 978-3-86894-316-0.
  • Peter Mandl:Grundkurs Betriebssysteme. Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation, Virtualisierung. 4. Auflage, Springer Vieweg: Wiesbaden, 2014.ISBN 978-3-658-06217-0.
  • Abraham Silberschatz, Peter Baer Galvin, Greg Gagne:Operating System Concepts. Ninth Edition, John Wiley & Sons: Hoboken, 2013.ISBN 978-1-118-06333-0.
  • Andrew S. Tanenbaum, Herbert Bos:Moderne Betriebssysteme. 4., aktualisierte Auflage. Pearson: Hallbergmoos, 2016.ISBN 978-3-86894-270-5.
    • Ältere zitierte Ausgabe: Andrew S. Tanenbaum:Moderne Betriebssysteme. 3., aktualisierte Auflage, Pearson Studium, 2009.
    • Englische Originalausgabe:Modern Operating Systems. 4th Edition, Pearson, 2016.

Weblinks

Commons: Betriebssystem – Sammlung von Bildern, Videos und Audiodateien
Wiktionary: Betriebssystem – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen

Einzelnachweise

  1. Berechnung nachhttps://de.statista.com/ - abgerufen am 2. Februar 2020
  2. Andrew S. Tanenbaum:Moderne Betriebssysteme. Pearson Studium, 3., aktualisierte Auflage,ISBN 978-3-8273-7342-7.
  3. Andrew S. Tanenbaum:Moderne Betriebssysteme. 3., aktualisierte Auflage, Pearson, 2009, S. 33.
  4. abHelmut Herold, Bruno Lurz, Jürgen Wohlrab, Matthias Hopf:Grundlagen der Informatik. 3., aktualisierte Auflage, Pearson, 2017, S. 438.
  5. Andrew S. Tanenbaum:Moderne Betriebssysteme. 3., aktualisierte Auflage, Pearson, 2009, S. 34.
  6. Andrew S. Tanenbaum:Moderne Betriebssysteme. 3., aktualisierte Auflage, Pearson, 2009, S. 35–36.
  7. Peter Mandl:Grundkurs Betriebssysteme. 4. Auflage, Springer, 2014, S. 2.
  8. Zitiert nach Uwe Baumgarten, Hans-Jürgen Siegert:Betriebssysteme. Eine Einführung. 6., überarbeitete, aktualisierte und erweiterte Auflage, Oldenbourg Verlag: München, Wien, 2007, S. 3.
  9. Tanenbaum:Moderne Betriebssysteme. 3. Aufl. 2009, S. 79.
  10. Anthony Ralston, Edwin D. Reilly:Encyclopaedia of Computer Science. New York: Van Nostrand Reinhold, 3. Auflage 1993, S. 1290. Englisches Originalzitat: „Besides managing the hardware resources […], modern operating systems also provide numerous services, such as inter-process communication, file and directory systems, data transfer over networks, and a command language“.
  11. Volker Claus, Andreas Schwill:Duden Informatik A-Z. Fachlexikon für Studium, Ausbildung und Beruf. Mannheim: Bibliographisches Institut & F. A. Brockhaus, 4. Auflage, 2006,ISBN 3-411-05234-1.
  12. ABl. L 151 vom 7. Juni 2019
  13. Christian Piazzi: Arten von Betriebssystemen - Modius - Techblog. 2. Oktober 2015, ehemals im Original (nicht mehr online verfügbar); abgerufen am 11. September 2023 (deutsch).@1@2Vorlage:Toter Link/www.modius-techblog.de (Seite nicht mehr abrufbar.Suche in Webarchiven) 
  14. abKlassifikation des Betriebssystems nach Anzahl der Benutzer. Abgerufen am 11. September 2023. 
  15. abAndrew S. Tanenbaum: Moderne Betriebssysteme, Pearson Studium,2002,ISBN 3-8273-7019-1, Seite 18
  16. SOS Reference Manual, 1959.
  17. Jack Harper,IBM 7090/94 IBSYS Operating System (Memento vom 21. Dezember 2007 imInternet Archive) 2001.
  18. Fernando J. Corbató, Marjorie Merwin Daggett, Robert C. Daley:An Experimental Time-Sharing System, 1962.
  19. E. Jessen:Origin of the Virtual Memory Concept. IEEE Annals of the History of Computing. Band 26. 4/2004, S. 71 ff.
  20. Computer Classics, Jörg und Kerstin Allner, Data Becker Verlag,ISBN 3-8158-2339-0, S. 27
  21. blinkenlights.com, abgerufen am 23. Oktober 2017
  22. Zenon W. Pylyshyn, Liam Bannon:Perspectives on the Computer Revolution. Intellect Books, 1989,ISBN 0-89391-369-3,S. 262, 263 (Google Books – Vergleich Alto und Star mit detaillierten Spezifikationen). 
  23. The Story of Steve Jobs, Xerox and Who Really Invented the Personal Computer. In: Newsweek. 19. März 2016, abgerufen am 19. September 2024 (englisch): „PARC's reputation as Silicon Valley's creative haven attracted the attention of Steve Jobs, the co-founder of then-fledgling Apple. Jobs's company stood on the precipice of a public offering guaranteed to make him and any investors wealthy, and the tech guru's impending good fortune enticed the suits at Xerox to make him an offer he couldn't refuse: Let us buy shares in your company, and we'll give you a peek inside the greatest minds in your field.“ 
  24. Christoph: Apple Lisa: Legendäre Computerneuheit und gigantischer Flop. In: mac-history.net. 1. Mai 2018, abgerufen am 19. September 2024: „Im Xerox PARC hatte Jobs quasi die Erleuchtung gesehen. Nun wollte er auch bei Apple einen Computer bauen, der kinderleicht mit einer Maus zu bedienen war. Den Eintritt in das Forschungszentrum hatte sich Apple durch einen Aktiendeal erkauft: Xerox durfte noch vor dem Börsengang von Apple 100 000 Aktien des Start-up-Unternehmens für den Schnäppchenpreis von einer Millionen Dollar kaufen. Den Xerox-Managern dämmerte allerdings erst zehn Jahre später, dass sie Apple das geistige Eigentum ihrer Forscher im PARC für ein Taschengeld auf dem Silbertablett serviert hatten. Eine Schadenersatzklage gegen Apple hatte dann aber vor Gericht keinen Erfolg.“ 
  25. Android verdrängt Windows vom ersten Platz der Marktanteile. Pro-Linux, 4. April 2017, abgerufen am 4. April 2017. 
  26. Operating System Market Share Worldwide. StatCounter, 31. Dezember 2023, abgerufen am 25. Januar 2023. 
Normdaten (Sachbegriff):GND:4006216-8 (GND Explorer,lobid,OGND,AKS)
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Betriebssystem&oldid=264298264
Kategorien:
Versteckte Kategorie:

[8]ページ先頭

©2009-2026 Movatter.jp