5.3 Betriebssysteme

Ein Betriebssystem ermöglicht es Anwendersoftware die Funktionen der Hardware zu nutzen. So braucht nicht mehr jede Anwendersoftware zu wissen welcher Drucker angeschlossen ist und wie man in ansteuert. Die Anwendersoftware gibt den Druckauftrag lediglich an das Betriebssystem weiter.
Das BS muss auch die Speicherverwaltung übernehmen. Welches Programm also wo seine Daten ablegen darf. Es muss Zugriffe von Programmen auf den Speicherbereich anderer Programme verhindern.

Betriebssysteme
CP/M Vorläufer von DOS.
DOS Veraltetes BS von Microsoft. Kommandozeilen orientiert. Intel-PC. 
Wird für Windows3.11/95/98 benötigt.
(Windows 3.11) Alte Version von MS-Windows läuft noch auf 386, 486. Intel-PC.
(Windows95) Alte Version von MS-Windows für Pentium. Intel-PC. 
(Windows98) Alte Version von MS-Windows für Pentium. Intel-PC. 
Windows NT 4.0 Alte Profiversion von MS-Windows. Intel-PC.
Windows 2000 Profiversion von MS-Windows. Intel-PC.
Windows XP Profiversion von MS-Windows. Intel-PC.
Windows CE MS-Windows für Subnotebooks, Palmtops, usw.
Mac-OS Aktuelles BS für Apple PowerPC's.
Unix BS für Großrechner.
Linux Freeware Betriebssystem für verschiedenste Hardware.
Linux ist ein Derivat von Unix.
OS2 IBM-BS für Server.
BEOS Neuentworfenes Betriebssystem der Firma BE. Wird nicht mehr unterstützt.
EPOC Betriebssystem für Organizer von Psion.
diverse div. BS für Palmtops, Automaten, usw.
Novell 5.0 Server-BS der Firma Novell.

Daneben existieren noch weiter spezielle Betriebssysteme für Handys, Automaten, Roboter usw.
Schichtenmodell


Booten
Die erste Aufgabe eines Betriebssystems ist der Start des Computers. Dabei müssen die Einstellungen des BIOS übernommen und die vorhandene Hard- und Software überprüft, sowie die passenden Treiber aktiviert werden. Das Startprogramm befindet sich auf dem Motherboard im ROM und wird vom Hersteller an das Motherboard angepasst.
Dieses Startprogramm führt einige Hardwaretests durch und startet abschließend das jeweilige Betriebssystem von der Festplatte. Siehe auch Booten.

Daten zur Hardware und die Uhrzeit werden im CMOS gesichert. Dieser kleiner RAM-Speicher auf dem Motherboard wird durch eine Batterie geschützt. Vergisst der Computer die Uhrzeit oder findet er die Festplatte nicht mehr ist wahrscheinlich die CMOS-Batterie leer.
 

Arbeitsspeicher verwalten
Das Betriebssystem muss die Zuteilung und Überwachung des Arbeitsspeichers vornehmen. Alle Aktionen in einem Computersystem findet im Arbeitsspeicher statt. Das Betriebssystem selbst wird vom Startprogramm in den Arbeitsspeicher geladen und dort gestartet.
Auch Anwenderprogramme müssen zuerst in den Arbeitsspeicher geladen werden. Wird in einer Textverarbeitung eine Taste gedrückt wird der so eingegebene Text zuerst nur im Arbeitsspeicher behalten. Erst durch das Abspeichern auf einen Datenträger werden die Informationen dauerhaft gesichert.

Der Arbeitsspeicher selbst besteht aus einzelnen Speicherstellen zu je ein Bit. Aus praktischen Gründen werden aber immer 32 Bit oder mehr parallel gelesen und geschrieben (bei einem 32-Bit-Rechner). Diese Befehlsbreite von 32 Bit ist von der Registergröße des Prozessors abhängig. Register sind einige schnelle Speicherzellen in der CPU die für Berechnungen oder als temporäre Speicher dienen.
Die Breite des Adressbusses bestimmt die maximale Speichergröße. Mit einen 32 Bit breiten Adressbus lassen sich maximal ca. 4 Milliarden (232) Bit ansprechen.

Das Betriebssystem muss nicht mehr benutzten Arbeitsspeicher wieder freigeben damit dieser wieder benutzt werden kann. Diese Garbage Collection verhindert einen Stillstand des Systems wegen Speichermangel.

 

Multitasking
Mehrere Programme (Tasks) können parallel gestartet werden und der Anwender kann zwischen diesen hin- und herwechseln. Während die Textverarbeitung druckt, kann der User z.B. ein Bild malen. Das BS übernimmt damit also die Ressourcenverwaltung. Welcher Task darf wann drucken, speichern, eine Bildschirmausgabe machen, einen Mausklick entgegennehmen, usw.
Multitasking funktioniert durch Aufteilung der Prozessorzeit auf die einzelnen Tasks. Nach einigen Nanosekunden wird eine Tasks wieder unterbrochen und der nächste wird bearbeitet. Sind alle Tasks durch, wird der erste wieder bearbeitet. Für den Anwender entsteht dadurch der Eindruck parallel arbeitender Programme. 

In Multitasking-Betriebssystemen muss sichergestellt sein, dass alle Tasks sich nur in dem für sie freigegeben Bereich des Arbeitsspeicher bewegen. Schreibzugriffe außerhalb könnten zu Systemabstürzen führen. Besonders schwierig wird diese Aufgabe dann, wenn Teile des Arbeitsspeichers (Pages) aus Platzgründen auf die Festplatte ausgelagert werden und gar nicht mehr real im RAM vorhanden sind. Bei Bedarf werden diese Pages dann wieder in einen reservierten, freien Bereich des Arbeitsspeichers geladen. Dieses Auslagern von Teilen des Arbeitsspeichers wird Swapping genannt. Es stellt virtuellen Arbeitsspeicher bereit der über die Größe des realen Arbeitsspeichers hinausgeht, verlangsamt aber die Geschwindigkeit des Systems.

Auf Computern unter 128MB RAM sollte man darauf achten wie viele Programme gleichzeitig gestartet sind. Mit CTRL-ALT-Delete kann eine Kontrolle durch den Task-Manager erfolgen.


Hardware
Grundsätzlich muss ein Betriebssystems zur verwendeten Hardware passen. MS-Windows läuft z.B. nur auf Intel- und dazu kompatiblen CPU's. Gleichzeitig muss aber auch die Anwendersoftware zum Betriebssystem passen. Mac-Programme laufen unter Windows nicht.

Über so genannte Treiber (Driver) werden Programme an die jeweilige Hardware angepasst. Ein Betriebssystem greift über diese Treiber auf die Hardware zu. Der Hersteller einer Hardware muss für sein Produkt einen Treiber für das gewünschte Betriebssystem mitliefern.
Das Betriebssystem legt auch die Aufteilung der Festplatte in Sektoren und Spuren fest. Auch die FAT (File-Allocation-Table), also die Liste der auf dem Datenträger gespeicherten Dateien, ist je nach Betriebssystem unterschiedlich. Zum Glück ist aber wenigstens bei der CD ein Betriebssystem übergreifendes Format verwendet worden.

Unter Windows müssen neue Festplatten erst mit dem Hilfsprogramm FDISK in ein oder mehrere logische Laufwerke aufgeteilt werden. Danach muss mit FORMAT eine Anpassung an das Betriebssystem vorgenommen werden. Erst dann ist die Festplatte zur Verwendung bereit.


Benutzeroberfläche
Computer der ersten Generation wurden ausschließlich über Tastaturbefehle gesteuert (DOS). Die Benutzeroberfläche bestand dabei aus einem Kommandozeilen-Interpreter der eingegebene Befehle ausführte. Dazu musste der Anwender aber die Befehle kennen. Eine intuitive Bedienung des Gerätes war nicht möglich. Schnellere Rechner ermöglichten die Steuerung über grafische Benutzeroberflächen (GUI = Graphical User Interface). Mit einer Maus und grafischen Symbolen, sowie den Fenstern ist eine einfachere Bedienung möglich geworden.

Dieses Konzept der GUI wurde in den 70er Jahren von der Firma XEROX entwickelt, von Apple vermarktet und dann von Microsoft kopiert und mit Windows zur einem finanziellen Welterfolg gebracht.


Dienstprogramme
Zusätzliche Funktionen stellt das Betriebssystem durch Dienstprogramme zur Verfügung:



Begriffe

Multithreading
Während Multitasking den gleichzeitigen Betrieb mehrerer Programme auf einem System ermöglicht, erlaubt Multithreading das gleichzeitige abarbeiten mehrerer Aufgaben innerhalb eines Programmes. Das Betriebssystem muss dazu natürlich Multithreading unterstützen was besonders für Mehrprozessorsysteme wichtig ist. Das betreffende Programm muss eine Aufteilung in unabhängige Teilbereiche (Threads=Faden) bereitstellen. Dabei müssen die Threads so ausgewählt werden, dass ein Thread nicht auf das Ergebnis eines anderen Threads warten muss um arbeiten zu können.


Multiprocessing
Reicht die Rechenleistung eines normalen PC's nicht mehr aus, kann auf leistungsstärkere und teurere Großrechner (IBM, National, Cray) ausgewichen werden. Dabei werden meist mehrere Prozessoren zu einem Gesamtsystem kombiniert.
 


Renderfarm
Die Alternative zu Großrechnern sind Netzwerke aus Standard-PC's die genau definierte Teilaufgabe erledigen. Beispiele sind das SETI-Projekt zur Erkennung von außerirdischen Lebensformen über das Internet, oder Renderfarmen für die 3D-Animation von Kinofilmen.


Multi User
Ein PC erlaubt nur einem Benutzer zu einer Zeit den Zugang. Großrechner bieten über Terminals (Tastatur und Monitor) mehreren Benutzer den Zugang zu einem einzigen Computer. Dabei wird dem einzelnen Benutzer mit einer Virtual Machine ein Abbild eines realen PC's zur Verfügung gestellt.