Betriebssysteme

3.4142357059362 (1714)
Geschrieben von robby 18/03/2009 @ 12:24

Tags : betriebssysteme, computer, high-tech

Neueste Nachrichten
Zehn legendäre Betriebssysteme - tecChannel
Betriebssysteme und Anwender haben oft eine wechselhafte Beziehung zueinander. Mal ist das OS zu jung und noch nicht ausgereift. Oder das System ist schon älter und zeigt sich neuer Technologie gegenüber verstockt. Erst im Rückblick zeigt sich die...
Neuer Google-Browser wieder nur für Windows: Chrome 2.0 - freshzweinull+++
Ach, wie schön: Google hat seinen Browser “Chrome” jetzt bereits in der zweiten Generation herausgebracht: Chrome 2.0 steht als geringfügig verbesserte Version für Windows-Betriebssysteme zum Download bereit. Für Linux und Mac gibt es derweil noch...
Google Sync ab sofort auch für Symbian Handys - Software News
Nutzer von iPhones, Blackberrys und Handys mit dem Betriebssysteme Windows Mobile, können die Software schon seit einiger Zeit nutzen. Für Handys, die mit dem Betriebssystem Symbian S60 ausgerüstet sind, steht Google Sync ab sofort zur Verfügung....
Moblin: Angepasstes Linux für Netbooks - TweakPC
Netbooks sind der neue Hype, aber wirklich gut laufen die Standard-Betriebssysteme darauf nicht. Eine speziell angepasste Version wäre vorteilhaft. Genau diesen Schritt hat Intel zum Start der Atom-Prozessoren mit dem Projekt Moblin eingeleitet....
Kommt Windows 7 am 15. Oktober? - ComputerBase
Oktober gesetzt hatte und Microsoft persönlich bestätigte, dass das Betriebssystem zur Holiday Season auf dem Markt verfügbar sei, äußert sich nun in Persona von Paul Thurrott ein bekannter Microsoft-Kenner mit einem weiteren Datum....
Microsoft: Windows 7 erscheint noch 2009! - Software- und Freeware News
Begeisterte Anwender der Betriebssysteme aus dem Hause Microsoft dürfen sich freuen! - Das bereits gefeierte Windows 7 lässt nicht mehr lange auf sich warten und erscheint noch dieses Jahr! Gerüchte brodelten schon länger, doch nun ist es Fakt!...
Der freie Hypervisor Xen 3.4 und die Virtualisierungsstrategie - Heise Newsticker
Xen arbeitet als eine Art "Überbetriebssystem" direkt auf der Hardware und erlaubt so das Ausführen mehrerer (virtualisierter) Betriebssysteme auf einem System. Es wird derzeit vor allem für die Virtualisierung von Servern eingesetzt....
Windows 7: Der Mega-Test: das beste Windows aller Zeiten - gamona.de
@Alarna: stimme dir zu, hört sich an wie eine lobeshymne der nebensächlichkeiten.andere betriebssysteme haben die hier genannten verbesserungen schon lange .sicher gehts nie,alles kann gehackt werden...und wies nun aussieht interessiert auch nen...
Mit VMware Server virtuelle Betriebssysteme einrichten - PC-Welt
Die Installation eines virtuellen Betriebssystems im VMware-Server birgt keine Gefahren, Sie ersparen sich das Partitionieren der Festplatten und können so beispielsweise bequem die zahlreichen Linux-Varianten testen, bevor Sie diese im...

Entwicklung der Betriebssysteme

Von 1945 bis etwa 1955 hatten die damals entwickelten Computer noch keine Betriebssysteme. Für immer komplexere Hardware wurden vorgefertigte Standardroutinen entwickelt, die Vorläufer der ersten Betriebssysteme.

Um 1955 wurde der Stapelbetrieb (Batch) eingeführt. Die Jobs waren dabei auf Lochstreifen oder Lochkarten gespeichert und wurden nacheinander eingelesen und ausgeführt. Die Stapel bestanden z. B. aus einigen Initialisierungskarten zur Auswahl der Ausgabegeräte, die Befehle in den ersten Kontrollsprachen (Job Control Language JCL) enthielten, einer Compile-Anweisung, einem FORTRAN oder ALGOL-Programm und den Karten mit den Eingabedaten. Die Maschine initialisierte das System, kompilierte das Programm und führte es anschließend aus. Die Ausgabe oder eventuelle Programmierfehler wurden meist in Papierform dem Anwender wieder ausgehändigt.

Um die großen teuren Maschinen besser auszulasten, wurden noch vor den 1960er Jahren höhere Programmiersprachen entwickelt. Es wurden teilweise kleinere Computer verwendet, um die Jobs in den Stapeln auf Band zu schreiben, die dann ohne Verzögerung nacheinander auf großen Maschinen im SPOOL-Betrieb ablaufen konnten (SPOOL hieß „Serial Peripheral Operations Online“, d. h. serielle Online-Ein-/Ausgabe-Operationen). Ein kleines Monitorprogramm auf der großen Maschine las das Band, das viele Jobs enthielt, ein und steuerte die Ausführung. Die Ergebnisse konnten wieder auf Band geschrieben werden und später durch die kleineren Maschinen ausgedruckt werden. Ein Beispiel hierfür war der FMS (Fortran Monitor System), der auf dem Großrechner IBM 7094 lief. Kleinere und billigere IBM 1401 Maschinen dienten als Vorrechner und bereiteten die Bänder vor. FMS könnte daher als eines der ersten Betriebssysteme angesehen werden.

In den 1960er Jahren wurden Timesharing-Systeme entwickelt, die teuren Computer sollten im Dialogbetrieb von mehreren Benutzern verwendet werden. Der Prozessor wurde dabei periodisch unterbrochen und Programmen anderer Benutzer zugeteilt (Mehrprogrammbetrieb). Die Programme teilten sich also den Prozessor. Im Prinzip sah dies so aus, als ob jedes Programm seinen eigenen Prozessor hätte. Ein Beispiel für ein Timesharing-System war das CTSS am MIT (CTSS hieß compatible time sharing system, also kompatibles Zeitverteilsystem). Dieses System hieß kompatibel, weil zusätzlich der FMS-Monitor als Benutzer laufen konnte. Neben dem Dialogbetrieb konnte daher das JOB-SPOOLing zusätzlich nebenher, quasi im Hintergrund, ablaufen. Die Ausnutzung der IBM 7094 war damit gewährleistet.

In diese Zeit fiel auch das ambitionierte Multics-Projekt, das neben Mehrprogrammbetrieb auch neue Konzepte wie virtuelle Speicherverwaltung und Implementation in einer höheren Programmiersprache (PL/I) zu verwirklichen versuchte.

Zu dieser Zeit kamen auch kostengünstigere Minicomputer auf, die nicht nur den Rechenzentren großer Unternehmen und Universitäten die Anschaffung eigener Computer ermöglichten. Vielmehr konnten einzelne Abteilungen eigene, kleine so genannte Datenprozessoren anschaffen. Der Begriff Computer wurde vermieden, da man darunter zu dieser Zeit die großen, teuren Geräte verstand. Minicomputer kosteten hingegen nur einen Bruchteil (ca. 20.000 bis 100.000 US-Dollar). Sie wurden Ende der 1960er und Anfang der 1970er Jahre unter anderem von den Entwicklern des Betriebssystems Unix bei AT&T eingesetzt, die am Multics-Projekt mitgearbeitet hatten, einige Konzepte übernahmen und neue entwickelten, unter anderem ein hierarchisches Dateisystem. Ein Kernel übernahm die Kontrolle über die Hardware und stellte abstrakte Funktionen zur Verfügung.

Das zum Großteil in der Programmiersprache C geschriebene Unix wurde auf viele damalige Computersysteme portiert, die großen Hersteller entwickelten aber auch eigene Betriebssysteme mit anderen Zielen wie Zuverlässigkeit und Wartbarkeit. Beispiele hiervon sind MVS der Firma IBM für deren Großrechnersysteme und VMS der Firma Digital Equipment Corporation für die VAX-Prozessorlinie. Diese Systeme waren in Assemblersprache geschrieben und auf die Produkte der jeweiligen Firmen beschränkt.

1971 erschien der erste Mikroprozessor (4-Bit) der Firma Intel namens 4004, der für kleine Aufgaben wie Computerterminals oder Taschenrechner geeignet war. Schon wenige Jahre später wurden dessen 8-Bit Nachfolger Intel 8008 und Intel 8080 in diversen Computern eingesetzt. Das Konzept war erfolgreich und fand schnell Nachahmer, darunter der 6502-Prozessor (der auch im Apple II und Commodore PET zum Einsatz kam) und der Zilog Z80. Diese Computer hatten bereits einfache Betriebssysteme ohne Kernel. Sie enthielten einen BASIC-Interpreter und hatten recht gute Grafikfähigkeiten, teilweise sogar in Farbe. Die Leistungsfähigkeit erreichte die einfacher Minicomputer, der Preis war sensationell günstig (ca. 1500 bis 3000 Dollar). Daher wurden diese Rechner auch Heimcomputer genannt, Privatanwender konnten sich jetzt Computersysteme leisten.

Viele Firmen stellten Heimcomputer her, die auch als Ersatz für die damaligen Spielkonsolen eingesetzt werden konnten. Daneben stellten einige Firmen schon professionelle Systeme her, die meist schon Diskettenlaufwerke besaßen. Rechner, die mit dem 8-Bit-Prozessor 8080 von Intel oder dem Z80 von Zilog ausgestattet waren, konnten unter dem Betriebssystem CP/M laufen, welches über eine Systemdiskette in den Speicher geladen wurde.

Die Systeme wurden jedoch einige Jahre später fast vollständig durch den IBM-PC, weniger durch den Apple Macintosh, verdrängt. Diese neuen Rechner hatten bereits 16-Bit-Mikroprozessoren (Intel 8086/8088 oder intern schon 32 Bit wie der Motorola 68000).

Für die IBM-Rechner wurde von Microsoft das Betriebssystem MS-DOS (PC-DOS) übernommen. Dieses war in der ersten Version im wesentlichen eine schlechte Abwandlung von CP/M für 16-Bit-Prozessoren. Die Anforderungen an ein Betriebssystem dieser Zeit überschritten sehr schnell die Fähigkeiten von MS-DOS, da zu dieser Zeit Festplatten mit erheblich größeren Datenmengen als Disketten aufkamen. So wurden in der zweiten Version Konzepte aus dem Betriebssystem Xenix, einem UNIX-Clone, in MS-DOS integriert. Die Entwicklung von MS-DOS hinkte danach immer wieder den Anforderungen an Haupt- und Festplattenspeicher hinterher.

In den 1980er Jahren erschienen die ersten 32-Bit-Mikroprozessoren. Der Intel 80386 mit Unterstützung virtueller Speicherverwaltung wurde wegen seiner 8086/8088-Kompatibilität unter anderem in PC-Systemen eingesetzt. Seine Möglichkeiten wurden dort jedoch unter MS-DOS und dem von Microsoft neu erschienenen Windows-Aufsatz für MS-DOS nicht ausgenutzt. Windows verlieh dem PC standardisierte Grafikfähigkeiten und unterstützte die Computermaus als für PCs neues Eingabegerät.

32-Bit-Mikroprozessoren wie der Motorola 68020 wurden in Workstations eingesetzt. Diese zeichneten sich durch hervorragende Grafikfähigkeiten aus und waren für Einzelanwender in professionellen Bereichen (CAD, Chemie) ausgelegt. Sie begannen die Minicomputer zu verdrängen. Das Betriebssystem war meist Unix, das eine (damals noch sehr teure) Festplatte verlangte. Die Preise dieser Workstations lagen im Bereich der Minicomputerpreise, sie waren damit für Privatanwender zu teuer.

Fallende Preise aller Komponenten und eine immer leistungsfähigere Grafikhardware sorgten in den 1990er Jahren dafür, dass PC-Systeme die Fähigkeiten der früheren Workstations zum Preis der Heimcomputer erreichten. Die einfachen Betriebssysteme wie MS-DOS wurden durch Nachfolgeversionen von Windows, OS/2 oder Unix-Derivaten wie Linux ersetzt. In diesen Systemen waren die frühen Konzepte der ersten Timesharingsysteme, die virtuelle Speicherverwaltung von Multics und die Dateisystemhierachie und Netzwerk-Konzepte von Unix nahezu unverändert übernommen worden. Linux übernahm sogar die Unix-Systemaufrufe, in Zusammenhang mit den Kommandos des GNU-Projekts entstand ein Unix-kompatibles System.

In den 2000er Jahren erhöhte sich die Leistungsfähigkeit der PCs und Apple-Computer weiter rasant, z. B. betrug der Takt der Intelprozessoren jetzt statt 25 MHz (ca. 1992) bis zu 3730 MHz (2005). Dies hatte keinen Einfluss auf die grundlegenden Konzepte der eingesetzten Betriebssysteme, ebenso wenig wie die aufkommenden 64-Bit Mikroprozessoren, deren erste Vertreter schon in den 1990ern erschienen.

PC-Systeme wurden zu so genannten Clustern zusammengeschlossen, die aus mehreren tausend einzelnen PCs bestehen und als Gesamtheit die Leistungsfähigkeit von Supercomputern erreichten. Für Cluster wurden jedoch ebenfalls in der Regel normale Betriebssysteme verwendet, da deren Fähigkeiten für die Anwendungen ausreichten.

Zum Seitenanfang



Liste unixoider Betriebssysteme

Diese Betriebssysteme stammen – zumindest historisch – vom ursprünglichen Unix ab.

Diese Betriebssysteme stammen nicht vom ursprünglichen Unix ab, sondern wurden separat entwickelt.

Zum Seitenanfang



Betriebssystem

Maurice Vincent Wilkes

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

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

Betriebssysteme bestehen in der Regel aus einem Betriebssystemkern (englisch: Kernel), der die Hardware des Computers verwaltet, sowie grundlegenden Programmen, die dem Start des Betriebssystems und dessen Konfiguration dienen. Zu den Komponenten zählen Boot-Loader, Gerätetreiber, Systemdienste, Programmbibliotheken und Dienstprogramme. Unterschieden werden Einbenutzer- und Mehrbenutzersysteme, Einzelprogramm- und Mehrprogrammsysteme, Stapelverarbeitungs- und Dialogsysteme. Betriebssysteme finden sich in fast allen Computern: als Echtzeitbetriebssysteme auf Prozessrechnern, auf normalen PCs und als Mehrprozessorsysteme auf Hosts und Großrechnern.

In diesem Sinn stellt das Betriebssystem selbst lediglich eine Schnittstelle für Systemfunktionen (auch Systemrufe oder Systemaufrufe genannt) bereit, die von Programmen genutzt werden können. Die meisten aktuellen Betriebssystem-Lehrbücher und Universitätsvorlesungen folgen dieser Sichtweise und behandeln daher ausschließlich die Aufgaben des Betriebssystemkerns.

Eine darüber hinaus gehende Ausdehnung des Begriffes, die beispielsweise auch Editoren und Compiler umfasst, geht zum Teil auf ältere Werke des deutschen Sprachraums zurück, lässt sich aber auch in aktueller Literatur noch finden. So zählen die Autoren des Informatik-Dudens auch „Übersetzungsprogramme“ und „Dienstprogramme“ zu den wesentlichen Komponenten eines Betriebssystems. In jüngerer Zeit kann der GNU/Linux-Namensstreit als Beispiel für die Abgrenzungsprobleme angesehen werden.

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

Betriebssysteme können als das direkte Ergebnis des zugrundeliegenden Systems und den zu erfüllenden Aufgaben betrachtet werden. Deshalb ist es unerlässlich, sich neben den verschiedenen Betriebssystemen ebenfalls mit den zugehörigen Systemen zu beschäftigen.

Lochkarten gehören mittlerweile der Vergangenheit an. Jedoch sind die so genannten Batch-Systeme (engl. batch systems, queued systems) ein guter Ansatz zur Betrachtung der Systementwicklung. Diese riesigen Systeme wurden von nur einer Person – dem Operator – bedient oder besser gesagt gefüttert. Programmierer fertigten Lochkarten an und übergaben den Kartenstapel dem Operator. Dieser ließ die Karten von der Maschine einlesen und händigte den Programmierern anschließend die Ergebnisse in ausgedruckter Form aus. 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.

Eine Weiterentwicklung – Multiprogrammed Batch System – konnte nun wenigstens mehrere Programme und Daten im Speicher halten und ermöglichte eine schnellere Abarbeitung der Kartenstapel (Zeit für Lesen und Schreiben war verschenkte Zeit). Hier wurden Mechanismen, wie das Spooling und die Möglichkeit des Offline-Betriebs bereits ausgiebig genutzt. Jedoch war ein Programm nötig, dass sich Aufgaben wie E/A-Verwaltung, Speicherverwaltung und vor allem CPU-Scheduling annimmt. Ab diesem Zeitpunkt konnte man von dem Beginn eines Betriebssystems reden.

Die nächsten Schritte waren dann Folgen der jeweiligen Aufgabenbereiche, die den Systemen zu Teil kamen. 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 so genannten Handheld-Systeme.

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

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

Als Gerä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 als Gerätetreiber.

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 physikalischen Speicher und alle Geräte wie Festplatten-, Disketten- und CD-ROM-Laufwerke, Netzwerk- und Schnittstellenadapter und andere. Die Hardware Compatibility List enthält alle Hardware-Produkte, die im Zusammenhang mit einem bestimmten Betriebssystem auf ihre Funktionalität hin getestet wurden.

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

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

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

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

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

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

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

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

Als Grafische Benutzeroberfläche (GUI, Abk. für engl. Graphical User Interface) wird generell eine Bildschirmausgabe beschrieben, wenn sie über 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 möglich, aus denen sich komplexere geometrische Elemente wie Knöpfe, Menüs, etc. Benutzeroberflächen zum einfachen Steuern von Programmen erstellen lassen.

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

Die ersten Rechner besaßen keine Betriebssysteme. Dies lag einerseits an deren Bauweise (mechanische Rechenmaschinen wie Abacus, Rechenschieber usw.) oder an ihrem stark eingeschränkten Einsatzgebiet (Mark I, ENIAC, Colossus). Mit der Erfindung und dem Einsatz des Transistors (1947) und der Erfindung der Mikroprogrammierung 1955 durch Maurice Wilkes wurden in der Folge nicht mehr Einzelmaschinen, sondern ganze Modellreihen eingesetzt. Jeder Hersteller lieferte zu dieser Zeit sogar für verschiedene Modellreihen seiner Produkte verschiedene Betriebssysteme, so dass Programme nur auf einer bestimmten Modellreihe liefen und weder zwischen verschiedenen Computer noch über verschiedene Generationen portierbar waren. Mit der Einführung der Modellreihe System/360 von IBM führte IBM 1964 das Betriebssystem OS/360 ein. Es war das erste Betriebssystem, das modellreihenübergreifend eingesetzt wurde. Ab 1963 wurde Multics in Zusammenarbeit von MIT, General Electric und den Bell Labs von AT&T entwickelt, das jedoch erst ab 1969 bis 2000 im Einsatz war. Multics wurde in PL/I programmiert. Inspiriert von den Arbeiten an Multics startete eine Gruppe um Ken Thompson und Dennis Ritchie an den Bell Laboratories von AT&T 1969 mit der Entwicklung von Unix. Unix wurde in den Jahren 1972–1974 bis auf wenige Teile in der höheren Programmiersprache C mit dem Ziel der Portabilität neu implementiert. Zu dieser Zeit war auch das Betriebssystem CP/M weit verbreitet.

In den 1980er Jahren wurden Heimcomputer populär. Diese konnten neben nützlichen Aufgaben auch Spiele ausführen. Die Hardware bestand aus einem 8-Bit-Prozessor mit bis zu 64KB RAM, einer Tastatur und einem Monitor- bzw. HF-Ausgang. Einer der populärsten dieser Computer war der Commodore C64 mit dem Mikroprozessor 6510 (einer Variante des 6502). Dieser Computer hatte ein 8KB-ROM-BIOS, das die Geräte Bildschirm, Tastatur, serielle IEC-Schnittstelle für Diskettenlaufwerke bzw. Drucker, Kassetteninterface initialisierte und über ein Kanalkonzept teilweise abstrahierte. Über ein 8KB-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.

Xerox entwickelte im Palo Alto Research Center (PARC) das Smalltalk-Entwicklungssystems (Xerox entwickelte mit ALTO (1973) und Star (1981) erste Rechner mit grafischer Benutzeroberfläche). Die Firma 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 Benutzeroberfläche die Zukunft gehörte, und Apple begann, eine eigene GUI zu entwickeln.

Viele Merkmale und Prinzipien jeder modernen grafischen Benutzeroberfläche für Computer, wie wir sie heute kennen, sind originale Apple-Entwicklungen (Pull-Down-Menüs, die Schreibtischmetapher, Drag and Drop, Doppelklicken). Die Behauptung, Apple habe seine GUI von Xerox „abgekupfert“ ist ein ständiger Streitpunkt; es existieren jedoch gravierende Unterschiede zwischen einem Alto von Xerox und der Lisa/dem Macintosh).

Mitte der 1990er Jahre steckte Apple in einer tiefen Krise; die Firma schien kurz vor dem Ruin. Ein dringliches Problem war dabei, dass Apples Betriebssystem als veraltet betrachtet wurde und Apple sich nach Alternativen umzusehen begann. Nach dem Scheitern des wichtigsten Projektes für ein modernes Betriebssystem mit dem Codenamen Copland sah sich Apple gezwungen, Ausschau nach einem für die eigenen Zwecke verwendungsfähigen Nachfolger für das eigene Betriebssystem zu halten. Zuerst wurde vermutet, dass Apple die Firma Be Incorporated, mit ihrem auch auf Macs lauffähigen Betriebssystem BeOS, übernehmen würde. Die Übernahmeverhandlungen scheiterten jedoch im November 1996, da der frühere Apple-Manager und Chef von Be Jean-Louis Gassée im Falle einer Übernahme 300 Millionen US-Dollar und einen Sitz im Vorstand verlangte. Da Amelio versprochen hatte, bis zur Macworld Expo im Januar 1997 die zukünftige Strategie in Bezug auf Mac OS zu verkünden, musste schnell eine Alternative gefunden werden. Überraschend übernahm Apple dann noch im Dezember 1996 die Firma NeXT des Apple-Gründers Steve Jobs und deren Betriebssystem NeXTStep/OPENSTEP für 400 Millionen US-Dollar. Dieses sollte die Grundlage für die nachfolgende Generation des Apple-Betriebssystems werden. Das den neuen Erfordernissen angepasste und optisch aktualisierte NeXTStep wurde dann unter dem Namen Mac OS X ein großer Erfolg. Mit der Übernahme von NeXT zog bei Apple auch eine neue Firmenkultur ein. Steve Jobs, in den 1980ern von der von ihm mitgegründeten Firma vergrault, nun Chief Executive Officer (CEO) von NeXT, wurde 1997 wieder Firmenchef von Apple. Avie Tevanian, auch ein NeXT-Mitarbeiter, übernahm die Entwicklungsabteilung. Jobs beendete die Lizenzierung des Betriebssystems an andere Hersteller (z. B. Power Computing) und stellte die Produktion des Newton ein.

Der Ursprung von DOS liegt in CP/M und wurde 1974 von Digital Research eingesetzt. Die Portierung auf den Motorola 68000, genannt CP/M-68k, selbst kein großer kommerzieller Erfolg, wurde zur Grundlage für TOS, das Betriebssystem des Atari ST. MS-DOS Version 1.0 erschien 1981 als Nachbildung von CP/M und wurde für IBM-PCs eingesetzt. Es setzt auf das BIOS auf und stellt Dateisystemoperationen zur Verfügung.

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 ein BASIC-Interpreter war vorhanden. Im Gegensatz zum BIOS wurde auf BASIC jedoch in den kompatiblen Rechnern anderer Firmen verzichtet.

Der PC konnte mit seinem Intel-8088-Prozessor (16-Bit-Register) bis zu 1 MB Speicher adressieren, die ersten Modelle waren jedoch nur mit 64KB 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 ein Disk 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 ersten PCs war kein Speicherschutz realisiert, die Programme konnten daher an DOS vorbei direkt auf BIOS und sogar auf die Hardware zugreifen. Erst spätere PCs wurden mit dem Intel-80286-Prozessor ausgestattet, der Speicherschutz ermöglichte. MS-DOS stellte auch keinen für alle Zwecke ausreichenden Abstraktionsgrad 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 die Soundkarte neu konfiguriert werden musste. Die Performance einiger Routinen, speziell zur Textausgabe, war verbesserungswürdig. Viele Programme setzten sich daher zwangsläufig über das Betriebssystem hinweg und schrieben z. B. direkt in den Bildschirmspeicher. MS-DOS wurde mit einem Satz von Programmen (so genannten Werkzeugen) und einem Kommandointerpreter (COMMAND.COM) ausgeliefert.

1991 begann Linus Torvalds in Helsinki/Finnland mit der Entwicklung des Linux-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 mit Intel-80386-Prozessor entwickelt. Das in diesen Rechnern verwendete BIOS dient nur noch zum Initialisieren der Hardware und zum Starten des Betriebssystemkernels, da die Routinen des 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. Abstraktion und Speicherschutz sind nahezu vollkommen, 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 vollständige Abstraktion und Virtualisierung für nahezu alle Betriebsmittel bereit (z. B. virtueller Speicher, Illusion eines eigenen Prozessors etc.).

1983 begann die Firma Microsoft mit der Entwicklung eines grafikfähigen Betriebssystemaufsatzes für MS-DOS namens Windows – es handelte sich dabei jedoch nicht um ein Betriebssystem. Das MS-DOS und BIOS-Design der PCs erlaubten keine Weiterentwicklung in Richtung moderner Serverbetriebssysteme. Microsoft begann Anfang der 1990er ein solches Betriebssystem zu entwickeln, das zunächst als Weiterentwicklung von OS/2 geplant war (Microsoft war zwischen 1987 und 1991 an der Entwicklung beteiligt): Windows NT 3.1 (Juli 1993). Für den Consumer-Markt brachte Microsoft am 15. August 1995 Windows 95 heraus, es basiert auf MS-DOS. Dieser „Consumer-Zweig“ wurde mit der Veröffentlichung von Windows Millennium (August/September 2000) abgeschlossen.

Aufbau von Windows NT: Über die Hardware wurde eine Abstraktionsschicht, der Hardware Abstraction Layer (HAL) gelegt, auf den der Kernel aufsetzte. Verschiedene Gerätetreiber waren als Kernmodule ausgeführt und liefen wie der Kernel im privilegierten Kernel 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 ihre UNIX-Pendants, die daemons, waren sie in Form von Prozessen im User-Mode ausgeführt.

Über so genannte Personalities wurden dann die Schnittstellen bestehender Systeme nachgebildet, zunächst für Microsofts eigenes, neues Win32-System, aber auch für 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 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 von WinG, das später in DirectX 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. Auch Windows XP, Windows Server 2003 und Windows Vista bauen auf der Struktur von Windows NT auf.

Zum Seitenanfang



Grafische Benutzeroberfläche

KDE 4.2 – eine Benutzeroberfläche für Unix-Betriebssysteme

Eine grafische Benutzeroberfläche ist eine Softwarekomponente, die dem Benutzer eines Computers die Interaktion mit der Maschine über grafische Symbole erlaubt. Die Darstellungen und Elemente (Arbeitsplatz, Symbole, Papierkorb, Menü) können meist unter Verwendung eines Zeigegerätes wie einer Maus gesteuert werden.

Synonyme Bezeichnungen sind die Abkürzung GUI (engl. „Graphical User Interface“) und dessen wörtliche Übersetzung grafische Benutzerschnittstelle. Im Gebiet der Software-Ergonomie werden stattdessen die Begriffe „grafische Benutzungsschnittstelle“ oder „Mensch-Maschine-Schnittstelle“ verwendet. In der Breite haben GUIs die auf Zeichen basierenden Benutzerschnittstellen CLI (command line interface) abgelöst.

GUIs kamen in den 1980er Jahren auf und lösten weitgehend die bisherige Bedienung per Kommandozeile im Textmodus ab. Die Entwicklung der GUIs wurde erst durch die Entwicklung der Computermaus ermöglicht, mit deren Hilfe am Bildschirm ein grafischer Mauszeiger an Stelle einer Schreibmarke (englisch cursor) dargestellt wird.

Die Entwicklung des GUI im heutigen Sinne erfolgte ab 1973 am Xerox PARC. Erstmals verwendet wurde es im Xerox Alto, die erste kommerzielle Verwendung folgte 1981 im Xerox Star. Ab 1979 arbeiteten Teams beim Computerhersteller Apple an der Entwicklung der grafischen Benutzeroberfläche, dabei flossen auch Entwicklungen von Xerox PARC ein. 1983 erschienen mit Lisa und ab 1984 mit dem Macintosh Computer mit grafischer Benutzeroberfläche.

Mit dem Macintosh, dem Atari ST und dem Amiga erlangten GUIs in den 1980er Jahren eine weite Verbreitung. In der gleichen Zeit tauchten erste GUIs für IBM-PCs wie Windows 1.0 und OS/2 Version 1.1 auf. Das von Microsoft entwickelte Windows setzte sich auf Dauer erfolgreich gegen die Konkurrenz durch. Die grafische Benutzeroberfläche von Windows gilt heute als De-facto-Standard beim Arbeiten mit PCs. Unter Unix und Linux gibt es mehrere, auf das X Window System aufsetzende Arbeitsumgebungen, die den Zweck einer grafischen Oberfläche erfüllen. Besonders bekannt sind sowohl das etwas in die Jahre gekommene CDE als auch GNOME und KDE.

Im großen und ganzen kamen graphische Benutzeroberflächen mit der Generation der 16-Bit-Rechner auf. Aber auch für einige 8-Bit-Systeme gab es entsprechende Entwicklungen, wie etwa GEOS.

Mit zunehmendem Funktionsumfang der GUIs selbst und der zugehörigen Programme nahm auch der Ressourcenbedarf der betreffenden Betriebssysteme immer weiter zu. Reichten z. B. für GEOS 1.2 noch ein 8-Bit-Prozessor mit 1 MHz, 64 KB Arbeitsspeicher und ein 51/4-Zoll-Diskettenlaufwerk mit 170-KB-Disketten, so empfiehlt Microsoft für die aktuelle Version von Windows Vista Home Basic einen 32-Bit-Prozessor mit 800 MHz, 512 MB Arbeitsspeicher, eine 20-GB-Festplatte (davon 15 GB frei) und ein DVD-ROM-Laufwerk (Stand: Oktober 2007).

Ferner ist in der Norm EN ISO 9241 die Umsetzung von Benutzungsschnittstellen für Web-Applikationen und deren Evaluation im Rahmen der Benutzbarkeit definiert.

Ein GUI hat die Aufgabe, Anwendungssoftware auf einem Rechner mittels grafischer Elemente, Steuerelemente oder auch Widgets genannt, bedienbar zu machen. Dies geschieht meistens mittels einer Maus als Steuergerät, mit der die grafischen Elemente bedient oder ausgewählt werden. Die Gesamtgestaltung heutiger grafischer Oberflächen verwendet oftmals die sogenannte Desktop-Metapher.

Programme öffnen dabei zunächst ein Hauptfenster. Das GUI-System erlaubt, solche Fenster in ihrer Größe und Position zu verändern, auszublenden oder auf die gesamte Bildschirmgröße zu vergrößern. Grafische Bedienoberflächen sind für viele Mehrzweck-Betriebssysteme verfügbar oder gar in sie integriert. Weitere Bedienelemente sind Schaltflächen (Buttons), Toolbars (Werkzeugleisten), Schieberegler, Auswahllisten und Symbole. Darüber hinaus werden Dialogboxen (auch „Dialogfelder“ genannt) meist für Benutzerabfragen oder Eingaben verwendet wie beispielsweise die Auswahl eines Druckers.

GUIs können mit der Verwendung von Metaphern für bestimmte Programmfunktionen, wie zum Beispiel dem Papierkorb, das Erlernen und das Verständnis der Bedienung wesentlich erleichtern.

Kein separates GUI-Element, aber relevant für alle GUI-Elemente ist der Fokus: Das GUI-Element, welches aktuell für die nächste Benutzer-Aktion (Eingabe von Daten, Änderungs des Zustands etc.) relevant ist, besitzt den Fokus.

Damit der Fokus jederzeit für den Benutzer sichtbar ist, ist er grafisch hervorgehoben: in textuellen Eingabefeldern durch eine blinkende Eingabemarke (Cursor, Caret); andere GUI-Elemente sind meist durch eine gepunktete, dünne Umrandung hervorgehoben, wenn sie fokussiert sind (den Fokus besitzen).

Zum Seitenanfang



Vergleich von Betriebssystemen

Grober Stammbaum einiger wichtiger Betriebssysteme

Diese Tabellen stellen einen Vergleich von ausgewählten Betriebssystemen dar. Betriebssysteme, deren Entwicklung und Support eingestellt worden ist, werden nicht behandelt. Da Linux-Distributionen und in gewissem Maße auch BSD-Betriebssysteme viele verschiedene Einsatzzwecke und technische Möglichkeiten haben, bieten sich für einen genaueren Vergleich die Artikel Vergleich von Linux-Distributionen und Vergleich von BSD-Betriebssystemen an.

Zur Spalte „Status“: Fertiggestellt bedeutet, es ist eine stabile Version herausgegeben worden und das Betriebssystem wird weiterhin entwickelt und verbessert. Beendet bedeutet, das Betriebssystem wird nicht mehr weiterentwickelt, das jüngste Release ist allerdings noch sehr neu und der Entwickler bietet noch Support für das Betriebssystem an. Noch nicht fertiggestellt bedeutet, dass sich das System noch in der Entwicklungsphase befindet und noch keine stabile Version (also höchstens Alphas, Betas oder Release Candidates) erschienen ist.

Zur Spalte „Geeignet für“: Server: Als Server wird umgangssprachlich ein Computer in einem Netzwerk bezeichnet, auf dem ein oder mehrere Serverprogramme (z. B. HTTP-Server, FTP-Server) betrieben werden. Workstation: Mit Workstation bezeichnet man einen besonders leistungsfähigen Arbeitsplatzrechner zur Benutzung durch eine oder mehrere Personen. Typischerweise werden Workstations für anspruchsvolle technisch-wissenschaftliche Anwendungen eingesetzt. Üblicherweise erbringen Workstations im Bereich Grafikdarstellung, Rechenleistung, Speicherplatz und/oder Multitasking überdurchschnittliche Ergebnisse. NAS: Network Attached Storage (NAS) bezeichnet an das lokale Netzwerk angeschlossene Massenspeichereinheiten zur Erweiterung der Speicherkapazität. Desktop: Mit Desktop-Computern sind Heimrechner gemeint, die von Privatpersonen benutzt werden und meist in privaten Haushalten vorzufinden sind. Ihre Anforderungen sind unterschiedlich, neben Büroarbeiten und Internet sollen sie auch Multimedia und Spiele unterstützen, einfache Serveraufgaben meistern oder spezielle Aufgaben leisten. Dabei soll der Benutzer mit dem Betriebssystem arbeiten können, ohne sich technisches Wissen aneignen zu müssen. Die Bedienung ist hierbei ein entscheidendes Kriterium, der Desktopmarkt ist daher als der schwierigste Markt anzusehen. Embedded: Der Begriff Eingebettetes System (auch engl. embedded system) bezeichnet ein Rechnersystem, das – weitestgehend unsichtbar – den Dienst in einer Vielzahl von Anwendungsbereichen und Geräten versieht, wie z. B. in Waschmaschinen, Flugzeugen, Kraftfahrzeugen, Kühlschränken, Fernsehern, DVD-Playern, SetTopBoxen, Mobiltelefonen, PDAs, Routern oder allgemein Geräten der Unterhaltungselektronik. Bildungscomputer: Computer, die zu Bildungszwecken benutzt werden. Beispielsweise Computer in Universitäten oder Schulen, oder Projekte wie One Laptop per Child. Media-PC: Media-PCs sind Computer, die als Multimediazentrale dienen. Sie sind häufig in Wohnzimmern anzufinden und haben Aufgaben wie das Abspielen von Videos, Musik, DVDs, CDs, das Aufzeichnen von TV-Sendungen, der Empfang von TV und Radio, das Anschauen und Organisieren von Bildern usw. Tablet PC: Die Bezeichnung Tablet PC bezeichnet einen Computer, der unter anderem wie ein Notizblock (US-engl. „tablet“) verwendet werden kann. Der Benutzer kann dabei Eingaben per Stift oder Finger direkt auf dem Bildschirm tätigen, was einen natürlicheren Umgang mit Computern ermöglichen soll. Großrechner: Ein Großrechner (engl.: Mainframe, Host) ist ein sehr komplexes und umfangreiches Computersystem, das weit über die Kapazitäten eines Personal Computers und meist auch über die der typischen Serversysteme hinausgeht. Ein Großrechner zeichnet sich vor allem durch seine Zuverlässigkeit und hohe Ein-Ausgabe-Leistung aus. Er kann im Online-Betrieb (Time Sharing) eine große Anzahl von Benutzern bedienen, im Batch-Betrieb aber auch komplizierte und aufwändige Aufgaben durchführen. Meist wird die Wartung dieser Rechner im laufenden Betrieb durchgeführt, sogar Aufrüstungen und Hardwareaustausch können ohne eine Unterbrechung des Betriebs durchgeführt werden. Supercomputer: Als Supercomputer oder Superrechner werden Hochleistungsrechner bezeichnet, die zum Zeitpunkt ihrer Einführung im obersten realisierbaren Leistungsbereich operieren. Ein typisches Merkmal eines Supercomputers ist seine große Anzahl an Prozessoren, die auf gemeinsame Peripheriegeräte und einen teilweise gemeinsamen Hauptspeicher zugreifen können. Cluster: Ein Computercluster, meist einfach Cluster (von engl. cluster – Schwarm, Gruppe, Haufen), bezeichnet eine Anzahl von vernetzten Computern, die von außen in vielen Fällen als ein Computer gesehen werden können. In der Regel sind die einzelnen Elemente eines Clusters untereinander über ein schnelles Netzwerk verbunden. Ziel des „Clustering“ besteht meistens in der Erhöhung der Rechenkapazität oder der Verfügbarkeit gegenüber einem einzelnen Computer. Die in einem Cluster befindlichen Computer (auch Knoten oder Server) werden auch oft als Serverfarm bezeichnet. Elektronik: Hiermit sind Betriebssysteme gemeint, die z. B. in elektronischen Steuerungen und Geräten der Mess- und Regelungstechnik und im Bereich der µC (Microcontroller) eingesetzt werden. Im Unterschied zum Embedded-System wird das System in diesem Fall für technische Spezialanwendungen eingesetzt. Damit entfällt auf der einen Seite der Massenmarkt, auf der anderen Seite besteht zum Beispiel aber auch weniger Bedarf an einer benutzerfreundlichen und einfach gehaltenen Oberfläche.

Zum Seitenanfang



Disk Operating System

Als Disk Operating System (kurz DOS) werden kleine und einfache Betriebssysteme für Computer bezeichnet, deren Hauptaufgabe die Verwaltung von magnetischen Speichermedien wie Disketten und Festplatten ist. Andere Funktionen des Rechners, wie zum Beispiel Grafik, Ton, Druckersteuerung, Netzwerkfunktionalität, Speicherverwaltung, Verwaltung mehrerer Benutzer etc. werden nicht oder nur rudimentär von DOS-Betriebssystemen übernommen. Diese Zusatzaufgaben müssen stattdessen durch direkten Zugriff der Anwendungsprogramme auf die Hardware realisiert werden.

DOS-Systeme kamen bis Mitte der 1990er-Jahre auf den meisten Heimcomputern und Personal Computern zum Einsatz, danach nur noch vereinzelt. Bis heute werden sie wegen ihrer geringen Größe, Einfachheit und relativ hohen Betriebssicherheit im Bereich eingebetteter Systeme genutzt.

Aktive (Weiter-)Entwicklung erfahren derzeit (2007) nur noch FreeDOS und Enhanced DR-DOS. Beide Projekte haben einen offenen Quellcode, so dass die beiden Betriebssysteme von einigen ambitionierten Entwicklern laufend verbessert werden. Folgender Text gibt einen geschichtlichen Hintergrund.

In den 1960er-Jahren wurde von IBM das /360-DOS („Disk Operating System“) als Betriebssystem für Großrechneranlagen als Nachfolger und Weiterentwicklung des TOS („Tape Operating System“) ausgeliefert. Unter DOS war es erstmals möglich, ohne IPL mehrere Programmabläufe – sogenannte Batch-Jobs – quasi parallel zu verarbeiten. Das Ur-DOS hatte drei Partitionen, nämlich F1 (Foreground 1, höchste Priorität), F2 und BG (Background, geringste Priorität). Diese Partitions hatten festgelegte Speichergrößen sowie per Assign fest zugeordnete Peripheriegeräte (Drucker, Lochkartenleser, Plattenspeicher etc.). Allerdings konnten diese Zuordnungen in bedingtem Umfang vom Konsoloperator des Systems verändert werden.

Im Laufe der Zeit und unter dem Druck des immer stärker zum Einsatz kommenden und variableren Betriebssystems OS wurde von drei Mitarbeitern von IBM ein E-DOS („Extended DOS“) entwickelt, das die Verwaltung von mehr als drei Partitionen erlaubte. Dies allerdings kam bei IBM nie recht zum Einsatz, sondern wurde von Nixdorf, nachdem IBM-Leute von dort abgeworben worden waren, unter dem Namen NIDOS zum Einsatz gebracht; hier konnten bis zu 15 Partitionen verwaltet werden.

IBM reagierte mit der Entwicklung von DOS/VSE, das mitunter heute noch auf entsprechenden Großrechnern im Einsatz ist.

In den 1970er-Jahren gab es auch auf den Rechnern HP 1000 von Hewlett-Packard ein Einzel-Benutzer-Betriebssystem (engl. Single User OS) namens DOS.

MS-DOS ist ein Betriebssystem, das bei Microsoft aus einer Auftragsentwicklung für IBM hervorging und zunächst nur von IBM unter der Bezeichnung IBM-DOS für den ersten IBM PC ausgeliefert wurde. IBM-DOS 1.0 kam 1981 auf den Markt. Die erste Version von MS-DOS kam 1982 als MS-DOS 1.25 auf den Markt. Da die beiden Betriebssysteme ähnliche Versionsgeschichten aufweisen und technisch sehr eng verwandt oder gar identisch sind, ist zumeist nur von „DOS-kompatibel“ die Rede, die technische Weiterentwicklung erfolgte sowohl bei Microsoft als auch bei IBM.

DOS hat einige wesentliche Merkmale und Systemschnittstellen von seinem Vorgänger CP/M übernommen. CP/M war ein in den späten 1970er und frühen 1980er Jahren sehr verbreitetes Betriebssystem für 8-Bit-CPUs. Vereinfacht gesagt entstand das Betriebssystem, aus dem später MS-DOS hervorging nur, weil im April 1980 noch keine auf dem 8086 lauffähige Version von CP/M auf dem Markt war und ein kleiner Hardware-Hersteller namens Seattle Computer Products zur Vermarktung seines 8086-Rechners ein solches Betriebssystem benötigte. Ein angestellter Ingenieur begann daraufhin mit der Entwicklung eines eigenen Betriebssystems. Um die Portierung von CP/M-Software zu erleichtern, orientierte er sich dabei eng an den Systemschnittstellen von CP/M. Als das Betriebssystem später von Microsoft gekauft und in MS-DOS umbenannt wurde, „erbte“ MS-DOS sozusagen auch das weitgehend CP/M-kompatible API und die damit einhergehende leichte Portierbarkeit von CP/M-Software. Dieser Umstand führte später zu rechtlichen Auseinandersetzungen mit dem CP/M-Hersteller Digital Research.

Die letzte eigenständige MS-DOS-Version mit der Versionsnummer 6.22 erschien 1994. Als Bestandteil der Betriebssysteme der Windows-9x-Reihe wurde MS-DOS aber noch bis zur Version 8.0 weiterentwickelt; zuletzt war es Teil des im Jahr 2000 erschienenen Windows Me. Danach wurde die Weiterentwicklung eingestellt. Heutige Windows-Betriebssysteme sind allesamt Weiterentwicklungen von Windows NT. MS-DOS ist weder Bestandteil noch technische Basis dieser Betriebssysteme, wenngleich auch heute noch das Win32-Subsystem moderner Windows-Versionen die Funktionalität von MS-DOS nachbildet.

PC-DOS wurd bis zur Version 6.3 von 1993 kompatibel zu MS-DOS (Windows 3.x) weiterentwickelt, die aktuellen Versionen PC-DOS 7 und PC DOS 2000 sind eigenständige Entwicklungen.

Als Antwort auf MS-DOS entwickelte Digital Research später DR-DOS, welches sogar länger als MS-DOS weiterentwickelt wurde und zwischenzeitlich als das führende DOS galt. DR-DOS wurde mehrmals an andere Firmen weitergegeben oder verkauft, und war auch eine Zeit lang als kostenloses Caldera OpenDOS mit Quelltext erhältlich. Die Weiterentwicklung ging aber bereits seit Mitte der 1990er nicht mehr schnell voran.

Die Entwicklung von DR-DOS endete endgültig, als 2005 die Version 8.10 von der einige Monate zuvor gegründeten DRDOS, Inc. zum Verkauf freigegeben wurde. Die Version verstieß – wie bereits DR-DOS 8.00, aber in größerem Ausmaß – gegen mehrere Freeware- oder Open-Source-Lizenzen (unter anderem die GNU GPL), da mehrere Programme und verschiedener Quelltext ohne Hinweis auf die Urheber integriert wurden und das Produkt trotz anders lautender Lizenzen kommerziell vertrieben wurde. Zudem waren die Versionen 8.00 und 8.10 nicht etwa eine Weiterentwicklung der zuvor erschienenen Version 7.03, sondern der eigentlich veralteten Version 7.01.

Die einzige Entwicklung erhält momentan das vergleichsweise geradezu „neue“ Enhanced DR-DOS von Udo Kuhnt, das von selbigem aus dem offenen Quelltext von Caldera OpenDOS weiterentwickelt wird. EDR-DOS wird allerdings nicht hauptsächlich zur kommerziellen Vermarktung geschrieben; sondern als Freeware, allerdings nur für private Benutzung. Im Gegensatz zu FreeDOS ist es weniger auf Kompatibilität zu MS-DOS als auf Weiterentwicklung des DOS an sich ausgelegt.

Das FreeDOS-Projekt ist entstanden, um den Fortbestand und die Weiterentwicklung des DOS-Betriebssystems zu gewährleisten. Es wurde ins Leben gerufen, als Microsoft 1994 verkündete, MS-DOS in Zukunft nicht weiterzuentwickeln und die Kunden-Unterstützung einzustellen. 2006 erschien FreeDOS erstmals mit Versionsnummer 1.x (bis auf weiteres noch lediglich 1.0). FreeDOS verfolgt momentan primär das Ziel, eine annähernd hundertprozentige Kompatibilität zu den letzten MS-DOS-Versionen zu erlangen, allerdings gibt es auch hier bereits einige grundlegende Verbesserungen im Vergleich zum letzten MS-DOS.

Neben FreeDOS und EDR-DOS werden heute noch ROM DOS von Datalight sowie PTS DOS entwickelt.

Es gibt heute DOS-Emulatoren, wie das auf verschiedenen Betriebssystemen laufende DOSBox und das Linux-Programm DOSEMU. Stattdessen können aber auch ganze PC-Emulatoren (siehe auch Virtualisierung) verwendet werden, die die Hardware eines Computers originalgetreu nachzubilden versuchen. Auf einem solchen „virtuellen Computer“ kann ein originales DOS installiert und verwendet werden.

Im Gegensatz zu virtuellen Maschinen sind DOS-Emulatoren im Allgemeinen effektiver und damit schneller und ressourcenschonender, aber auch nicht vollständig kompatibel, da insbesondere direkte Systemzugriffe wie diverse BIOS-Routinen, die abseits der DOS-API genutzt werden, sowie direkte Zugriffe auf die Hardware, etwa direkte Speicherverwaltung, nicht funktionieren. Ebenso kann es sein, dass ein PC-Emulator nicht alle Funktionen der emulierten Hardware originalgetreu zur Verfügung stellt, und somit das eine oder andere DOS-Programm fehlerhaft oder überhaupt nicht arbeitet.

Es wurden viele grafische Benutzeroberflächen (auch engl. GUI, Graphical User Interface) für MS-DOS und dazu kompatible DOS-Versionen entwickelt. Bis heute weiterentwickelte und erhältliche grafische Bedienoberflächen sind eComStation (OS/2 Warp), PC/GEOS, OpenGEM (eine freie Weiterentwicklung des originalen GEM von Digital Research) sowie die Entwicklungen um MatrixOS, Qube3P und SEAL.

Auch viele inzwischen vom Markt genommenen Microsoft-Windows-Versionen basierten auf MS-DOS. Windows 3.x und alle zuvor erschienen Versionen wurden separat als Erweiterung zu MS-DOS entwickelt und auch vertrieben. In allen Versionen von Windows 95 und Windows 98 und in Windows Me war ein weiterentwickeltes MS-DOS aber immer noch integraler Bestandteil, obwohl sich Microsoft von Version zu Version mehr Mühe gegeben hatte, das DOS vor dem Anwender zu verbergen. Modernere Windows wie Windows NT, Windows 2000, Windows XP, Windows Vista und alle neueren Versionen basieren hingegen auf dem Betriebssystemkern des 1991 vorgestellten Betriebssystems Windows NT 3.1, das damals vollkommen neu entwickelt wurde und keine „DOS-Wurzeln“ besitzt. Diese Betriebssysteme sind nur noch mit einem Teilsystem (im Windows-Jargon Subsystem genannt) ausgestattet, das die weitgehende Kompatibilität zu MS-DOS-Anwendungen sicherstellt, die DOS-Box (Kommandozeile) läuft als Interpreter (CMD.exe), um in DOS geschriebene Programme auszuführen.

Unter DOS werden häufig Batchdateien (deutsch auch „Stapelverarbeitungsdateien“) benutzt, um automatisch Abfolgen von Befehlen auszuführen. Da manche DOS-Systeme keine Einstellungen speichern können und diese daher nach einem Neustart verfallen, werden Batchdateien benutzt, um diese bei jedem Systemstart erneut zu setzen (zum Beispiel mittels AUTOEXEC.BAT, einer Batchdatei, die DOS beim Starten ausführt).

MS-DOS und kompatible Systeme gelten als veraltet und werden heute praktisch nur noch auf Altsystemen, für den Betrieb alter DOS-Software in Emulatoren oder in Nischenmärkten eingesetzt sowie für ein BIOS- oder Firmware-Update.

Zum Seitenanfang



Source : Wikipedia