Wikipedia · einfach zusammengefasst · Stand
Betriebssystem
Betriebssysteme bestehen in der Regel aus einem Kernel (deutsch: Kern), der die Hardware des Computers verwaltet, sowie speziellen Programmen, die beim Start …
Inhalt6 Abschnitte
Grundidee und Aufgaben
Ein Betriebssystem (OS, englisch operating system) ist eine Zusammenstellung von Programmen, die die Systemressourcen eines Computers verwaltet und Anwendungsprogrammen bereitstellt. Es bildet die Schnittstelle zwischen Hardware und Anwendungssoftware. Meist besteht es aus dem Kernel (Kern), der die Hardware verwaltet, und weiteren Programmen, die beim Systemstart Aufgaben wie das Laden von Gerätetreibern übernehmen.
Betriebssysteme kommen auf PCs, Tabletcomputern, Smartphones, Servern und Großrechnern vor, ebenso als Echtzeitbetriebssysteme in Prozessrechnern und eingebetteten Systemen, etwa in Steuerungen von Flugzeugen, Autos, Zügen oder Satelliten.
Zu ihren zentralen Aufgaben gehören Benutzerkommunikation, das Laden, Ausführen, Unterbrechen und Beenden von Programmen, die Zuteilung der Prozessorzeit, Speicherverwaltung, Gerätebetrieb und Schutzfunktionen. Dazu zählen etwa Zugriffsbeschränkungen, Speicherschutz und begrenzte Benutzerrechte. Solche Schutzfunktionen haben heute größere Bedeutung als in den 1990er Jahren, weil sie Abstürze verringern und Systeme besser gegen Angriffe, etwa Computerviren, absichern.
Systemsoftware umfasst alle Programme und Dateien, die Abläufe beim Betrieb eines Rechners steuern. Betriebssysteme gehören dazu; auch Compiler, Interpreter und Editoren sind systemnah. Browser oder Buchhaltungssoftware sind dagegen Anwendungssoftware.
Definition, Abstraktion und Ressourcenverwaltung
Ein Betriebssystem hat zwei grundlegende Aufgaben. Erstens schafft es Abstraktionen: Es verbirgt die komplizierten Details der Hardware und bietet Programmierern eine einfachere virtuelle Maschine. Eine Datei ist ein Beispiel: Sie kann ein Digitalfoto, eine gespeicherte E-Mail oder eine Website enthalten. Für Nutzer und Programme ist sie leichter handhabbar als die Struktur eines Festplattenspeichers.
Zweitens teilt das Betriebssystem Hardware-Ressourcen geordnet zu und überwacht ihre Nutzung. Dazu gehören Prozessoren, Speichereinheiten und Peripheriegeräte, also Ein- und Ausgabegeräte. Konkurrieren mehrere Programme etwa um einen Drucker, legt das Betriebssystem die Reihenfolge der Aufträge fest. So können mehrere Programme gleichzeitig laufen; bei mehreren Nutzern schützt die Verwaltung außerdem davor, dass diese sich gegenseitig stören.
Nach DIN 44300, die veraltet ist und durch ISO/IEC 2382:2015 ersetzt wurde, bilden die Programme des Betriebssystems zusammen mit den Eigenschaften der Rechenanlage die Grundlage möglicher Betriebsarten; sie steuern und überwachen besonders die Ausführung von Programmen. Wie weit der Begriff reicht, wird unterschiedlich gesehen: Andrew S. Tanenbaum beschränkt ihn im Wesentlichen auf den Kernel und zählt beispielsweise Editoren, Compiler, Assembler, Binder und Kommandointerpreter nicht dazu. Andere Auffassungen zählen auch eine Befehlssprache, Datei- und Verzeichnissysteme, Netzwerkdienste oder sogar Übersetzungs- und Dienstprogramme dazu. Die EU-Richtlinie 2019/882 zählt auch die Standardschnittstelle einschließlich einer grafischen Nutzerschnittstelle zum Betriebssystem.
Wie Betriebsmittel virtualisiert werden
Betriebsmittel oder Ressourcen sind alle Hardware-Komponenten: Prozessoren, physischer Speicher sowie Geräte wie Laufwerke, Netzwerk- und Schnittstellenadapter. Gerätetreiber sind Programme zur Initialisierung und Ansteuerung solcher Geräte; aus Sicht des Betriebssystems zählen auch interne Erweiterungen wie Grafik- und Netzwerkkarten zu den Geräten.
Ein Zeitgeberbaustein (Timer) kann den Prozessor nach einer Zeitspanne oder periodisch unterbrechen. Ein modernes Mehrprogrammbetriebssystem nutzt ihn, um einen gewöhnlich einzelnen Prozessor typischerweise im Millisekundenbereich zu unterbrechen und gegebenenfalls ein anderes Programm fortzusetzen. Dieses präemptive Multitasking teilt jedem Programm Prozessorzeit zu; jedes Programm besitzt dadurch scheinbar einen eigenen virtuellen Prozessor. Über einen Systemruf wie alarm kann es außerdem einen virtuellen Zeitgeber erhalten. Der Kernel zählt die Unterbrechungen des echten Timers und verwaltet die angeforderten Zeitpunkte in einer Warteschlange.
Speicherschutz erlaubt den Zugriff auf Hardware wie den Timer nur über den Kernel und genau definierte Schnittstellen, meist Systemrufe. Diese können durch Befehle wie TRAP, BRK oder INT umgesetzt werden. Das macht die Nutzung portabel und verhindert, dass ein einzelnes Programm das System gefährdet.
Dateisysteme verbergen die Blockstruktur und Unterschiede von Festplatten-, Disketten- oder CD-ROM-Laufwerken hinter Dateinamen und Verzeichnissen. Den Arbeitsspeicher (RAM) teilt das Betriebssystem in Blöcke oder Kacheln ein und stellt sie Programmen auf Anforderung bereit. Virtueller Speicher lässt jedes Programm einen zusammenhängenden Bereich sehen, obwohl der reale Speicher nicht zusammenhängend sein muss (Segmentierung) oder insgesamt kleiner sein kann. Beim Paging werden pages nach Bedarf zwischen RAM und externem Speicher, etwa einer Auslagerungsdatei, verschoben. Im Netzwerk verdeckt ein Protokollstapel die Netzwerkkarte und liefert virtuelle Kanäle; auf Socket-Ebene sind etwa Adressierung, Routing sowie bidirektionale zuverlässige Datenströme verfügbar. Auch eine GUI abstrahiert die Grafikhardware und ermöglicht Elemente wie Menüs und Knöpfe.
Arten von Betriebssystemen
Nach der Betriebsart unterscheidet man Batch-Systeme, Dialogsysteme und Echtzeitsysteme. Bei einem Batch-System beziehungsweise Jobsystem oder einer Stapelverarbeitung muss der Nutzer warten, bis sein Programm an der Reihe ist; die Antwortzeit ist nicht begrenzt. Als Beispiele nennt der Artikel DOS, OS/2 und Windows. In einem Dialogsystem kann eine einzelne Antwort lange dauern, im Durchschnitt wird aber eine vorgegebene Antwortzeit eingehalten. Beispiele sind MS Windows XP, Windows 7/8, Unix und Linux. Ein Echtzeitsystem muss einen festgelegten Grenzwert der Antwortzeit in jedem Fall einhalten und antwortet sofort; Beispiele sind QNX und VxWorks.
Ein Ein-Nutzer-Betriebssystem kann nur von einem Nutzer gleichzeitig verwendet werden, beispielsweise Betriebssysteme auf Handys oder Navigationssystemen. Ein Mehr-Nutzer-Betriebssystem verwaltet und bedient mehrere Nutzer gleichzeitig beziehungsweise quasi-parallel; Unix und Linux sind Beispiele.
Bei Ein-Prozess-Betriebssystemen kann nur ein Auftrag oder Prozess zu einem Zeitpunkt bearbeitet werden, etwa bei MS-DOS. Mehr-Prozess-Betriebssysteme verwalten mehrere Aufträge gleichzeitig beziehungsweise quasi-parallel. Multithreading entwickelt dieses Prinzip weiter, indem mehrere Threads in einem Prozess zusammengefasst werden können. Beispiele sind Unix, Linux sowie Windows XP, Windows 7 und Windows 8.
Entwicklung und wichtige Systeme
Frühe Lochkartensysteme besaßen noch kein heutiges Betriebssystem. Programme wurden als Lochkartenstapel in den internen Speicher eingelesen und nacheinander ausgeführt. Ein resident monitor hielt sich im Speicher und übergab die Kontrolle an das jeweils auszuführende Programm. Multiprogrammed Batch Systems konnten später zusätzliche Geräte, externe Speicher und mehrere Programme in Partitionen nutzen. Sie verwendeten unter anderem Spooling, also das Zwischenspeichern von Druckdaten mit verzögertem, parallel möglichem Drucken, und benötigten bereits Ein-/Ausgabe-, Speicher- und Prozessorzeitverwaltung (CPU-Scheduling).
Als Betriebssystem-Vorläufer gilt der 1956 bei General Motors für die IBM 704 entwickelte resident monitor GM-NAA I/O. 1959 folgten SHARE Operating System (SOS) mit rudimentärer Ressourcenverwaltung und dessen Nachfolger IBSYS mit einfacher Shell und Kommandosprache. 1961 entstand am MIT für die IBM 7094 das Compatible Timesharing System (CTSS) als erstes Mehrbenutzerbetriebssystem. Virtueller Speicher wurde 1956 an der TU Berlin entwickelt und Mitte der 1960er Jahre erstmals in Großrechner-Betriebssystemen umgesetzt. IBM führte 1964 OS/360 als erstes modellreihenübergreifendes Betriebssystem ein.
Unix wurde ab 1969 von einer Gruppe um Ken Thompson und Dennis Ritchie bei den Bell Labs entwickelt und 1972–1974 weitgehend in C neu implementiert, um portabel zu sein. CP/M, 1974 von Gary Kildall erfunden, gilt als erstes universelles PC-Betriebssystem. Seine Trennung aus plattformunabhängigem Kernel BDOS und Hardware-Treiberschicht BIOS erleichterte die Portierung. Die Xerox Alto von 1973 war das erste Computersystem mit objektorientiertem Betriebssystem und grafischer Benutzeroberfläche.
MS-DOS beziehungsweise PC DOS stammt von 86-DOS ab, das 1980 als CP/M-Nachbildung für den Intel 8086 erschien und von Microsoft gekauft wurde. Es bot Dateisystemoperationen über das PC-BIOS, aber keinen Speicherschutz, nur ein gleichzeitig startbares Programm und rudimentäre Speicherverwaltung. Windows begann 1983 als grafische Erweiterung für MS-DOS. Windows NT 3.1 erschien im Juli 1993 und setzte auf eine Hardware Abstraction Layer (HAL), Kernel, Treiber und Systemdienste. Windows 95 erschien am 15. August 1995 und beruhte noch auf MS-DOS. Windows 2000 sowie Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2012, Windows 8/8.1 und Windows 10 bauen auf Windows NT auf.
Linus Torvalds begann 1991 in Helsinki mit Linux. Linux verteilt Prozessorzeit auf Prozesse, gibt jedem einen geschützten Speicherbereich und erlaubt Hardwarezugriffe normalerweise nur über Systemaufrufe. Prozesse laufen im eingeschränkten user mode, der Kernel im kernel mode. Linux stellt wie Unix weitreichende Abstraktion und Virtualisierung bereit, etwa virtuellen Speicher und die Illusion eines eigenen Prozessors.
Verbreitung
StatCounter wertet Zugriffsstatistiken verschiedener Websites aus, um die Verbreitung von Endanwender-Betriebssystemen zu ermitteln. Windows lag viele Jahre vorn, wurde laut StatCounter aber 2017 von Android überholt.
Für 2023 nennt die Statistik Android mit 41,64 % auf Platz 1, Windows mit 29,25 % auf Platz 2, iOS mit 17,71 % auf Platz 3, macOS mit 6,57 % auf Platz 4 und Linux mit 1,54 % auf Platz 5. Unerkannte Systeme erreichten 1,93 %, andere 1,36 %.
Lernvideos zu Betriebssystem
12:51
Welches Betriebssystem fürs Informatikstudium? (Empfehlung eines Informatikers)
Niklas Steenfatt · 130.610 Aufrufe
5:08
Was ist ein Betriebssystem? Computer & IT-Wissen einfach erklärt
Computer & IT-Wissen - einfach erklärt · 100.098 Aufrufe
6:12
Betriebssystem-Grundlagen für den Informatikunterricht
Peer Stechert · 43.410 Aufrufe
8:32
So funktioniert ein Betriebssystem? (Überblick)
IT auf den Punkt · 19.571 Aufrufe