Betriebssysteme Operating Systems
Total Page:16
File Type:pdf, Size:1020Kb
HTBLVA FÜR EDV UND ORGANISATION SPENGERGASSE Betriebssysteme Operating Systems Bernhard Friedreich, 4AHDVK 23.11.2008 Dieses Dokument beschreibt den Grundaufbau von Betriebssystemen und vergleicht, anhand vielfacher Aspekte, die wichtigsten Betriebssysteme miteinander. Fachbegriffe, die aus dem Englischen kommen, werden im Original verwendet, um der Eindeutschung von Fachbegriffen entgegen zu wirken. Inhaltsverzeichnis 1. Einführung ............................................................................................................................... 4 1.1. Grundlagen ...................................................................................................................... 4 1.1.1. Was ist ein Betriebssystem? ........................................................................................ 4 1.1.2. Grundlegende Aufgaben ............................................................................................. 4 1.1.3. Geschichte ................................................................................................................... 5 1.1.4. Häufig genutzte Betriebssysteme ................................................................................ 6 1.1.5. Sonstige Betriebssysteme............................................................................................ 7 2. Kernel ...................................................................................................................................... 8 2.1. Grundlagen ...................................................................................................................... 8 2.2. Architekturen................................................................................................................... 8 2.2.1. Microkernel ................................................................................................................. 9 2.2.2. Monolithic kernel ........................................................................................................ 9 2.2.3. Hybrid Kernel ............................................................................................................. 10 2.2.4. Monolithic vs. Micro vs. Hybrid ................................................................................. 10 2.2.5. Exokernel ................................................................................................................... 10 2.3. Inter‐Process Communication (IPC) .............................................................................. 11 2.4. Sicherheit und Design .................................................................................................... 11 2.4.1. Virtual Memory/Paging ............................................................................................. 12 2.5. Scheduler ....................................................................................................................... 12 2.5.1. Auswahl an Strategien/Scheduler ............................................................................. 13 2.6. Treiber ........................................................................................................................... 13 2.7. Hardware Abstraction Layer (HAL) ................................................................................ 13 2.8. Dateisysteme ................................................................................................................. 14 2.8.1. Arten .......................................................................................................................... 14 2.9. Interrupts ....................................................................................................................... 15 2.10. Windows NT .................................................................................................................. 16 2.11. Linux .............................................................................................................................. 16 2.12. Mac OS X ........................................................................................................................ 17 2.13. GNU Hurd ...................................................................................................................... 17 3. Startup ................................................................................................................................... 18 3.1. Grundlagen .................................................................................................................... 18 3.2. Bootloader ..................................................................................................................... 18 3.2.1. Multistage Boot‐Loader ............................................................................................. 18 3.2.2. Chain‐Loader ............................................................................................................. 18 Seite 2 von 28 3.3. Linux .............................................................................................................................. 19 3.4. Mac OS X ........................................................................................................................ 20 3.5. Frühere Windows Versionen ......................................................................................... 20 3.6. Windows Vista ............................................................................................................... 20 4. Graphische Oberfläche .......................................................................................................... 21 4.1. Graphische Subsystems ................................................................................................. 21 4.1.1. Linux (X Server) .......................................................................................................... 21 4.1.2. Mac OS X (Quartz) ..................................................................................................... 22 4.2. Linux Desktop Environments ......................................................................................... 22 4.2.1. Gnome ....................................................................................................................... 23 4.2.2. KDE 3 .......................................................................................................................... 24 4.2.3. KDE 4 .......................................................................................................................... 25 4.3. Window Manager .......................................................................................................... 26 4.3.1. Grundlagen ................................................................................................................ 26 5. Quellen .................................................................................................................................. 28 Seite 3 von 28 1. Einführung 1.1. Grundlagen 1.1.1. Was ist ein Betriebssystem? Ein Betriebssystem ist eine Software, welche die Verwendung eines PCs ermöglicht, indem sie eine Schnittstelle zur Hardware darstellt, sie verwaltet, und andere Aufgaben durchführt, ohne denen es nicht möglich wäre die PC‐ Hardware zu verwenden. Weiters zählt zu den Aufgaben eines Betriebssystems die Verwaltung von Ein‐ und Ausgabegeräte, die korrekte Zuteilung von Speicherbereichen und die Ausführung von Programmen. 1.1.1.1. Begriffserklärung Für den Begriff Betriebssystem existiert keine eindeutige Definition und er kann sehr weitläufig verwendet werden. Der englische Stammbegriff hatte eine spezielle Bedeutung, auf die später näher eingegangen wird. Der Kernel ist die einzige Komponente, die in allen Definitionen des Wortes Betriebssystems enthalten ist. Im engeren Sinne ist der Kernel das Betriebssystem. Daher würde man, wenn man von Linux spricht eigentlich korrekterweise vom Kernel sprechen. Meist ist damit jedoch das ganze System gemeint. Wenn man vom kompletten System spricht, so sollte man es als Distribution (Zusammenstellung von Tools und Komponenten) bezeichnen. Diese klare Trennung ist jedoch bei proprietären System nicht möglich, weshalb der Begriff Betriebssystem sich nicht klar definieren lässt. Weitere Komponenten, die in einigen Definitionen enthalten sind, umfassen folgende Themen: • Hardware Verwaltung • Treiber • Schnittstelle für Systemfunktionen • Teile einer Grafischen Oberfläche • System‐ Dienste, ‐Programme • Interprocess Communication (IPC) • Dateisysteme • Datentransfer über Netzwerke • Skriptsprache für das System • Bootloader • Programmbibliotheken 1.1.2. Grundlegende Aufgaben Ein Betriebssystem hat vielerlei Aufgabengebiete. An vorderster Stelle ermöglicht es uns die Arbeit mit einem Computer. Weitere Aufgabengebiete sind: • Verwaltung der Prozessorzeit • Verwaltung des Speicherplatzes für Anwendungen • Verwaltung der (angeschlossenen) Geräte • Laden und Unterbrechen von Programmen • Bereitstellung von Schnittstellen für Programme Seite 4 von 28 1.1.3. Geschichte Betriebssysteme in der Form, wie wir sie nun kennen existieren vergleichsweise kurz, zu den Systemen, die es früher gab. Es waren keine Systeme, wie Windows oder Linux, wie wir sie derzeit kennen mit einem Terminal oder einer Grafischen Oberfläche sondern Systeme, die man per Hand bedienen musste. Eines davon waren die Lochkartensysteme. 1.1.3.1. Lochkartensysteme Beim Einsatz von Lochkartensystemen brauchte man eine Person dazu, das System mit Lochkarten zu „füttern“. Dies war der sogenannte „Operator“,