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 nicht mehr benutzten Arbeitsspeicher
wieder freigeben damit dieser wieder benutzt werden kann. Diese Garbage Collection verhindert einen Stillstand des Systems wegen
Speichermangel.
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.
Multitasking
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.
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.
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.
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.