www.wikidata.de-de.nina.az
Ein Betriebssystem auch OS von englisch operating system genannt ist eine Zusammenstellung von Computerprogrammen die die Systemressourcen eines Computers wie Arbeitsspeicher Festplatten Ein und Ausgabegerate verwaltet und diese Anwendungsprogrammen zur Verfugung stellt Das Betriebssystem bildet dadurch die Schnittstelle zwischen den Hardware Komponenten und der Anwendungssoftware des Benutzers 2 Betriebssysteme bestehen in der Regel aus einem Kernel deutsch Kern der die Hardware des Computers verwaltet sowie speziellen Programmen die beim Start unterschiedliche Aufgaben ubernehmen Zu diesen Aufgaben gehort unter anderem das Laden von Geratetreibern Betriebssysteme finden sich in fast allen Arten von Computern Als Echtzeitbetriebssysteme auf Prozessrechnern und eingebetteten Systemen auf Personal Computern Tabletcomputern Smartphones und auf grosseren Mehrprozessorsystemen wie z B Servern und Grossrechnern Zusammenhang zwischen Betriebssystem Hardware Anwendungssoftware und dem BenutzerPC Betriebssysteme Marktanteile in Deutschland 1 Die Aufgaben eines Betriebssystems lassen sich wie folgt zusammenfassen Benutzerkommunikation Laden Ausfuhren Unterbrechen und Beenden von Programmen Verwaltung und Zuteilung der Prozessorzeit Verwaltung des internen Speicherplatzes fur Anwendungen Verwaltung und Betrieb der angeschlossenen Gerate Schutzfunktionen z B durch Zugriffsbeschrankungen Die Gewichtung zwischen diesen Aufgaben wandelte sich im Laufe der Zeit insbesondere wird Schutzfunktionen wie dem Speicherschutz oder begrenzten Benutzerrechten heute eine hohere Bedeutung zugemessen als noch in den 1990er Jahren Dies macht Systeme allgemein robuster reduziert z B die Zahl der Programm und Systemabsturze und macht das System auch stabiler gegen Angriffe von aussen etwa durch Computerviren Dieser Artikel behandelt den Begriff Betriebssystem hauptsachlich im Kontext allgemein zur Informationsverarbeitung verwendete Computersysteme Daneben sind Betriebssysteme mit ggf spezialisierter Funktionalitat grundsatzlich in nahezu allen Geraten 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 Zugen oder in Satelliten zu finden sind besitzen spezialisierte Betriebssysteme Inhaltsverzeichnis 1 Definitionen und Abgrenzung 2 Entwicklungsstufen 3 Aufgaben 4 Betriebsmittelverwaltung und Abstraktion 4 1 Einfuhrendes Beispiel Zeitgeberbausteine 4 1 1 Virtuelle Prozessoren 4 1 2 Virtuelle Zeitgeber 4 2 Abstraktion 4 3 Virtualisierung weiterer Betriebsmittel 4 3 1 Dateisysteme 4 3 2 Interner Speicher 4 3 3 Netzwerk 4 3 4 Bildschirm 5 Geschichte 5 1 Erste Betriebssysteme bis 1980 5 2 Meilensteine 5 2 1 Der C64 ein Heimcomputer der 1980er Jahre 5 2 2 Die grafische Benutzeroberflache GUI von Apple 5 2 3 Der Mac OS Nachfolger 5 2 4 Disk Operating System DOS 5 2 4 1 PC kompatibles DOS 5 2 5 Windows 5 2 6 Linux GNU Linux 6 Verbreitung 7 Siehe auch 8 Literatur 9 Weblinks 10 EinzelnachweiseDefinitionen und Abgrenzung BearbeitenEin Betriebssystem ubernimmt zwei wesentliche Aufgaben die im Grunde in keinem direkten Zusammenhang zueinander stehen 3 Die eine Aufgabe besteht darin dem Anwendungsprogrammierer saubere Abstraktionen der Betriebsmittel zur Verfugung zu stellen anstelle der unschonen Hardware Das Betriebssystem bietet somit eine leichter verstandliche und besser handhabbare Schnittstelle zur eigentlichen Maschine an und versteckt die Komplexitat der darunterliegenden Maschine Der Ansprechpartner fur den Programmierer ist also nicht mehr die wirkliche Maschine sondern eine virtuelle Maschine Betriebssystem welche wesentlich einfacher zu verstehen und zu programmieren ist 4 Das Betriebssystem erzeugt abstrakte Objekte um die Komplexitat beherrschbar zu machen Ein Beispiel fur 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 beschaftigen als mit den Details von Festplattenspeichern 5 Die andere Aufgabe besteht darin die Hardwareressourcen zu verwalten Ein Betriebssystem muss eine geordnete und kontrollierte Zuteilung von Prozessoren Speichereinheiten und Peripheriegeraten unter den verschiedenen Programmen welche darum konkurrieren sicherstellen 4 Das Betriebssystem ordnet und kontrolliert die Allokation der Prozessoren Speicher und Ein Ausgabegerate und uberwacht welches Programm gerade welches Betriebsmittel nutzt Liegen beispielsweise mehrere Auftrage fur einen Drucker vor so muss festgelegt werden wie diese abgearbeitet werden Auf einem modernen Betriebssystem konnen dadurch auch mehrere Programme gleichzeitig ausgefuhrt werden Benutzen mehrere Anwender einen Computer oder ein Netzwerk dann gewinnen Massnahmen zur Verwaltung und zum Schutz von Speicher Ein Ausgabegeraten und anderen Betriebsmitteln noch an Bedeutung Die Benutzer wurden sich sonst gegenseitig storen 6 Die Gesamtheit aller Programme und Dateien die samtliche Ablaufe bei Betrieb eines Rechners steuern wird Systemsoftware genannt Dazu gehoren Betriebssysteme aber auch systemnahe Software wie Compiler Interpreter und Editoren Anwendungssoftware wie beispielsweise Browser oder Buchhaltungssoftware benutzen die Systemsoftware fur einen ordnungsgemassen 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 moglichen Betriebsarten des digitalen Rechensystems bilden und insbesondere die Ausfuhrung von Programmen steuern und uberwachen DIN 44300 8 Fur Andrew S Tanenbaum beschrankt 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 nutzlich sind 9 Viele Lehrbucher folgen dieser engeren Sichtweise Andere Autoren zahlen unter anderem auch eine Kommandosprache zum Betriebssystem Ausser die Hardware zu verwalten bieten moderne Betriebssysteme zahlreiche Dienste an etwa zur Verstandigung der Prozesse untereinander Datei und Verzeichnissysteme Datenubertragung uber Netzwerke und eine Befehlssprache 10 Eine noch weitere Fassung des Begriffes die beispielsweise auch Editoren und Compiler umfasst geht zum Teil auf altere Werke des deutschen Sprachraums zuruck lasst sich aber auch in aktueller Literatur noch finden So zahlen die Autoren des Informatik Dudens auch Ubersetzungsprogramme und Dienstprogramme zu den wesentlichen Komponenten eines Betriebssystems 11 In jungerer Zeit kann der GNU Linux Namensstreit als Beispiel fur die Abgrenzungsprobleme angesehen werden Der Begriff des Betriebssystems ist in Artikel 3 der Richtlinie EU 2019 882 12 legal definiert Ungeachtet dessen wie weit oder wie eng man den Begriff Betriebssystem fasst enthalten die Installationsmedien fur Betriebssysteme fur gewohnlich zusatzliche Dienst und Anwendungsprogramme Entwicklungsstufen BearbeitenDie Entwicklung von Computer Betriebssystemen verlief und verlauft parallel zur Entwicklung und Leistungsfahigkeit verfugbarer Hardware Beide Linien bedingten sich gegenseitig und ermoglichten bzw erforderten Weiterentwicklungen auf der anderen Seite Die Entwicklung verlief zum Teil in kleinen manchmal in grosseren Sprungen Lochkarten verarbeitende Systeme gilt sinngemass auch fur Lochstreifen gehoren mittlerweile seit Anfang der 1970er Jahre der Vergangenheit an Jedoch sind sie ein guter Ansatz zur Betrachtung der Systementwicklung In diesen raumlich relativ grossen Systemen gab es noch keine externen elektronischen Speichermedien Die Programme lagen in Maschinensprache in Form von Lochkartenstapeln vor und wurden durch den Operator uber den Lochkartenleser in den internen Speicher eingelesen Nach der Ende Karte wurde das Anwendungsprogramm gestartet das seine Eingabedaten je nach Aufgabenstellung ebenfalls uber den Kartenleser lesen deshalb der Begriff Stapelverarbeitung engl batch processing queued systems und seine Ergebnisse direkt uber einen Drucker und oder uber den Kartenstanzer ausgeben musste Vor und nachgelagert waren mithilfe elektro mechanischer Gerate Kartenlocher Mischer Sortierer ausgefuhrt Erfassungs Misch und Sortiervorgange erforderlich Bereits zu diesem Zeitpunkt war die interne Verarbeitung deutlich schneller als die Ein Ausgabegerate das Lesen eines Lochkartenstapels Karton mit 2000 Karten dauerte ca 5 10 Minuten die Arbeitsspeichergrossen solcher Rechner lagen bei ca 16 bis 64 kB Beispiel siehe System 360 Diese Maschinen besassen kein konventionelles Betriebssystem wie es heute gelaufig ist Lediglich ein Kontrollprogramm resident monitor wurde im Speicher gehalten und sorgte fur den reibungslosen Ablauf indem es die Kontrolle an die momentan auszufuhrenden Programme ubergab Der Rechner konnte stets nur ein Programm nach dem anderen ausfuhren Eine Weiterentwicklung Multiprogrammed Batch Systems konnte zusatzliche Gerate unterstutzen Magnetbandeinheiten erste Magnetplatten mit z B 7 25 MB Speichervolumen mehrere Programme gleichzeitig ausfuhren z B in 3 Partitionen sowie Programme und Daten auf externen Speichern halten Eine schnellere Abarbeitung war moglich da die Zeit fur das Lesen und Ausgeben der Kartenstapel entfiel und die Prozessoren schneller wurden Hier wurden Mechanismen wie das Spooling Zwischenausgabe von Druckerdaten auf Magnetband mit verzogertem parallel moglichem Drucken und die Moglichkeit des Offline Betriebs bereits ausgiebig genutzt Jedoch war ein Programm notig welches sich der Aufgaben E A Verwaltung Speicherverwaltung und vor allem CPU Scheduling etc annimmt Ab diesem Zeitpunkt konnte man von ersten Betriebssystemen reden Die nachsten 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 die Personal Digital Assistants und Smartphones Im PC Bereich sind derzeit die meistgenutzten Betriebssysteme die verschiedenen Varianten von Windows von Microsoft fuhrend bei Systemen mit GUI BSD inkl macOS von Apple am weitesten verbreitetes Desktop Unix und GNU Linux fuhrend bei Servern Fur spezielle Anwendungen Beispiel industrielle Steuerung werden auch experimentelle Betriebssysteme fur Forschungs und Lehrzwecke eingesetzt Neben den klassischen Varianten gibt es noch spezielle Betriebssysteme fur verteilte Systeme bei denen zwischen dem logischen System und den physischen System en unterschieden wird Der logische Rechner besteht aus mehreren physischen Rechnereinheiten Viele Grossrechner Number Cruncher und die Systeme aus dem Hause Cray arbeiten nach diesem Prinzip Eines der bekanntesten Betriebssysteme im Bereich verteilte Systeme ist Amoeba Siehe auch Liste von BetriebssystemenAufgaben BearbeitenZu den Aufgaben eines Betriebssystems gehoren meist Speicherverwaltung Verwaltung der Systemressource Hauptspeicher Protokollierung der Speichernutzung Reservierung und Freigabe von Speicher Prozess Verwaltung Uberwachung 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 benotigten Speichers Kommunikation und Synchronisation von Prozessen untereinander Interprozesskommunikation Gerate und Dateiverwaltung Effiziente Zuweisung von Ein Ausgabegeraten und Vermittlungseinheiten Datenkanale Steuereinheiten Vermeidung von Konflikten Initiierung Uberwachung der Ausfuhrung Terminierung von Ein Ausgabevorgangen Verwaltung des Dateisystems Erzeugung eines Namensraums mit zugehorigen Speicherobjekten und gegebenenfalls weiteren Objekten Rechteverwaltung Voneinander unabhangige Benutzer Programme durfen sich gegenseitig nicht storen Abstraktion Verbergen der Komplexitat der Maschine vor dem Anwender Abstraktion des Maschinenbegriffes nach Coy Reale Maschine Zentraleinheit Gerate Hardware Abstrakte Maschine Reale Maschine Betriebssystem Benutzermaschine Abstrakte Maschine AnwendungsprogrammAls Gerat aus der Sicht eines Betriebssystems bezeichnet man aus historischen Grunden alles was uber Ein Ausgabekanale angesprochen wird Dies sind nicht nur Gerate im herkommlichen Sinn sondern mittlerweile auch interne Erweiterungen wie Grafikkarten Netzwerkkarten und anderes Die Unter Programme zur Initialisierung und Ansteuerung dieser Gerate bezeichnet man zusammenfassend als Geratetreiber Betriebsmittelverwaltung und Abstraktion BearbeitenAls Betriebsmittel oder Ressourcen bezeichnet man alle von der Hardware eines Computers zur Verfugung gestellten Komponenten also den Prozessor bei Mehrprozessorsystemen die Prozessoren den physischen Speicher und alle Gerate wie Festplatten Disketten und CD ROM Laufwerke Netzwerk und Schnittstellenadapter und andere Die Hardware Compatibility List enthalt alle Hardware Produkte die im Zusammenhang mit einem bestimmten Betriebssystem auf ihre Funktionalitat hin getestet wurden Einfuhrendes Beispiel Zeitgeberbausteine Bearbeiten Moderne Rechnersysteme besitzen Zeitgeberbausteine Timer In fruhen PCs wurde z B der Baustein 8284 des Unternehmens Intel eingesetzt Dieser Baustein muss zunachst 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 dafur geeigneten Sprache meist Assembler programmiert werden muss Da Unterbrechungen asynchron auftreten sind komplexe Verhaltnisse hinsichtlich der Datenstrukturen zu berucksichtigen 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 Bearbeiten 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 sogenanntes praemptives Multitasking Die Initialisierung und die Unterbrechungsroutine werden dabei vom Betriebssystem implementiert Auch wenn nur ein einzelner Prozessor zur Verfugung steht konnen mehrere Programme ausgefuhrt werden jedes Programm erhalt einen Teil der Prozessorzeit Scheduling Jedes Programm verhalt sich bis auf die verlangsamte Ausfuhrungszeit so als hatte es einen eigenen virtuellen Prozessor Virtuelle Zeitgeber Bearbeiten Uber einen Systemruf zum Beispiel alarm wird jedem Programm daruber hinaus ein eigener virtueller Zeitgeber zur Verfugung gestellt Das Betriebssystem zahlt die Unterbrechungen des Original Zeitgebers und informiert Programme die den alarm Systemruf verwendeten Die einzelnen Zeitpunkte werden uber eine Warteschlange verwaltet Abstraktion Bearbeiten Die Hardware des Zeitgebers ist damit vor den Programmen verborgen Ein System mit Speicherschutz erlaubt den Zugriff auf den Zeitgeberbaustein nur uber den Kernel und nur uber exakt definierte Schnittstellen meist Systemrufe genannt die uber spezielle Prozessorbefehle wie TRAP BRK INT realisiert werden Kein Programm kann somit das System gefahrden die Verwendung des virtuellen Zeitgebers ist einfach und portabel Der Anwender oder Programmierer braucht sich nicht um die komplexen Details zu kummern Virtualisierung weiterer Betriebsmittel Bearbeiten So wie Prozessoren und Zeitgeber virtualisiert werden ist dies auch fur alle anderen Betriebsmittel moglich Dabei werden einige Abstraktionen teilweise nur als Software implementiert andere erfordern spezielle Hardware Dateisysteme Bearbeiten Uber 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 Gerateunterschiede sind vollkommen unsichtbar Interner Speicher Bearbeiten Der interne Speicher RAM wird auch Arbeitsspeicher genannt und vom Betriebssystem in Blocke Kacheln aufgeteilt die den geladenen Programmen auf Anforderung zur Verfugung gestellt werden Meist wird der Speicher initialisiert das bedeutet dass dabei allenfalls noch vorhandene Daten zuvor geloscht werden Uber virtuellen Speicher wird bei vielen Systemen jedem Programm ein kontinuierlicher zusammenhangender Bereich zur Verfugung gestellt Die Virtuelle Speicherverwaltung erlaubt einen flexiblen Ansatz bei dem der reale physisch vorhandene Speicher weder zusammenhangend sein muss Segmentierung noch muss er in Summe real wirklich so gross sein wie es aus Sicht der Programme scheint Stattdessen werden einzelne Speicherblocke englisch pages nach Bedarf zwischen Arbeitsspeicher RAM und externem Speicher z B die Auslagerungsdatei hin und her geschoben Paging Netzwerk Bearbeiten Die Details der Netzwerkzugriffe werden verborgen indem auf die eigentliche Hardware Netzwerkkarte ein Protokollstapel aufgesetzt wird Die Netzwerksoftware erlaubt beliebig viele virtuelle Kanale Auf der Ebene der Sockets Programmierung ist die Netzwerkkarte vollkommen unsichtbar das Netzwerk hat viele neue Fahigkeiten bidirektionale zuverlassige Datenstrome Adressierung Routing bekommen Bildschirm Bearbeiten Als Grafische Benutzeroberflache GUI Abk fur engl Graphical User Interface wird generell eine Bildschirmausgabe beschrieben wenn sie uber eine Eingabeaufforderung hinausgeht Mit den richtigen Grafikkarten und Bildschirmen ist die Darstellung von geometrischen Objekten Linien Kreisen Ellipsen aber auch Schriftattributen und Farben auf dem Bildschirm moglich aus denen sich komplexere geometrische Elemente wie Knopfe Menus Benutzeroberflachen etc zum einfachen Steuern von Programmen erstellen lassen Die Grafikkarte als Hardware ist fur den Programmierer und Anwender vollkommen verborgen Geschichte BearbeitenErste Betriebssysteme bis 1980 Bearbeiten Die ersten Computer kamen ohne echtes Betriebssystem aus da lediglich ein einziges Programm im Stapelbetrieb geladen sein konnte und die unterstutzte Hardware noch sehr uberschaubar war Der erste Digitalrechner wurde von Charles Babbage 1792 1872 entwickelt Er sah bereits die Notwendigkeit seine Analytische Maschine mit Software zu betreiben Er stellte die Tochter des bekannten Dichters Lord Byron Ada Lovelace ein um erste Programme zu schreiben Ada Lovelace gilt als die erste Programmiererin Charles Babbage gelang es nie seine Analytische Maschine vernunftig zum Laufen zu bringen Zahnrader Gestange und andere mechanische Teile konnten nicht in der notwendigen Prazision hergestellt werden 13 Nach den erfolglosen Versuchen von Charles Babbage wurden wenige Anstrengungen unternommen ein weiteres Projekt Digitalrechner auf die Beine zu stellen Erst vor dem Zweiten Weltkrieg wurden Babbages Ideen wieder aufgegriffen Erste digitale Rechner wurden auf Basis von elektrischen Relais und Rohren realisiert Zu den ersten Wissenschaftlern gehorten Howard Aiken von der Havard Universitat John von Neumann an der Princeton Universitat John William Mauchly John Presper Eckert in Pennsylvania und Konrad Zuse in Berlin Die ersten Computer wurden von einem Team von Technikern entwickelt welche fur 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 Drahten programmiert wurden Da ein Computer nur ein einziges Programm ausfuhren konnte waren Betriebssysteme unnotig Eine Berechnung einer einzigen Aufgabe dauerte Sekunden und die Ausfuhrung eines Programmes Stunden aber nur dann wenn die Computer mit Tausenden von Rohren oder Relais einwandfrei funktionierten In den fruhen 1950er Jahren wurden elektrische Drahte durch Lochkarten ersetzt 13 Als Betriebssystem Vorlaufer gilt der 1956 in Gestalt des GM NAA I O bei General Motors fur die IBM 704 erfundene resident monitor ein Stuck Software das nach Beendigung eines Stapelauftrags den Folgeauftrag automatisch startete 1959 entstand daraus das SHARE Operating System SOS das bereits uber eine rudimentare Ressourcenverwaltung verfugte 14 Dessen Nachfolger IBSYS verfugte bereits uber eine einfache Shell mit Kommandosprache 15 1961 entstand mit dem Compatible Timesharing System CTSS fur die IBM 7094 am MIT das erste Betriebssystem fur Mehrbenutzerbetrieb Das ermoglichte die quasi gleichzeitige Benutzung der Rechenanlage durch mehrere Anwender mittels angeschlossener Terminals 16 Eine Vielzahl gleichzeitig geladener Programme erforderte es die von ihnen beanspruchten Speicherbereiche voneinander abzugrenzen Als Losung entstand 1956 an der TU Berlin der Virtuelle Speicher 17 und wurde Mitte der 1960er Jahre erstmals in Grossrechner 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 uber verschiedene Generationen hinweg portierbar waren Mit der Einfuhrung der Modellreihe System 360 von IBM fuhrte IBM 1964 das Betriebssystem OS 360 in verschiedenen Versionen OS 360 fur rein lochkartenbasierte Systeme TOS 360 fur Maschinen mit Bandlaufwerken DOS 360 fur solche mit Festplatten ein Es war das erste Betriebssystem das modellreihenubergreifend eingesetzt wurde Ab 1963 wurde Multics in Zusammenarbeit von MIT General Electric und den Bell Laboratories Bell Labs von AT amp T entwickelt das jedoch erst ab 1969 bis 2000 im Einsatz war Multics wurde in PL I programmiert Inspiriert von den Arbeiten an Multics startete eine Gruppe um Ken Thompson und Dennis Ritchie an den Bell Labs 1969 mit der Entwicklung von Unix In den Jahren 1970 bis 1972 wurden mit RSX 15 und RSX 11 fruhe Vorlaufer des heutigen Windows NT entwickelt Unix wurde in den Jahren 1972 1974 bis auf wenige Teile in der hoheren Programmiersprache C mit dem Ziel der Portabilitat neu implementiert um auf der damals neuen PDP 11 lauffahig zu sein In weiterer Folge entwickelte sich UNIX zu einer ganzen Familie von Systemen fur verschiedene Hardwareplattformen Die ersten PCs wie der Altair 8800 von 1975 verfugten zunachst uber kein Betriebssystem Daher mussten samtliche Aktionen in einem reinen Maschinencode eingegeben werden Sein erstes Betriebssystem erhielt der Altair 8800 in Form eines BASIC Interpreters 18 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 uber bestimmte Befehle konnte der Benutzer beispielsweise Daten laden und speichern und Programme ausfuhren 1974 erfand Gary Kildall CP M das als erstes universelles PC Betriebssystem gilt Durch seine modulare Bauweise der plattformunabhangige Kernel BDOS setzte auf einer Hardware Treiberschicht namens BIOS auf liess 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 lauffahig sondern auf zahlreichen PCs Fur die aufkommende Computergrafik reichten rein textbasierte Benutzerschnittstellen nicht mehr aus Die 1973 eingefuhrte Xerox Alto war das erste Computersystem mit einem objektorientierten Betriebssystem 19 und einer grafischen Benutzeroberflache was diesen Rechner fur Desktop Publishing geeignet machte und einen grossen Fortschritt in Sachen Benutzerfreundlichkeit darstellte 20 Meilensteine Bearbeiten Der C64 ein Heimcomputer der 1980er Jahre Bearbeiten C64C System mit VC1541 II Diskettenlaufwerk und 1084S RGB Monitor 1986 In den 1980er Jahren wurden Heimcomputer popular Diese konnten neben nutzlichen Aufgaben auch Spiele ausfuhren Die Hardware bestand aus einem 8 Bit Prozessor mit bis zu 64 KiB RAM einer Tastatur und einem Monitor bzw HF Ausgang Einer der popularsten dieser Computer war der Commodore 64 kurz C64 mit dem Mikroprozessor 6510 einer Variante des 6502 Dieser Computer verfugte uber einen in einem eigenen 8 KiB ROM Baustein befindlichen Systemkern namens Kernal mitsamt einem BIOS Basic Input Output System das die Gerate Bildschirm Tastatur serielle IEC Schnittstelle fur Diskettenlaufwerke bzw Drucker Kassetteninterface initialisierte und uber ein Kanalkonzept teilweise abstrahierte Uber 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 Naturlich sind weder Kernel Speicher oder sonstiger Hardwareschutz vorhanden Viele Programme vor allem auch Spiele setzten sich uber das BIOS hinweg und griffen direkt auf entsprechende Hardware zu Basic Programm Maschinensprachenprogramm8k ROM BASIC PRINT FOR8k ROM BIOS Geratetreiber Kernal JSR MaschinensprachenprogrammHardware Prozessor en Speicher Gerate Abstraktionsschichten im Betriebssystem des Heimcomputers C64 Die grafische Benutzeroberflache GUI von Apple Bearbeiten Beispiel fur eine grafische Benutzeroberflache Hauptartikel Grafische Benutzeroberflache und Desktop Umgebung Xerox entwickelte im Palo Alto Research Center PARC das Smalltalk Entwicklungssystem Xerox entwickelte mit ALTO 1973 und Star 1981 erste Rechner mit grafischer Benutzeroberflache Das Unternehmen Apple 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 Benutzeroberflache die Zukunft gehorte und Apple begann eine eigene grafische Benutzeroberflache zu entwickeln Viele Merkmale und Prinzipien jeder modernen grafischen Benutzeroberflache fur Computer wie wir sie heute kennen sind originale Apple Entwicklungen Pull down Menus die Schreibtischmetapher Drag and Drop Doppelklicken Die Behauptung Apple habe seine GUI von Xerox illegal kopiert ist ein standiger Streitpunkt es existieren jedoch gravierende Unterschiede zwischen einem Alto von Xerox und der Lisa dem Macintosh Der Mac OS Nachfolger Bearbeiten Apple I ComputerMitte der 1990er Jahre steckte das Unternehmen Apple in einer tiefen Krise es schien kurz vor dem Ruin Ein dringliches Problem war dabei dass Apples Betriebssystem Mac OS als veraltet galt weshalb sich Apple nach Alternativen umzusehen begann Nach dem Scheitern des wichtigsten Projektes fur ein modernes Betriebssystem mit dem Codenamen Copland sah sich Apple gezwungen Ausschau nach einem fur die eigenen Zwecke verwendbaren Nachfolger zu halten Zuerst wurde vermutet dass Apple das Unternehmen Be mit ihrem auch auf Macs lauffahigen Betriebssystem BeOS ubernehmen wurde Die Ubernahmeverhandlungen scheiterten jedoch im November 1996 da der fruhere Apple Manager und Chef von Be Jean Louis Gassee im Falle einer Ubernahme 300 Millionen US Dollar und einen Sitz im Vorstand verlangte Da Gil Amelio versprochen hatte bis zur Macworld Expo im Januar 1997 die zukunftige Strategie zu Mac OS zu verkunden musste schnell eine Alternative gefunden werden Uberraschend ubernahm Apple dann noch im Dezember 1996 fur 400 Mio US Dollar das Unternehmen NeXT des geschassten Apple Grunders Steve Jobs mitsamt dem Betriebssystem NeXTStep bzw OPENSTEP das Apples Grundlage fur die nachfolgende neue Betriebssystem Generation werden sollte Unter dem Codenamen Rhapsody wurde es weiterentwickelt zu einem UNIX fur Heim und Burocomputer mit dem Namen Mac OS X von Version 10 8 2012 bis 10 11 hiess es einfach OS X seit Version 10 12 2016 macOS Ab Version 10 5 ist es konform mit der Single UNIX Specification Das Betriebssystem OPENSTEP war die erste Implementierung der OpenStep Spezifikationen die zusammen mit Sun entwickelt wurden Deren Entwicklung hatte Einfluss auf Java und somit letztlich auf Android Disk Operating System DOS Bearbeiten Hauptartikel Disk Operating System Seinen Ursprung hat das Disketten Betriebssystem auf Grossrechnern englisch Mainframes wie dem System 360 von IBM aus den 1960er Jahren Der Ansatz wurde in den 1970ern mit CP M von Digital Research auf den damals aufkommenden Personal Computern ubernommen das sich seinerseits u a an TOPS 10 einer Weiterentwicklung von DOS auf Grossrechnern orientierte Ahnliche Systeme gab es daraufhin auch fur den Commodore PET Commodore DOS den Apple II Apple DOS und den Atari Atari DOS Die Portierung von CP M auf den Motorola 68000 genannt CP M 68k selbst kein grosser kommerzieller Erfolg wurde zur Grundlage fur TOS dem Betriebssystem des Atari ST 86 DOS erschien 1980 als Nachbildung von CP M fur den Intel 8086 wurde von Microsoft gekauft und fur den IBM PCs als PC DOS eingesetzt Es setzt auf das PC BIOS des IBM PC auf und stellt Dateisystemoperationen zur Verfugung Microsoft vertrieb ein fast identisches System auch als MS DOS fur IBM kompatible PCs und x86 PCs Die ersten IBM PCs waren ganz ahnlich wie der C64 aufgebaut Auch sie verfugten uber ein eingebautes BIOS zur Initialisierung und Abstraktion der Hardware Sogar ein BASIC 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 kompatible DOS PCs zu bauen Es wurde jedoch schnell klar dass das BIOS ein unverzichtbarer Teil des IBM PC war ohne den auch keine vollstandige Kompatibilitat moglich war Nachdem das BIOS durch Reverse Engineering nachprogrammiert worden war wurde auch in IBM PC kompatiblen Computern ein BIOS eingesetzt allerdings wurde auf das ROM BASIC verzichtet Die auf anderen PCs und Heimcomputern eingesetzte Varianten von DOS sind nicht zu MS DOS kompatibel etwa AmigaDOS PC kompatibles DOS Bearbeiten Hauptartikel PC kompatibles DOS Hauptartikel IBM PC kompatibler Computer Der PC konnte mit seinem Intel 8088 Prozessor 16 Bit Register bis zu 1 MiB Speicher adressieren die ersten Modelle waren jedoch nur mit 64 KiB ausgestattet Diskettenlaufwerke losten die alten Kassettenrekorder als Speichermedium ab Sie erlauben vielfaches Schreiben und Lesen einzeln adressierbarer 512 Byte Blocke Die Benutzung wird durch ein Disk Operating System DOS vereinfacht das ein abstraktes Dateikonzept bereitstellt Blocke konnen zu beliebig grossen Clustern Zuordnungseinheit kleinste fur das Betriebssystem ansprechbare Einheit zusammengefasst werden Dateien logische Informationseinheiten belegen einen oder mehrere dieser verketteten Cluster Eine Diskette kann viele Dateien enthalten die uber Namen erreichbar sind Auf den ersten PCs war kein Speicherschutz realisiert die Programme konnten daher an DOS vorbei direkt auf BIOS und sogar auf die Hardware zugreifen Erst spatere PCs wurden mit dem Intel 80286 Prozessor ausgestattet der Speicherschutz ermoglichte MS DOS stellte auch keine fur alle Zwecke ausreichende Abstraktion zur Verfugung Es liess sich nur ein Programm gleichzeitig starten die Speicherverwaltung war eher rudimentar Ein Teil der Hardware wurde nicht unterstutzt und musste von Programmen direkt angesprochen werden was dazu fuhrte dass beispielsweise fur jedes Spiel die Soundkarte neu konfiguriert werden musste Die Performance einiger Routinen speziell zur Textausgabe war verbesserungswurdig Viele Programme setzten sich daher uber das Betriebssystem hinweg und schrieben z B direkt in den Bildschirmspeicher MS DOS wurde mit einem Satz von Programmen sogenannten Werkzeugen und einem Kommandointerpreter COMMAND COM ausgeliefert Anwenderprogramm COMMAND COM WORDSTAR MSDOS Dateisystem INT Anwenderprogramm COMMAND COM WORDSTAR BIOS Geratetreiber INT Anwenderprogramm COMMAND COM WORDSTAR Hardware Prozessor en Speicher Gerate Abstraktionsschichten eines PC unter DOS Windows Bearbeiten Hauptartikel Microsoft Windows 1983 begann das Unternehmen Microsoft mit der Entwicklung einer grafischen Betriebssystem Erweiterung Grafik Aufsatz fur MS DOS namens Windows Das MS DOS und BIOS Design der PCs erlaubten keine Weiterentwicklung in Richtung moderner Serverbetriebssysteme Microsoft begann Anfang der 1990er Jahre ein solches Betriebssystem zu entwickeln das zunachst als Weiterentwicklung von OS 2 geplant war an dessen Entwicklung Microsoft zwischen 1987 und 1991 beteiligt war Windows NT 3 1 Juli 1993 Fur den Consumer Markt brachte Microsoft am 15 August 1995 Windows 95 heraus es setzt auf MS DOS auf Dieser Consumer Zweig zusammengefasst Windows 9x wurde mit der Veroffentlichung von Windows Me August September 2000 abgeschlossen Aufbau von Windows NT Uber die Hardware wurde eine Abstraktionsschicht der Hardware Abstraction Layer HAL gelegt auf den der Kernel aufsetzte Verschiedene Geratetreiber waren als Kernelmodule ausgefuhrt und liefen wie der Kernel im privilegierten Kernel Mode Sie stellten Moglichkeiten der E A Verwaltung Dateisystem Netzwerk Sicherheitsmechanismen virtuellen Speicher usw zur Verfugung Systemdienste System Services erganzten das Konzept wie ihre Unix Pendants die daemons waren sie in Form von Prozessen im User Mode ausgefuhrt OS 2 Programme Win32 Anwendungen DOS Programme Win16 Programme POSIX Programme User ModeWin32 Anwendungen Andere DLLs DOS System Windows onWindowsOS 2 Subsystem Win32 Subsystem kernel32 dll user32 dll gdi32 dll Win32 Subsystem kernel32 dll user32 dll gdi32 dll Win32 Subsystem kernel32 dll user32 dll gdi32 dll POSIX SubsystemSystemdienste Kernel ModeEin Ausgabe Manager Dateisystem Netzwerk Objektmanager Security Resource Manager ProcessmanagerLocal Procedure Call Manager Virtual Memory ManagerMikrokernel Window ManagerGeratetreiber Hardware Abstraktions Schicht HAL GrafiktreiberHardware Prozessor en Speicher Gerate Abstraktionsschichten unter Windows NT etwas vereinfacht Uber sogenannte Personalities wurden dann die Schnittstellen bestehender Systeme nachgebildet zunachst fur Microsofts eigenes neues Win32 System aber auch fur OS 2 ohne Grafik und POSIX 1 also einer Norm die eigentlich Unix Systeme vereinheitlichen sollte Personalities liefen wie Anwenderprogramme im unprivilegierten User 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 dem Windows on Windows auch Win16 Programme ausgefuhrt 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 Ausfuhrung von Programmen sowohl fur MS DOS wie fur die alteren Windows Betriebssysteme allerdings unter vollkommener Kontrolle des Betriebssystems Dies galt aber nur fur die Implementierung fur Intel 80386 Prozessoren und deren Nachfolger Programme die direkt auf die Hardware zugreifen blieben aber aussen vor Insbesondere viele Spiele konnten daher nicht unter Windows NT ausgefuhrt werden zumindest bis zur Vorstellung von WinG das spater in DirectX umbenannt wurde Ohne die Moglichkeit eines direkten Zugriffs auf die Grafikhardware bzw treiber war die Programmierung von leistungsfahigen Actionspielen zunachst auf die alteren Windows Versionen beschrankt Windows NT erschien in den Versionen 3 1 3 5 3 51 und 4 0 Windows 2000 stellte eine Weiterentwicklung von Windows NT dar Auch Windows XP Windows Server 2003 Windows Vista Windows Server 2008 Windows 7 Windows Server 2012 Windows 8 8 1 und Windows 10 bauen auf der Struktur von Windows NT auf Linux GNU Linux Bearbeiten Linus Torvalds Entwickler von Linux Hauptartikel Linux 1991 begann Linus Torvalds in Helsinki Finnland mit der Entwicklung des Linux Kernels den er bald danach der Offentlichkeit zur Verfugung stellte Es lauft als portables Betriebssystem auf verschiedenen Rechnerarchitekturen wurde aber zunachst fur PCs mit Intel 80386 Prozessor entwickelt Das in diesen Rechnern verwendete BIOS dient nur noch zum Initialisieren der Hardware und zum Starten des Bootloaders da die Routinen des BIOS fur 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 Geratetreiber Es verteilt die Prozessorzeit auf verschiedene Programme Prozesse Jeder dieser Prozesse erhalt einen eigenen geschutzten Speicherbereich und kann nur uber Systemaufrufe auf die Geratetreiber und das Betriebssystem zugreifen Die Prozesse laufen im Benutzermodus user mode wahrend der Kernel im Kernel Modus kernel mode arbeitet Die Privilegien im Benutzermodus sind sehr eingeschrankt Ein direkter Zugriff wird nur sehr selten und unter genau kontrollierten Bedingungen gestattet Dies hat den Vorteil dass kein Programm z B durch einen Fehler das System zum Absturz bringen kann Linux stellt wie sein Vorbild Unix eine vollstandige Abstraktion und Virtualisierung fur nahezu alle Betriebsmittel bereit z B virtueller Speicher Illusion eines eigenen Prozessors Anwenderprogramme z B Textverarbeitung Tabellenkalkulation oder Browser User ModeComplex Libraries GLib GTK Qt SDL EFL AnwenderprogrammeComplex Libraries GLib kde Simple Libraries sin opendbm AnwenderprogrammeC Standard Bibliothek glibc open exec sbrk socket fopen callocSystemaufrufe TRAP CALL BRK INT je nach Hardware Kernel ModeKernel Geratetreiber Prozesse Netzwerk Dateisystem Hardware Prozessor en Speicher Gerate Fast vollstandige Abstraktion unter LinuxVerbreitung BearbeitenDas Unternehmen StatCounter analysiert die Verbreitung von Endanwender Betriebssystemen anhand von Zugriffsstatistiken diverser Websites Viele Jahre lang lag Windows an der Spitze bis es laut StatCounter 2017 von Android uberholt wurde 21 Die laut StatCounter am weitesten verbreiteten Endanwender Betriebssysteme sind 22 2017 20181 Android 31 76 38 97 2 Windows 43 82 37 07 3 iOS 11 71 13 18 4 macOS 5 09 5 24 5 Linux 0 94 0 76 nicht identifizierte B 3 64 2 72 andere Betriebssysteme 3 03 2 06 Siehe auch BearbeitenEchtzeitbetriebssystem Liste von BetriebssystemenLiteratur BearbeitenAlbrecht Achilles Betriebssysteme Eine kompakte Einfuhrung mit Linux Springer Berlin Heidelberg 2006 ISBN 978 3 540 23805 8 Uwe Baumgarten Hans Jurgen Siegert Betriebssysteme Eine Einfuhrung 6 uberarbeitete aktualisierte und erweiterte Auflage Oldenbourg Verlag Munchen Wien 2007 Erich Ehses Lutz Kohler 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 Jurgen 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 amp 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 Altere zitierte Ausgabe Andrew S Tanenbaum Moderne Betriebssysteme 3 aktualisierte Auflage Pearson Studium 2009 Englische Originalausgabe Modern Operating Systems 4th Edition Pearson 2016 Weblinks Bearbeiten Commons Betriebssystem Sammlung von Bildern Videos und Audiodateien Wiktionary Betriebssystem Bedeutungserklarungen Wortherkunft Synonyme Ubersetzungen Linkkatalog zum Thema Betriebssysteme bei curlie org ehemals DMOZ Informationen zu allen Betriebssystemen Lowlevel Wiki und Forum zur Betriebssystementwicklung Online Einzelnachweise Bearbeiten Berechnung nach https de statista com abgerufen am 2 Februar 2020 Andrew S Tanenbaum Moderne Betriebssysteme Pearson Studium 3 aktualisierte Auflage ISBN 978 3 8273 7342 7 Andrew S Tanenbaum Moderne Betriebssysteme 3 aktualisierte Aufl Pearson 2009 S 33 a b Helmut Herold Bruno Lurz Jurgen Wohlrab Matthias Hopf Grundlagen der Informatik 3 aktualisierte Auflage Pearson 2017 S 438 Andrew S Tanenbaum Moderne Betriebssysteme 3 aktualisierte Aufl Pearson 2009 S 34 Andrew S Tanenbaum Moderne Betriebssysteme 3 aktualisierte Aufl Pearson 2009 S 35 36 Peter Mandl Grundkurs Betriebssysteme 4 Aufl Springer 2014 S 2 Zitiert nach Uwe Baumgarten Hans Jurgen Siegert Betriebssysteme Eine Einfuhrung 6 uberarbeitete aktualisierte und erweiterte Auflage Oldenbourg Verlag Munchen Wien 2007 S 3 Tanenbaum Moderne Betriebssysteme 3 Aufl 2009 S 79 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 Volker Claus Andreas Schwill Duden Informatik A Z Fachlexikon fur Studium Ausbildung und Beruf Mannheim Bibliographisches Institut amp F A Brockhaus 4 Aufl 2006 ISBN 3 411 05234 1 ABl L 151 vom 7 Juni 2019 a b Andrew S Tanenbaum Moderne Betriebssysteme Pearson Studium 2002 ISBN 3 8273 7019 1 Seite 18 SOS Reference Manual 1959 Jack Harper IBM 7090 94 IBSYS Operating System 2001 Fernando J Corbato Marjorie Merwin Daggett Robert C Daley An Experimental Time Sharing System 1962 E Jessen Origin of the Virtual Memory Concept IEEE Annals of the History of Computing Band 26 4 2004 S 71 ff Computer Classics Jorg und Kerstin Allner Data Becker Verlag ISBN 3 8158 2339 0 S 27 blinkenlights com abgerufen am 23 Oktober 2017 Zenon W Pylyshyn Liam Bannon Perspectives on the Computer Revolution Intellect Books 1989 ISBN 978 0 89391 369 4 S 262 263 Google Books Vergleich Alto und Star mit detaillierten Spezifikationen Android verdrangt Windows vom ersten Platz der Marktanteile Pro Linux 4 April 2017 abgerufen am 4 April 2017 Operating System Market Share Worldwide StatCounter 5 September 2018 abgerufen am 5 September 2018 Abgerufen von https de wikipedia org w index php title Betriebssystem amp oldid 233988519