|
||||
|
||||
|
||||
|
||||
|
||||
Betriebssyteme heute: |
DOS, WINDOWS, WINDOWS CE, MAC, PALM, LINUX |
|||
Schichtenmodell |
||||
|
||||
Programm |
||||
Die Lösung einer Programmieraufgabe (=Algorithmus) wird in Form eines Programms realisiert. Teillösungen werden dabei als Prozeduren (Unterprogramme) formuliert, welche nach Beendigung ihrer Arbeit zum aufrufenden übergeordneten Programm zurückkehren. Damit die Leistungen des Betriebssystemkerns problemlos in Anwenderlösungen eingebunden werden können, sind sie ebenfalls als Prozeduren realisiert. Ein Programm (Prozedur, Unterprogramm) besteht aus: Befehlen (Codebereich, Textbereich) Programmdaten (Datenbereich) Beide Komponenten sind problemorientiert. |
||||
Wird ein Programm (Prozedur) unter der Kontrolle eines Betriebssystems (genauer gesagt unter der Kontrolle eines Betriebssystemkerns) ausgeführt, so wird dieser Ablauf als Prozess (engl. Task) bezeichnet. Diese Betrachtungsweise macht es möglich, dass mehrere Programme gleichzeitig als Prozesse parallel auf einem sequentiell arbeitenden Rechnersystem (unabhängig von der realen Anzahl Prozessoren) ablaufen können. |
||||
Als Sonderfall gilt die Ausführung mehrerer Prozesse auf einem Prozessor. Bei der Ausführung von Prozessen entstehen Daten, die durch den Betriebssystemkern verwaltet werden. Diese werden Statusinformationen genannt und sind systemabhängig, z. B. Registerinhalte. Als weitere Komponente wird beim Ablauf eines Programms ein Kellerspeicher (Stack) aufgebaut. |
||||
Prozessmodell |
||||
Es können sich mehrere Prozesse gleichzeitig im Speicher befinden, es ist jedoch immer nur ein Prozess aktiv, d.h. er wird von der Hardware bearbeitet Dualprozessoren: --> parallel falls die Zahl der Prozessoren größer oder gleich der Zahl der Prozesse ist, quasiparallel im anderen Fall. Jeder Prozess besitzt seine eigene Prozessumgebung (Instanz). Jeder Prozess kann seinerseits andere Prozesse erzeugen und - mit Hilfe der BS-Kerns - mit anderen Prozessen kommunizieren. Prozesse können voneinander abhängen --> kooperierende Prozesse. Derartige Prozesse müssen sich untereinander synchronisieren. Prozessen kann eine Priorität zugeordnet werden, aus der sich die Reihenfolge ergibt, mit der die Prozesse der CPU zugeteilt werden. Die Speicherung der Prozesszustände erfolgt in einer vom BS geführten Prozesstabelle. |
||||
Scheduling (Koordination von konkurrenten Prozessen -> Zuteilungsstrategie) |
||||
FIFO |
Elemente werden in genau der Reihenfolge abgerufen, in der sie zuvor abgelegt wurden. First In - First Out.. Die Warteschlange (engl. Queue ) beruht auf dem FIFO Prinzip. Nach dem FIFO-Prinzip organisierte Datenverbindungen nennt man Pipes. Siehe auch: Warteschlange. Andere Bezeichnung: First Come First Served |
|||
LIFO bzw. FILO |
Last In – First Out (LIFO) (engl. "zuletzt herein – zuerst hinaus") (auch als FILO bezeichnet) Anders: Last Come First Served |
|||
SJN |
Shortest Job First |
|||
HRN |
Highest Response Ratio Next |
|||
Welche Zuteilungsstrategie sollte man wählen, wenn Bedienzeiten vorher bekannt sind und man die mittlere Antwortzeit minimieren will? -> SJN (aber Aufträge mit langen Bedienzeiten 'verhungern'. |
||||
Welche Ziele verfolgt man mit einer Prozessor-Zuteilungsstrategie? |
||||
Deadlock - Systemverklemmung durch Prozesse, die mehrere Betriebsmittel mit jeweils exklusivem Zugriff benötigen. |
||||
Speicher |
||||
Der Arbeitsspeicher des Computers ist ein durch Adressen (Colums und Rows, d.h. Spalten und Zeilen) strukturierter Bereich, der Binärwörter fester Größe aufnehmen kann. Der Arbeitsspeicher moderner Computer ist flüchtig , d. h. dass alle Daten nach dem Abschalten der Energieversorgung verloren gehen – der Hauptgrund hierfür liegt in den verwendeten DRAMs . Verfügbare Alternativen wie etwa MRAM sind allerdings für die Verwendung als Arbeitsspeicher noch zu langsam. Die häufigste Bauform für den Einsatz in Computern ist das Speichermodul . Es ist zwischen verschiedenen RAM-Typen zu unterscheiden. Während bis Mitte der 1990er vorwiegend SIMMs mit FPM- oder EDO-RAM üblich waren, kommen in heutigen Computern in erster Linie DIMMs mit z. B. SDR -, DDR - oder DDR2-SDRAMs zum Einsatz. Um den physischen Arbeitsspeicher zu erweitern, können moderne Betriebssysteme zusätzlichen (virtuellen) Arbeitsspeicher auf Massenspeichern allokieren. Diesen Speicher nennt man auch Swapspeicher. (Swap-Datei) |