Modulbezeichnung: Ük Modul 305 ÜK Modul 305 Kompetenzfeld: Betriebssysteme installieren und für den Multiuserbetrieb konfigurieren System mit Betriebssystem-Befehlen und Hilfsprogrammen administrieren. Aufgaben des Betriebssystems Ein Betriebssystem ist die Software welche es erlaubt dass ein Computer bereit zur Benutzung ist, es verwaltet Speicheraufgaben, Ein- und Ausgabegeräte und steuert die Ausführung von Programmen. Man unterscheidet zwischen Steuerung der Hardware und der Prozesse sowie der Steuerung von Anwenderprogrammen und Benutzern. Funktionen zur Hardware- und Prozesssteuerung Hardware-Ansteuerung: koordiniert werden. Prozessverwaltung: Prozesskommunikation: Hardwareverwaltung: Arbeitsspeicherverwaltung: Massenspeicherverwaltung: I/O-Verwaltung: Alle Hardware wie z.b. CPU, RAM, Hard-Disk, die angeschlossenen Peripheriegeräte und die Netzwerk- Schnittstellen müssen korrekt angesprochen, gesteuert und Hierfür benötigt jede Hardwarekomponente einen speziellen Treiber für das Betriebssystem. Betriebssysteme heutzutage benutzen Multitasking bei dessen Ablauf mehrere Prozesse gleichzeitig laufen dadurch muss die Zeitzuweisung an die einzelnen Prozesse gesteuert werden. Prozesse kommunizieren untereinander wobei sie Informationen austauschen müssen, hierfür stellt das Betriebssystem spezielle Mechanismen zur Verfügung. Der Fachbegriff für diese Mechanismen ist Interprozess-Kommunikation. Mehrere Prozesse können die Hardwarekomponenten nutzen, da alle Zugriffe jedoch über das Betriebssystem geregelt werden, werden auch dementsprechend Konflikte verhindert. Mehrere Prozesse können sich den Arbeitsspeicher teilen ohne dass es zu Konflikten kommt, denn ein jeder Prozess hat seinen eigens geschützten Speicherbereich. Mithilfe des Dateisystems werden die Daten angeordnet innerhalb einer Struktur aus Verzeichnissen auf Datenträgern wie z.b. Festplatten, Flash-Speichern, CD/DVD-ROM oder auch Magnetbändern abgelegt. Das Betriebssystem stellt für die ganzen Lese- und Schreibvorgänge die für uns Benutzer immer gleich aussehen, eine einheitliche Schnittstelle zur Verfügung, die die Verschiedenartigen Geräte richtig beschreibt. Modul Ük305 Patrick Urfer 17.08.2015 Seite 1 von 6
Funktionen für Anwenderprogramme und Benutzer API: Benutzerschnittstelle: Benutzerverwaltung: Voll ausgeschrieben Application Programming Interfaces sind vom Betriebssystem bereitgestellte Funktionen für oft auftretende und benötigte Aufgaben. All diese Funktionen können von Anwendungsprogrammen über das API abgerufen werden und so eine Menge Prozesse automatisieren. z.b. ob auf Massenspeicher gespeichert werden soll, oder wie die einzelnen relevanten Komponenten wie die Festplatte als Beispiel anzusprechen sind. Das Betriebssystem stellt eine Benutzerschnittstelle zur Verfügung dies kann in Form einer grafischen Oberfläche sein oder in Form einer Kommandozeile. Das Betriebssystem regelt jegliche Zugriffsrechte der verschiedenen Benutzer und Gruppen auf Dateien und Prozesse des Computers. Multitasking-Betrieb Multitasking wird von allen aktuelleren Betriebssystemen unterstützt und bedeutet, dass der Computer mehrere Aufträge(Tasks) bzw. Prozesse simultan abgearbeitet werden können. So kann ein Anwender in einem Textverarbeitungsprogramm Dokumente bearbeiten während im Hintergrund eine Datenbank die Daten sortiert. Der Vorteil davon ist auf einem Blick ersichtlich stellt aber für den Computer ein beträchtliches Problem dar, der Prozessor kann normalerweise nur ein einziges Programm auf einmal ausführen kann. Die Lösung dieses Problems ist es das der Prozessor zwischen den Programmen hin und her schaltet und beim Benutzer durch diesen Vorgang den Eindruck der Gleichzeitigkeit erzeugt. Damit das klappt muss ein Prozess bestehend aus einem laufenden Programm im Arbeitsspeicher und den dazugehörigen Zustands- und Steuerinformationen gespeichert sein, diese Informationen müssen beim Multitasking gespeichert und danach wieder hergestellt werden, damit der Prozess weiterlaufen kann. Dafür sind folgende Daten für jeden Prozess die gespeichert werden: Geöffnete Dateien Status der Peripheriegeräte Aktuelles Verzeichnis Speicherbereich des Prozesses und seiner Daten Die einzelnen Prozesse werden abwechslungsweise auf dem Prozessor ausgeführt, hierbei teilt sich die Prozessorzeit in mehrere Zeitabschnitte ein und ist einer der Zeitabschnitte abgelaufen so entzieht das Betriebssystem dem aktuellen Prozess die Rechte des Zugriffs und reicht diese weiter an den nächsten Prozess. Dieses Verfahren nennt man auch präemptives Multitasking und ist heutiger Standard. Modul Ük305 Patrick Urfer 17.08.2015 Seite 2 von 6
Kooperative Multitasking Ist ein veraltetes Multitasking-Verfahren was heute kaum mehr benutzt wird. In diesem Multitasking-Verfahren bestimmt der Prozess selbst, wann er die Kontrolle abgibt, dieses Verfahren kann auch dazu führen, dass ein schlecht programmiertes, abgestürztes oder bösartiges Programm alle anderen Prozesse blockiert, weil es die Kontrolle nicht weiter übergibt. Das ist der Hauptgrund weswegen das Multitasking-Verfahren kaum mehr benutzt wird. Multi-Threading Alle aktuellen Betriebssysteme arbeiten neben dem Multitasking mit dem sogenannten Multi- Threading verfahren, welches eine Weiterentwicklung des Multitasking-Verfahrens ist. Beim Multi-Threading wird ein einzelner Prozess in mehrere gleichzeitig sich abarbeitende Teilprozesse(Threads) gespalten, kurz gesagt kann Multi-Threading als Multitasking innerhalb eines Prozesses verstanden werden. Hyper-Threading Der Begriff Hyper-Threading beschreibt eine Hardwaretechnologie die Virtuelle Prozessoren vortäuscht. Es werden gewisse Elemente pro Prozessor doppelt verbaut, was zusammen mit einer internen Logik dazu führt, dass die Leistung auf zwei virtuelle Prozessoren aufgeteilt wird. Bleibt also gesagt das wenn ein Computer über 4 Prozessorkerne verfügt und diese alle Hyper- Threading betreiben, also 4 Physische und 4 Logische Prozessoren arbeiten also quasi 8 Prozessoren. Das ist natürlich auch Finanziell eine Optimierung da es deutlich billiger kommt als 8 Physische Prozessoren zu verbauen, dazu kommt die Leistungssteigerung bei Multiprozessor-Systemen und Software welche darauf optimiert ist. Multiuser-Betrieb In der Systemnutzung wird zwischen Single-User und Multi-User unterschieden, Systeme welche den Multiuser-Betrieb kann sehr viel vielfältiger eingesetzt werden und bietet durch die verbesserte Rechteverwaltung pro einzelner User eine deutlich höhere Sicherheitsstufe. Nachteil ist allerdings auch das es mehr Ressourcen verbraucht und sehr viel Komplexer im Aufbau ist, was für User ohne Kenntnisse eine Hürde darstellen kann. Ein Multiuser-System muss mindestens zulassen das die Rechte, Einstellungen und Arbeitsumgebung pro User verwaltet werden kann, ohne die Daten der anderen User zu beeinträchtigen. Im Normalfall versteht man unter einem Multiuser-System ein System an welchem mehrere User gleichzeitig arbeiten können, das setzt natürlich auch Multitasking voraus, damit mehrere Tasks gleichzeitig ausgeführt werden können. Normalerweise erfolgt ein Multiuser-System über das Netzwerk damit ein Administrator und ein User zeitgleich arbeiten können, ohne sich in Ihren Tätigkeiten zu stören. Windows Ist ein proprietäres Betriebssystem der Firma Microsoft. Es erlaubt Multitasking sowie eingeschränkte Multiuser-Verwendung, für den Leistungsfordernden Multiuser-Betrieb wird stattdessen eine Servervariante von Windows empfohlen. Linux Ist ein Open-Source Multitasking- und Multiuser-Betriebssystem, welches Unix-kompatibel ist und auf sehr vielen Prozessoren lauffähig ist, es wurde nicht für bestimmte Plattformen entwickelt wie Intel oder AMD sondern für eine vielseitige Anwenderschicht wie z.b. bei PCs, Routern, PDAs und heutzutage vor allem für Handys und Tablets wo es als Android sehr viel verwendet wird und welches eine veränderte Version von einem Linux-Betriebssystem ist. Dieses Betriebssystem glänzt vor allem durch die vielen Distributionen und der Möglichkeit selbst ein System zu erstellen. Modul Ük305 Patrick Urfer 17.08.2015 Seite 3 von 6
Linux-Distributionen Da der Aufwand ein Linux-System selbst zu konfigurieren, sehr viel Know-how fordert und schlichtweg, ein sehr großer Zeitaufwand darstellt, ziehen die meisten User es vor sich fertig kompilierte Linux-Distributionen zu downloaden oder kaufen. Distributoren stellen aus dem Linux-System und den tausenden von Komponenten ein leistungsstarkes und lauffähiges Betriebssystem zusammen, welches oft mit selbst erstellen Zusätzlichen-Komponenten ergänzt wird. Das Wichtigste ist allerdings das die Distribution durch den Hersteller kompiliert, konfiguriert und getestet ist, das bedeutet das viele Probleme bereits behoben sind und für die User und Administratoren eine Dokumentation bereitgestellt wird. Die bekanntesten und wichtigsten Distributoren sind: Red Hat, SUSE, Debian, Ubuntu und Slackware. Mac OS Ist ein von Apple hergestelltes proprietäres Multitasking- und Multiuser-Betriebssystem für die selbst entwickelten Macintosh-Computer. In diesem Punkt liegt auch der große Vorteil und Nachteil den im Gegensatz zu anderen Betriebssystemen ist Mac OS nur auf den selbst hergestellten Macintosh-Computer flüssig lauffähig. Das führt dazu dass Mac OS durch aufeinander angepasste Hard- und Software sehr gute Performance-Werte besitzt, der Nachteil liegt hier bei das die Apple-Hardware preislich relativ in Teuren-Bereichen ist und man die Hardware nicht komplett selber auswählen kann. Paging Beim Paging werden einzelne Speicherseiten von fester Größe ausgelagert, entschieden welche Seite ausgelagert werden soll, wird mittels der längsten Zeit des letzten Zugriffs. Swapping Das Swapping bewirkt das ganze Prozesse welche lange inaktiv waren, auf die Festplatte ausgelagert werden. Shared Libraries Funktionen welche von mehreren Programmen verwendet werden können in die sogenannte Programmbibliothek ausgelagert werden, das ermöglicht den verschiedenen Programmen diese Funktionen gemeinsam zu nutzen. Interprozess-Kommunikation Prozesse müssen miteinander kommunizieren können, den z.b. wenn ein Prozess Daten von der Festplatte einliest, und ein anderer Prozess wartet auf diese Daten, so muss gewährleistet das der erste Prozess dem darauffolgenden Prozess mitteilt wie lange es dauert bis er fertig ist und wo die Daten gespeichert sind. Modul Ük305 Patrick Urfer 17.08.2015 Seite 4 von 6
Aufbau des Betriebssystems Ein Aufbau des Betriebssystems lässt sich auf dem Schichtenmodell oberhalb verdeutlichen, diese einzelnen Schichten sind wie eine Schale übereinander drübergelegt, jede Schicht benutzt die innere Schicht und wird von der jeweils folgenden Schicht benutzt, visuell sichtbar für den User ist nur die äußerste Schicht. 1te Schicht: Im Zentrum liegen die zu steuernde Hardware des Computers und darauffolgend die Peripheriegeräte. 2te Schicht: In dieser Schicht liegen die Peripheriegeräte und die Verwaltung dieser. Zwischenschicht: Zwischen den Peripheriegeräten und der folgenden Schicht finden wir das, BIOS und die Treiber, sie dienen als Schnittstelle zwischen Hardware und Betriebssystem und setzen Befehle des Betriebssystems in Hardware-Zugriffe um, damit dienen sie als bindendes-glied zwischen Kernel und Hardware. Modul Ük305 Patrick Urfer 17.08.2015 Seite 5 von 6
3te Schicht: Diese Schicht nimmt der Kernel ein dieser enthält die wichtigsten Funktionen eines Betriebssystems und läuft im sogenannten Kernel-Mode. Die Hardware-Treiber sind Module des Kernels und laufen somit innerhalb des so genannten Kernel-Modes, alle Programme welche im Kernel laufen haben kompletten Hardware-Zugriff. Innerhalb des Kernel-Modes ist es möglich alle Systemaufrufe ohne Sicherheitskontrolle auszuführen, was die Programme im Kernel sehr schnell und Ressourcensparend macht und dennoch sollte ein Fehler im Kernel passieren wo kein Schutz vorhanden ist so kann es je nach Schwere des Fehlers das ganze System blockieren. 4te Schicht: Hier folgt die Schicht des User-Modes des Betriebssystems. Diese Schicht hat im Gegensatz zum Kernel-Mode keinen direkten Zugriff auf die Hardware, Anweisungen aus dieser Schicht werden erst vom Kernel bearbeitet und darauffolgend an die Hardware und Peripheriegeräte übermittelt. Alle Anwendungsprogramme werden im User-Mode ausgeführt. Alle Prozesse im User-Mode sind streng getrennt von anderen Prozessen, sowie darf kein Prozess auf den Speicherbereich eines anderen Prozesses zugreifen und auch der Zugriff auf den Kernelspeicher ist nicht möglich. Jeder Systemaufruf eines Anwendungsprogramms muss erst bestimmte Kontrollmechanismen durchlaufen, daher sind sie deutlich langsamer und verbrauchen mehr Ressourcen, jedoch steigt hierdurch auch die Stabilität und Sicherheit des Systems vor Fehlern. 5te Schicht: Hier folgt die Schicht der Anwendungsprogramme hier finden Sie Anwendungen wie MS Word oder auch andere Programme. Alle Anweisungen welche ein Anwendungsprogramm an die Hardware richtet müssen zuerst die beiden Betriebssystem-Schichten verarbeitet werden bevor sie ausgeführt werden. Diese Schnittstelle zwischen Anwendungsprogramm und Betriebssystem wird durch das sogenannte API gebildet. Daher dürfen Anwendungsprogramme nur mit diesem Programmaufruf jeweils gewünschte Prozesse auslösen, sie selbst sind nicht befugt auf die Hardware zuzugreifen. Durch diese Übersicht über die Betriebssysteme haben sie nun einen Fundierten Einblick wie das Ganze Funktioniert und abläuft. Modul Ük305 Patrick Urfer 17.08.2015 Seite 6 von 6