Erklären Sie folgende Begriffe: Thread
Ein Thread ist ein eigenständiger Teil eines Prozesses (nebenläufige Ausführungseinheit) innerhalb des Adressraums des Prozesses oder auch ein leichtgewichtiger Prozess (LWP).
Erklären Sie folgende Begriffe: Memory Management Unit
Die Memory Management Unit ist Teil des Prozessors.
Sie kümmert sich um die Umsetzung der virtuellen Speicheradresse auf die physikalische Speicheradresse.
Sie kümmert sich um die Umsetzung der virtuellen Speicheradresse auf die physikalische Speicheradresse.
Erklären Sie folgende Begriffe: System Call Interface
Das System Call Interface ist die Schnittstelle zwischen User- und Kernelmodus.
Sie bietet dem Entwickler definierte Aufrufbefehle für Systemroutinen (um auf die Betriebsmittel zugreifen zu können).
z.B. C-Library unter Linux
Sie bietet dem Entwickler definierte Aufrufbefehle für Systemroutinen (um auf die Betriebsmittel zugreifen zu können).
z.B. C-Library unter Linux
Erklären Sie folgende Begriffe: HAL
HAL steht für Hardware Abstraction Layer.
Er befindet sich in der unteren Schicht im Schichtenmodell des BS zur Kapselung der hardwarenahen Funktionen.
Er befindet sich in der unteren Schicht im Schichtenmodell des BS zur Kapselung der hardwarenahen Funktionen.
Erklären Sie folgende Begriffe: Polling
aktives, zyklisches Abfragen von externen Geräten durch die CPU.
Sehr CPU-lastig - deshalb der Gegenentwurf: Interrupts
Sehr CPU-lastig - deshalb der Gegenentwurf: Interrupts
Erklären Sie folgende Begriffe: Was wird in einem Dateisystem mit Wurzel bezeichnet?
Das aller oberste Verzeichnis des Dateibaums, Stammverzeichnis oder root genannt.
Erläutern Sie: Was bezeichnet man als Deadlock?
Zwei Prozesse blockieren sich gegenseitig bei der jeweiligen Anforderung eines neuen Betriebsmittels, oder Prozess A hat BM 2 und benötigt BM 1, Prozess B hat BM1 und benötigt BM2, gegenseitige Blockade/Verklemmung.
4 Bedingungen:
Mutual exclusion
Jedes beteiligte Betriebsmittel ist entweder exklusiv belegt oder frei
Hold-and-wait
Prozesse belegen bereits exklusiv Betriebsmittel (mind. eines) und fordern noch weitere an: Die Anforderung wird also nicht auf einmal getätigt
No preemption
Es ist kein Entzug eines Betriebsmittels möglich, Prozesse müssen sie selbst wieder zurückgeben
Circular waiting
Zwei oder mehr Prozesse müssen in einer geschlossenen Kette auf Betriebsmittel warten, die der nächste reserviert hat
4 Bedingungen:
Mutual exclusion
Jedes beteiligte Betriebsmittel ist entweder exklusiv belegt oder frei
Hold-and-wait
Prozesse belegen bereits exklusiv Betriebsmittel (mind. eines) und fordern noch weitere an: Die Anforderung wird also nicht auf einmal getätigt
No preemption
Es ist kein Entzug eines Betriebsmittels möglich, Prozesse müssen sie selbst wieder zurückgeben
Circular waiting
Zwei oder mehr Prozesse müssen in einer geschlossenen Kette auf Betriebsmittel warten, die der nächste reserviert hat
Erläutern Sie: Beschreiben Sie zwei Aufgaben eines Betriebssystems und geben Sie jeweils ein Beispiel dafür an.
- Betriebsmittelverwaltung, Bsp. Drucker, Netzwerk, Festplatte
- Steuerung von Prozessen, Bsp. Scheduling, Interrupts
- Speicherverwaltung, Bsp. virt. Speicher verwalten, Paging
- Steuerung von Prozessen, Bsp. Scheduling, Interrupts
- Speicherverwaltung, Bsp. virt. Speicher verwalten, Paging
Erläutern Sie: Erklären Sie die Aufgaben eines Schedulers und eines Dispatchers.
Beide Teil des Process Managers.
Scheduler: Planungseinheit - entscheidet wann welcher Prozess CPU zugeteilt bekommt (Scheduling = Ablaufplanung)
Dispatcher: Ausführungseinheit - kümmert sich um Sichern und Wiederherstellen der Prozesskontexte (Dispatching = Arbeitsverteilung, Disposition)
Scheduler: Planungseinheit - entscheidet wann welcher Prozess CPU zugeteilt bekommt (Scheduling = Ablaufplanung)
Dispatcher: Ausführungseinheit - kümmert sich um Sichern und Wiederherstellen der Prozesskontexte (Dispatching = Arbeitsverteilung, Disposition)
Erläutern Sie: Was ist der Unterschied zwischen einer Page und einem Frame bei der Hauptspeicherverwaltung? Welcher ist größer?
Page: Einteilungseinheit des virtuellen Speichers
Frame: Einteilungseinheit des physikalischen Speichers
beide sind exakt gleich groß!
Frame: Einteilungseinheit des physikalischen Speichers
beide sind exakt gleich groß!
Erläutern Sie: Festplatten werden aufgeteilt in? (3 Begriffe) Auf welche Aufteilung wird der Schreib- Lesekopf positioniert?
Sektoren, Spuren, Zylinder.
Mehrere Spuren übereinander = Zylinder
Schreib- Lesekopf wird also über Zylinder positioniert.
Mehrere Spuren übereinander = Zylinder
Schreib- Lesekopf wird also über Zylinder positioniert.
Erläutern Sie: Erklären Sie die beiden Ausprägungen des Lokalitätsprinzips bei Adressbereichen.
räumlich: Adressbereiche in der Nachbarschaft eines Adressbereiches, auf den zugegriffen wird, werden mit hoher Wahrscheinlichkeit als nächste benutzt.
zeitlich: Adressbereiche, auf die zugegriffen wird, werden mit hoher Wahrscheinlichkeit in naher Zukunft wieder benutzt
zeitlich: Adressbereiche, auf die zugegriffen wird, werden mit hoher Wahrscheinlichkeit in naher Zukunft wieder benutzt
Erläutern Sie: Nennen Sie drei Ereignisse, die einen Prozesswechsel auslösen können.
-Page Fault (synchroner Interrupt)
-Tastaturanschlag (asynchroner Interrupt über Interrupt Controller)
- Clock (Quantum)
Lösung im Buch:
Interrupt oder Trap, Prozess ist fertig, Zeitscheibe oder Wechsel nach Zeit, Prozess wartet auf Betriebsmittel oder Eingabe
-Tastaturanschlag (asynchroner Interrupt über Interrupt Controller)
- Clock (Quantum)
Lösung im Buch:
Interrupt oder Trap, Prozess ist fertig, Zeitscheibe oder Wechsel nach Zeit, Prozess wartet auf Betriebsmittel oder Eingabe
Erläutern Sie: Nennen Sie drei Vorteile der Betriebssystemvirtualisierung bei Servern.
+Höhere Auslastung (80-90%)
+weniger Energiekosten
+weniger Hardwarekosten
+weniger Wartungsaufwand
+bessere Sicherungs- und Sicherheitskonzepte
+Unterstützung historischer Anwendungen
+weniger Energiekosten
+weniger Hardwarekosten
+weniger Wartungsaufwand
+bessere Sicherungs- und Sicherheitskonzepte
+Unterstützung historischer Anwendungen
Erläutern Sie: Welches Scheduling-Verfahren ist von der Verweilzeit her betrachtet das Beste? Warum ist dieses Verfahren sehr schwer zu realisieren?
Shortes Job First (SJF)
Ist jedoch schwer zu realisieren, da in aktuellen Multiprogrammbetriebsystemen nicht abzusehen ist, welcher Job der Kürzeste sein wird.
Gleiches Problem wie bei Belady (Speicherzugriffsreihenfolge optimal, wenn man weiß was kommt)
ZUKUNFT NICHT VORHERSEHBAR!
Ist jedoch schwer zu realisieren, da in aktuellen Multiprogrammbetriebsystemen nicht abzusehen ist, welcher Job der Kürzeste sein wird.
Gleiches Problem wie bei Belady (Speicherzugriffsreihenfolge optimal, wenn man weiß was kommt)
ZUKUNFT NICHT VORHERSEHBAR!
Benennen Sie vier Kriterien für einen kritischen Abschnitt.
1) Keine 2 Prozesse dürfen gleichzeitig in einem kritischen Abschnitt sein.
2) keine Annahmen über die Abarbeitungsgeschwindigkeit und die Anzahl der Prozesse / Prozessoren
3) Ein Prozess darf außerhalb eines kritischen Abschnitts einen anderen Prozess nicht blockieren
4) Jeder Prozess, der am Eingang eines kritischen Abschnitts wartet, muss ihn irgendwann betreten dürfen – kein ewiges Warten
2) keine Annahmen über die Abarbeitungsgeschwindigkeit und die Anzahl der Prozesse / Prozessoren
3) Ein Prozess darf außerhalb eines kritischen Abschnitts einen anderen Prozess nicht blockieren
4) Jeder Prozess, der am Eingang eines kritischen Abschnitts wartet, muss ihn irgendwann betreten dürfen – kein ewiges Warten
An die Ausfallsicherheit eines VMM (virtual machine monitors) werden besonders hohe Anforderungen gestellt, warum? Bitte erläutern Sie kurz und geben Sie einen Lösungsansatz für die Erhöhung der Ausfallsicherheit an.
Wenn ein VMM ausfällt, fallen damit auch alle auf ihm laufenden virtuellen Maschinen aus. Deshalb ist die Ausfallsicherheit bei VMM extrem wichtig!
Um dies zu erreichen, könnte man parallel eine zweite/dritte VMM laufen lassen (redundant) die bei Ausfall nahtlos weiterarbeiten kann.
Um dies zu erreichen, könnte man parallel eine zweite/dritte VMM laufen lassen (redundant) die bei Ausfall nahtlos weiterarbeiten kann.
Was ist das Kennzeichen des preemptiven Scheduling? Nennen Sie zwei Strategien, in denen dies gut angewandt werden kann.
preemtive = verdrängend
Bei prremitiven Schedulingverfahren handelt es sich um Verfahren, welchen einen laufenden Prozess aus der CPU verdrängen können (Abarbeitung eines Prozesses darf unterbrochen werden)
Beispiel:
Round-Robin
Priority Scheduling
Completely Fair Scheduling
Bei prremitiven Schedulingverfahren handelt es sich um Verfahren, welchen einen laufenden Prozess aus der CPU verdrängen können (Abarbeitung eines Prozesses darf unterbrochen werden)
Beispiel:
Round-Robin
Priority Scheduling
Completely Fair Scheduling
Warum müssen die Semaphor-Operationen P() und V() selbst wieder ununterbrechbar sein?
Die Operationen P() (=Betreten) und V() (=Verlassen) eines Semaphors müssen atomar sein (also in einem Maschinenbefehl ausführbar), weil eine Unterbrechung zu Inkonsistenzen in der Warteschlangenbearbeitung oder Zähler führen kann.
Die Ein- und Austrittsfunktionen eines kritischen Abschnitts müssen einen eindeutigen Zustandswechsel hervorrufen.
Die Ein- und Austrittsfunktionen eines kritischen Abschnitts müssen einen eindeutigen Zustandswechsel hervorrufen.
Speicherverwaltung: Tragen Sie die Seitenersetzung in die folgenden beiden Tabellen ein. FIFO
First In First Out (ohne zu beachten, wann ein Speicher als letztes verwendet wurde)
Speicherverwaltung: Tragen Sie die Seitenersetzung in die folgenden beiden Tabellen ein. LRU
LRU - Least recently used
Seite wird ersetzt, deren letzte Nutzung zeitlich am weitesten zurückliegt
Erläutern Sie, welches der beiden genannten Verfahren effizienter ist und warum.
FIFO benötigt 4 Seitenersetzungen, LRU benötigt 2 Seitenersetzungen und ist daher effizienter.
Eine Multiplikation zweier Zahlen führt zu einer so großen Zahl, dass sie im definierten Datentyp des Ergebnisses nicht mehr dargestellt werden kann.
Wie reagiert das Betriebssystem auf den gemeldeten Fehler im Fall
a) das Programm, das dieses Ergebnis erzeugt, enthält eine Abfrage für diesen Fall mit entsprechender Fehlerroutine die vor der Multiplikation ausgeführt wird.
b) die CPU meldet einen ‚overflow‘
Bitte erläutern Sie in Stichworten.
Kann der Prozess fortgesetzt werden?
Wie reagiert das Betriebssystem auf den gemeldeten Fehler im Fall
a) das Programm, das dieses Ergebnis erzeugt, enthält eine Abfrage für diesen Fall mit entsprechender Fehlerroutine die vor der Multiplikation ausgeführt wird.
b) die CPU meldet einen ‚overflow‘
Bitte erläutern Sie in Stichworten.
Kann der Prozess fortgesetzt werden?
a) das Betriebssystem ist in diesem Fall überhaupt nicht involviert. Via Exception-Handling wird der Fehler abgefangen, bevor es zu einem Fehler kommen kann. Der Programmierer könnte eine Fehlermeldung anzeigen lassen ...
b) es handelt sich um einen synchronen Interrupt, genauer einen Trap (da Unterbrechung nach der Ausführung). Damit Sprung in Interrupt-Bearbeitung (Vektor-Tabelle -->ISR).
Prozess wird beendet.
b) es handelt sich um einen synchronen Interrupt, genauer einen Trap (da Unterbrechung nach der Ausführung). Damit Sprung in Interrupt-Bearbeitung (Vektor-Tabelle -->ISR).
Prozess wird beendet.
Sie haben einen RAID 5 Festplattenverbund mit 5 Platten zu je 500 GB Kapazität. Wie groß ist der Kapazitätsverlust durch die Redundanz bei RAID 5?
RAID 5 arbeitet mit einer Parität, daher 1 Platte pro Verbund, hier 20% oder 500 GB.
Erklären Sie folgende Begriffe: Was versteht man unter dem Adressraumbelegungsplan?
Einen Plan der beschreibt, welche Frames des realen Speichers belegt sind oder nicht. Also eine Art "Inhaltsverzeichnis" des physikalischen RAMs.
Erklären Sie folgende Begriffe: Nennen Sie einen Vorteil der Schichtenarchitektur bei BS
-Das Betriebssystem ist durch den Hardware Abstraction Layer (HAL) unabhängig von der darunterliegenden Hardware. Beim Austausch der Hardware muss nicht das komplette Betriebssystem mitausgetauscht werden.
-Trennung von User- und Kernelmodus - damit ist nur ein gesicherter Zugriff auf die Hardware möglich.
-Trennung von User- und Kernelmodus - damit ist nur ein gesicherter Zugriff auf die Hardware möglich.
Erklären Sie folgende Begriffe: Was bezeichnet man als Timesharing?
Unter Timesharing im Kontext des CPU Sheduling versteht man Zeitscheibenverfahren. Die CPU-Zeit wird für Prozesse also nur für ein gewisses Zeitfenster/Quantum zugeteilt.
Erläutern Sie: Beschreiben Sie die Situation Race Conditions
-Zwei oder mehrere Prozesse oder Threads nutzen gleichzeitig ein gemeinsames Betriebsmittel (Liste, Counter,...) verändernd.
-Änderungsaktion ist nicht atomar
-> Endergebnisse der Bearbeitung sind von der zeitlichen Reihenfolge abhängig
-Änderungsaktion ist nicht atomar
-> Endergebnisse der Bearbeitung sind von der zeitlichen Reihenfolge abhängig
Erläutern Sie: Was ist der "Test and set lock" (TSL) Befehl? Er muss welche Bedingung erfüllen?
Der "Test and set lock" (TSL) Befehl ist ein Teil moderner Intel CPUs. Er muss atomar ausführbar sein (also nicht durch einen Interrupt unterbrechbar). Er vergleicht und schreibt in einem Maschinenbefehl eine Speicherzelle.
Erläutern Sie: Was muss in einer virtualisierten Umgebung mit einem Typ-1 Hypervisor dieser besonderes tun, um asynchrone Interrupts korrekt zu verarbeiten?
-Hypervisor muss die asynchronen Interrupts (von außen) den entsprechenden Virtuellen Maschinen zuordnen können.
-Hypervisor entscheidet, ob IR an VM weitergeleitet, selbst ausgeführt oder ignoriert wird
-Er muss eigene Interrupts getrennt verarbeiten können.
-IRQs müssen vom Hypervisor an die Gastbetriebssysteme verteilt werden
-Hypervisor entscheidet, ob IR an VM weitergeleitet, selbst ausgeführt oder ignoriert wird
-Er muss eigene Interrupts getrennt verarbeiten können.
-IRQs müssen vom Hypervisor an die Gastbetriebssysteme verteilt werden
Erläutern Sie: Warum ist der Scheduling-Algorithmus "Shortest Remaining Time First" (SRTF) kaum zu realisieren?
-weil beim modernen Mehrprogrammbetrieb nicht abzusehen ist, wie lange ein Prozess noch dauern wird.
-> gleiches Problem wie bei Belady: Man kann nicht in die Zukunft sehen!
-> gleiches Problem wie bei Belady: Man kann nicht in die Zukunft sehen!
Erläutern Sie die Abwicklung eines Traps
Trap: synchroiner Interrupt, der nach Programmausführung auftritt (z.B. Division durch 0).
1. Aktuelles Programm wird ausgeführt
2. Zeitpunkt des Interrupts (Trap)
3. Aktueller Hardwarekontext/Prozesskontext wird vom Dispatcher gespeichert/weggeschrieben
4.Adressierung der Interrupt-Vektorrabelle zum herausfinden der richtigen ISR
5. Ausführung der ISR
7. Rückschreiben des "alten" Hardwarekontextes durch den Dispatcher
8. Ausführung des "alten" Programmes an der ehemaligen Stelle
1. Aktuelles Programm wird ausgeführt
2. Zeitpunkt des Interrupts (Trap)
3. Aktueller Hardwarekontext/Prozesskontext wird vom Dispatcher gespeichert/weggeschrieben
4.Adressierung der Interrupt-Vektorrabelle zum herausfinden der richtigen ISR
5. Ausführung der ISR
7. Rückschreiben des "alten" Hardwarekontextes durch den Dispatcher
8. Ausführung des "alten" Programmes an der ehemaligen Stelle
Ordnen Sie in der Tabelle den verschiedenen Scheduling Algorithmen jeweils die möglichen Eigenschaften zu:
SJF | SRTN | RR | PS | |
Nutzbar in Batchsystemen | ? | ? | ? | ? |
Nutzbar in interaktiven Systemen | ? | ? | ? | ? |
Beweisbar optimal (Verweilzeit) | ? | ? | ? | ? |
preemtive | ? | ? | ? | ? |
SJF | SRTN | RR | PS | |
Nutzbar in Batchsystemen | x | x | _ | _ |
Nutzbar in interaktiven Systemen | _ | _ | x | x |
Beweisbar optimal (Verweilzeit) | x | _ | _ | _ |
preemtive | _ | _ | x | x |
Tags:
Quelle: Grundkurs Betriebssysteme, Peter Mandl, 4. Auflage
Quelle: Grundkurs Betriebssysteme, Peter Mandl, 4. Auflage
Nennen Sie fünf Betriebssystemkategorien!
– Mainframes
– Serverbetriebssysteme
– Echtzeitbetriebssysteme
– PC-Betriebssysteme
– Smartphone/Tablets Betriebssysteme
– Embedded Systems
– Card-Systeme
– Serverbetriebssysteme
– Echtzeitbetriebssysteme
– PC-Betriebssysteme
– Smartphone/Tablets Betriebssysteme
– Embedded Systems
– Card-Systeme
Tags: Einführung
Quelle:
Quelle:
Was ist ein Von-Neumann-Rechner und wie unterscheidet er sich von einem Harvard-Rechner?
Von-Neumann:
Unterscheidet nicht zwischen Daten und Programmen
-> sehr viel kostengünstiger, hat sich durchgesetzt
Hardvard-Rechner:
Unterscheidet zwischen Daten und Programmen
->zwei getrennte Speicher die auf jeweils eigenem BUS mit CPU verbunden werden, sehr teuer, nicht praxisrelevant
Unterscheidet nicht zwischen Daten und Programmen
-> sehr viel kostengünstiger, hat sich durchgesetzt
Hardvard-Rechner:
Unterscheidet zwischen Daten und Programmen
->zwei getrennte Speicher die auf jeweils eigenem BUS mit CPU verbunden werden, sehr teuer, nicht praxisrelevant
Tags: Einführung
Quelle:
Quelle:
Was ist ein Mehrkernprozessor?
Mehrkernprozessoren verfügen über mehrere vollständige CPUs (Central Processing Units). Viele Ressourcen mit Ausnahme des Busses und einiger Caches sind repliziert.
Wozu braucht man in Computern CPU-Register?
Diese schnellen Speicher werden benötigt, um die Maschinenbefehle auszuführen.
Je nach Maschinenbefehl werden eines oder mehrere Register benötigt. Die Maschinenbefehle schreiben ihre Operanden oft in Register oder lesen Operanden aus Registern.
Je nach Maschinenbefehl werden eines oder mehrere Register benötigt. Die Maschinenbefehle schreiben ihre Operanden oft in Register oder lesen Operanden aus Registern.
Tags: Einführung
Quelle:
Quelle:
Was versteht man unter einem Mikrokern?
eine Betriebssystemarchitektur, die einen leichtgewichtigen Kernel enthält, wird als Mikrokern-Architektur bezeichnet. Der Kernel wird bei dieser Architekturvariante dadurch entlastet, dass Funktionalität in Anwendungsprozesse, sog. Serverprozesse, ausgelagert wird. Der Kernel übernimmt hier im Wesentlichen die Abwicklung der Kommunikation zwischen Client- und Serverprozessen. Clientprozesse greifen bei dieser Betriebssystemarchitektur auf den Mikrokern über eine Service-Request-Schnittstelle zu.
Tags: Betriebssystemarchitekturen und Betriebsarten
Quelle:
Quelle:
Nennen Sie vier Betriebsmittel, welche das Betriebssystem verwaltet! Welche davon sind hardware- und welche softwaretechnische Betriebsmittel?
– Speicher (Hardware)
– Prozessor (Hardware)
– Gerät (Hardware)
– Datei (Software)
– Nachricht (Software)
– Prozess (Software)
– Prozessor (Hardware)
– Gerät (Hardware)
– Datei (Software)
– Nachricht (Software)
– Prozess (Software)
Tags: Betriebssystemarchitekturen und Betriebsarten
Quelle:
Quelle:
Erläutern Sie den Unterschied zwischen Teilnehmer- und Teilhaberbetrieb! In welcher
Betriebsart wird üblicherweise ein Transaktionsmonitor eingesetzt?
Betriebsart wird üblicherweise ein Transaktionsmonitor eingesetzt?
Teilnehmerbetrieb Jeder Anwender erhält seinen eigenen Benutzerprozess sowie weitere Betriebsmittel vom Betriebssystem zugeteilt. Der Benutzer meldet sich über einen Login-Dialog beim System an und bekommt die Betriebsmittel dediziert zugeordnet.
Teilhaberbetrieb
Prozesse und Betriebsmittel werden über einen Transaktionsmonitor zugeteilt. Im Gegensatz zum Teilnehmerbetrieb kommt der Teilhaberbetrieb mit wenigen Prozessen aus, um viele Dialoganwender zu unterstützen. Die
wenigen Prozesse werden vom Transaktionsmonitor verwaltet und effizient an die Benutzer verteilt und zwar so, als ob jeder Benutzer einen eigenen Prozess zugeordnet hätte. Die Betriebsart Teilhaberbetrieb ist ideal für dialogorientierte Programme mit vielen parallel arbeitenden Anwendern, die meistens kurze und schnelle Transaktionen ausführen, wie dies etwa bei einem Buchungssystem für Flugbuchungen der Fall ist.
Teilhaberbetrieb
Prozesse und Betriebsmittel werden über einen Transaktionsmonitor zugeteilt. Im Gegensatz zum Teilnehmerbetrieb kommt der Teilhaberbetrieb mit wenigen Prozessen aus, um viele Dialoganwender zu unterstützen. Die
wenigen Prozesse werden vom Transaktionsmonitor verwaltet und effizient an die Benutzer verteilt und zwar so, als ob jeder Benutzer einen eigenen Prozess zugeordnet hätte. Die Betriebsart Teilhaberbetrieb ist ideal für dialogorientierte Programme mit vielen parallel arbeitenden Anwendern, die meistens kurze und schnelle Transaktionen ausführen, wie dies etwa bei einem Buchungssystem für Flugbuchungen der Fall ist.
Tags: Betriebssystemarchitekturen und Betriebsarten
Quelle:
Quelle:
Was versteht man unter Multiprogramming?
Im Gegensatz zum Einprogrammbetrieb eröffnet Multiprogramming die Möglichkeit der „gleichzeitigen“ oder aber auch „quasi-gleichzeitigen“ Ausführung von Programmen in einem Betriebssystem.
Tags: Betriebssystemarchitekturen und Betriebsarten
Quelle:
Quelle:
Benötigt man für Multiprogramming mehrere CPUs?
Nein, nicht unbedingt. Multiprogramming kann auch über eine CPU realisiert werden, die nach einer vorgegebenen Strategie des Betriebssystems (Scheduling und Dispatching) auf die nebenläufigen Programme (Prozesse) aufgeteilt wird.
Tags: Betriebssystemarchitekturen und Betriebsarten
Quelle:
Quelle:
Wozu verwendet man Embedded Systems? Nennen Sie ein Beispiel!
Als Embedded System bezeichnet man ein Rechner- bzw. Steuerungssystem, das in Geräten (Telefone, DVD-Player, Waschmaschinen, Fernseher), Robotern oder Fahrzeugen (Flugzeuge, Autos) eingebaut ist und dort seine Aufgaben meist unsichtbar verrichtet.
Tags: Betriebssystemarchitekturen und Betriebsarten
Quelle:
Quelle:
Wozu dient ein Terminalserver?
Terminalserver bedienen „dumme“ Clientrechner (sog. Thin Clients), wobei die Anwendungsprogramme vollständig in den Servern ablaufen und die Clientrechner nur noch für Zwecke der Präsentation eingesetzt werden.
-> Zentralisierung von Betriebsmitteln
-> leichtere Administration
-> Zentralisierung von Betriebsmitteln
-> leichtere Administration
Tags: Betriebssystemarchitekturen und Betriebsarten
Quelle:
Quelle:
Was ist der Unterschied zwischen Polling und interruptgesteuerter Verarbeitung?
Polling: zyklisches Abfragen von einer Ereignisquelle durch die CPU -> hohe CPU Auslastung, recht ineffizient
Interrupts: Gegenentwurf. Ereignisquelle "meldet" sich via Interrupt bei CPU. Dadurch veranlassen sie den Prozessor , einen
vordefinierten Code auszuführen, der außerhalb des normalen Programmflusses liegt.
Interrupts: Gegenentwurf. Ereignisquelle "meldet" sich via Interrupt bei CPU. Dadurch veranlassen sie den Prozessor , einen
vordefinierten Code auszuführen, der außerhalb des normalen Programmflusses liegt.
Tags: Interruptverarbeitung
Quelle:
Quelle:
Was ist der Unterschied zwischen den Exception-Typen Fault und Trap? Nennen Sie jeweils ein Beispiel!
- Faults sind Unterbrechungen vor der Befehsausführung wie z. B. Seitenfehler.
- Traps sind Unterbrechungen nach der Befehlsausführung, die z. B. bei einer Division durch 0 auftreten.
- Traps sind Unterbrechungen nach der Befehlsausführung, die z. B. bei einer Division durch 0 auftreten.
Tags: Interruptverarbeitung
Quelle:
Quelle:
Wozu dient ein Systemcall und wie wird er üblicherweise von einem Betriebssystem wie Windows oder Unix ausgeführt?
Ein Systemcall ist ein synchroner, also ein vorhersehbarer und reproduzierbarer Interrupt und wird auch als Software-Interrupt bezeichnet.
Ein Systemcall ist ein Dienstaufruf an das Betriebssystem, bei dessen Ausführung in den Kernelmodus gewechselt wird. Der Kontrollfluss wird dabei meist von einem Anwendungsprogramm an den Kernel übergeben.
Alle Systemcalls zusammen bilden die Schnittstelle der
Anwendungsprogramme zum Betriebssystemkern (User-Kernelmodus)
Ein Systemcall ist ein Dienstaufruf an das Betriebssystem, bei dessen Ausführung in den Kernelmodus gewechselt wird. Der Kontrollfluss wird dabei meist von einem Anwendungsprogramm an den Kernel übergeben.
Alle Systemcalls zusammen bilden die Schnittstelle der
Anwendungsprogramme zum Betriebssystemkern (User-Kernelmodus)
Tags: Interruptverarbeitung
Quelle:
Quelle:
Was bedeutet „Maskierung“ von Unterbrechungsanforderungen?
aktives Ignorieren von Interrupts für ein bestimmtes Gerät.
Tags: Interruptverarbeitung
Quelle:
Quelle:
Wie erkennt die CPU, dass eine Unterbrechungsanforderung ansteht?
Die Prüfung, ob eine Unterbrechung ansteht, ist Teil des Befehlszyklus. Nach Ausführung eines Maschinenbefehls wird überprüft, ob ein Interrupt-Request anliegt. Ist dies der Fall, wird in ein spezielles Unterprogramm, die ISR, oder bei größeren Betriebssystemen in eine entsprechend davor geschaltete Verteilungsroutine, verzweigt.
Tags: Interruptverarbeitung
Quelle:
Quelle:
Was versteht man unter einer Interrupt-Vektor-Tabelle?
Zurordnung Interrupt-Typ zu ISR
Dies ist eine Tabelle, welche Interrupt-Vektoren, also die eigentlichen Einsprungadressen der Interrupt-Service-Routinen enthält und an einer vordefinierten Stelle im Kernelspeicher liegt. Der Index zur Adressierung innerhalb der Tabelle wird der CPU implizit durch den Interrupt-Controller anhand der belegten Adressleitungen übermittelt. Jeder Interrupt-Quelle wird ein fester Index auf diese Tabelle zugeordnet.
Dies ist eine Tabelle, welche Interrupt-Vektoren, also die eigentlichen Einsprungadressen der Interrupt-Service-Routinen enthält und an einer vordefinierten Stelle im Kernelspeicher liegt. Der Index zur Adressierung innerhalb der Tabelle wird der CPU implizit durch den Interrupt-Controller anhand der belegten Adressleitungen übermittelt. Jeder Interrupt-Quelle wird ein fester Index auf diese Tabelle zugeordnet.
Tags: Interruptverarbeitung
Quelle:
Quelle:
Was ist eine Interrupt-Service-Routine und wann wird sie aufgerufen?
Das Programmstück, das den Interrupt bearbeitet, wird als Interrupt-Service-Routine (ISR, Interrupt-Bearbeitungsroutine) bezeichnet. Für jeden Interrupt-Typen gibt es eine ISR. Eine ISR kann aber auch mehreren Interrupt-Typen zugeordnet werden. Das Betriebssystem stellt für alle Interrupts eine passende ISR zur
Verfügung.
Verfügung.
Tags: Interruptverarbeitung
Quelle:
Quelle:
Erläutern Sie die Abwicklung eines Traps (Systemcalls)!
Trap-> synchroner Interrupt der nach Maschinenbefehlausführung auftritt.
– Programmcode wird normal ausgeführt
– Zeitpunkt des Traps
– Der aktuelle Kontext des laufenden Programms, also die Information, welche den aktuellen Status eines Prozesses beschreibt, wird gesichert.
– Der Program Counter wird mit der Adresse der passenden Systemroutine belegt.
– Vom Benutzermodus wird in den Kernelmodus geschaltet.
– Die adressierte Systemroutine wird durchlaufen.
– Anschließend wird wieder der alte Kontext des Prozesses hergestellt und der Program Counter mit der Adresse des Befehls nach dem Systemcall belegt.
– Programmcode wird normal ausgeführt
– Zeitpunkt des Traps
– Der aktuelle Kontext des laufenden Programms, also die Information, welche den aktuellen Status eines Prozesses beschreibt, wird gesichert.
– Der Program Counter wird mit der Adresse der passenden Systemroutine belegt.
– Vom Benutzermodus wird in den Kernelmodus geschaltet.
– Die adressierte Systemroutine wird durchlaufen.
– Anschließend wird wieder der alte Kontext des Prozesses hergestellt und der Program Counter mit der Adresse des Befehls nach dem Systemcall belegt.
Tags: Interruptverarbeitung
Quelle:
Quelle:
Nennen Sie den Unterschied zwischen einem synchronen und asynchronen Interrupt!
Synchron:
- kommt von der CPU selbst
- sind reproduzierbar,
- treten vor (fault) oder nach (trap) Maschinenbefehl auf
Asnychron:
- kommen von außen (externe Geräte)
- sind nicht reproduzierbar
Synchrone Interrupts treten bei synchronen Ereignissen auf. Dies sind Ereignisse, die bei identischen Randbedingungen (Programmausführungen mit gleichen Daten) immer an der gleichen Programmstelle auftreten. Synchrone Interrupts werden
auch als Ausnahmen (Exceptions) bezeichnet. Ausnahmen werden von der CPU selbst ausgelöst und sind für das laufende Programm bestimmt.
Asynchrone Interrupts sind die klassischen Interrupt-Typen, die nicht an ein laufendes Programm gebunden sind. Sie treten unabhängig davon auf, was das System gerade macht. Typische Beispiele für asynchrone Interrupts sind die Ankunft einer Nachricht an einem Netzwerkadapter oder die Zustellung eines Plattenspeicherblocks an die CPU. Beide Ereignisse unterbrechen in der Regel für kurze Zeit den Ablauf des laufenden Programms. Asynchrone Interrupts sind nicht vorhersehbar und können auch nicht ohne weiteres reproduziert werden.
- kommt von der CPU selbst
- sind reproduzierbar,
- treten vor (fault) oder nach (trap) Maschinenbefehl auf
Asnychron:
- kommen von außen (externe Geräte)
- sind nicht reproduzierbar
Synchrone Interrupts treten bei synchronen Ereignissen auf. Dies sind Ereignisse, die bei identischen Randbedingungen (Programmausführungen mit gleichen Daten) immer an der gleichen Programmstelle auftreten. Synchrone Interrupts werden
auch als Ausnahmen (Exceptions) bezeichnet. Ausnahmen werden von der CPU selbst ausgelöst und sind für das laufende Programm bestimmt.
Asynchrone Interrupts sind die klassischen Interrupt-Typen, die nicht an ein laufendes Programm gebunden sind. Sie treten unabhängig davon auf, was das System gerade macht. Typische Beispiele für asynchrone Interrupts sind die Ankunft einer Nachricht an einem Netzwerkadapter oder die Zustellung eines Plattenspeicherblocks an die CPU. Beide Ereignisse unterbrechen in der Regel für kurze Zeit den Ablauf des laufenden Programms. Asynchrone Interrupts sind nicht vorhersehbar und können auch nicht ohne weiteres reproduziert werden.
Tags: Interruptverarbeitung
Quelle:
Quelle:
Welche Aufgabe hat ein Interrupt-Controller?
Filter, Priorisiert, Empfängt und leitetet Interruptanforderungen der externen Geräte weiter.
Ein Interrupt-Controller erzeugt aus einem IRQ (einer Interruptanforderung) eine Unterbrechung der CPU, die mit Hilfe eines passenden Programmstücks (einer ISR) bearbeitet werden muss.
Ein Interrupt-Controller erzeugt aus einem IRQ (einer Interruptanforderung) eine Unterbrechung der CPU, die mit Hilfe eines passenden Programmstücks (einer ISR) bearbeitet werden muss.
Tags: Interruptverarbeitung
Quelle:
Quelle:
Was ist in der Prozessverwaltung ein PCB, wozu dient er und welche Inhalte hat er?
Nennen Sie dabei drei wichtige Informationen, die im PCB verwaltet werden!
Nennen Sie dabei drei wichtige Informationen, die im PCB verwaltet werden!
PCB = Process Control Block
-> ist ein Eintrag in der Prozesstabelle.
Hierzu gehört u.a die Information zur Identifikation des Prozesses, die Information zum aktuellen Prozesszustand sowie Informationen
zu sonstigen Ressourcen, die dem Prozess zugeordnet sind (Dateien, offene Netzwerkverbindungen).
Weitere Informationen, die für einen Prozess im PCB verwaltet
werden, sind der Programmzähler, der Prozesszustand, die Priorität und die Prozessnummer sowie die aktuellen Registerinhalte.
-> ist ein Eintrag in der Prozesstabelle.
Hierzu gehört u.a die Information zur Identifikation des Prozesses, die Information zum aktuellen Prozesszustand sowie Informationen
zu sonstigen Ressourcen, die dem Prozess zugeordnet sind (Dateien, offene Netzwerkverbindungen).
Weitere Informationen, die für einen Prozess im PCB verwaltet
werden, sind der Programmzähler, der Prozesszustand, die Priorität und die Prozessnummer sowie die aktuellen Registerinhalte.
Tags: Prozesse und Threads
Quelle:
Quelle:
Was versteht man unter einem Thread?
Ein Thread stellt eine nebenläufige Ausführungseinheit innerhalb eines Prozesses dar. Threads werden im Gegensatz zu den traditionellen (schwergewichtigen, heavy-weight) Prozessen als leichtgewichtige (light-weight) Prozesse oder kurz LWP bezeichnet, da sie sich einen gemeinsamen Adressraum mit dem Prozess teilen.
Tags: Prozesse und Threads
Quelle:
Quelle:
Beschreiben Sie den groben Ablauf eines Prozess-Kontextwechsels und erläutern Sie, warum ein Thread-Kontextwechsel schneller sein kann, als ein Prozess-Kontextwechsel!
Bei einem Prozess-Kontextwechsel wird ein aktiver Prozess unterbrochen. Die gesamte Information des unterbrochenen Prozesses, also der Prozesskontext, wird gesichert und der Prozesskontext des neu aktivierten Prozesses in die Ablaufumgebung (CPU-Register, MMU-Register,...) geladen.
Ein Thread-Kontextwechsel innerhalb des laufenden Prozesses kann schneller sein als ein Prozess-Kontextwechsel, weil meist Speicherbereiche des gleichen Prozesses verwendet werden. Ein Austausch von Speicherbereichen ist daher oft nicht erforderlich,
was den Betriebssystem-Overhead reduziert.
Ein Thread-Kontextwechsel innerhalb des laufenden Prozesses kann schneller sein als ein Prozess-Kontextwechsel, weil meist Speicherbereiche des gleichen Prozesses verwendet werden. Ein Austausch von Speicherbereichen ist daher oft nicht erforderlich,
was den Betriebssystem-Overhead reduziert.
Tags: Prozesse und Threads
Quelle:
Quelle:
Was bedeutet eine 1:n-Beziehung zwischen den Betriebsmitteln Prozess und Thread?
Ein Prozess kann mehrere Threads beherbergen. 1:n-Beziehungen, bei denen ein Prozess nahezu beliebig viele Threads enthalten kann, sind heute in Betriebssystemen üblich.
Tags: Prozesse und Threads
Quelle:
Quelle:
Warum ist der Einsatz von Threads sinnvoll?
Threads sind leichtgewichtiger als Prozesse. Ein Thread-Kontextwechsel innerhalb des laufenden Prozesses kann schneller sein als ein Prozess-Kontextwechsel, weil meist Speicherbereiche des gleichen Prozesses verwendet werden. Ein Austausch von Speicherbereichen ist daher oft nicht erforderlich, was den Betriebssystem-Overhead reduziert.
Tags: Prozesse und Threads
Quelle:
Quelle:
Beschreiben Sie einen einfachen Zustandsautomaten eines Prozesses!
Ein einfacher Zustandsautomat für einen Prozess hat vier Zustände. Im Zustand „bereit“ ist der Prozess zur Bearbeitung vorbereitet, im aktiven Zustand hat er eine CPU und im Zustand „blockiert“ wartet er auf Ressourcen, um weitermachen zu
können. Im Zustand „beendet“ ist der Prozess dann schon nicht mehr im System vorhanden. Die Zustandsübergänge lassen sich wie folgt beschreiben:
– bereit
Tags: Prozesse und Threads
Quelle:
Quelle:
Welche Aufgaben haben im Prozess-Management der Dispatcher und der Scheduler?
Die Komponente im Prozessmanager, die für die Planung der Betriebsmittelzuteilung zuständig ist, heißt Scheduler. Die Komponente, die dann einen tatsächlichen Prozesswechsel ausführt, wird als Dispatcher bezeichnet.
Tags: CPU-Scheduling
Quelle:
Quelle:
Nennen Sie jeweils zwei geeignete Scheduling-Verfahren für Batch- und Dialog-
Systeme und erläutern Sie diese kurz!
Systeme und erläutern Sie diese kurz!
Batchsysteme:
– First Come First Served (FCFS): FCFS bearbeitet die im System ankommenden Aufträge in der Reihenfolge ihres Eintreffens.
– Shortest Job First (SJF): SJF sucht sich dagegen immer den Job bzw. Prozess aus, von dem es die kürzeste Bedienzeit erwartet.
Dialogsysteme:
– Round Robin (RR): RR ist im Prinzip FCFS (siehe Batch-Strategien) in Verbindung mit einer Zeitscheibe (Quantum genannt). RR geht davon aus, dass alle Prozesse gleich wichtig sind. Ein Prozess erhält ein bestimmtes Quantum, und wenn es abgelaufen ist, wird der Prozess unterbrochen und ein anderer Prozess erhält die CPU. Der unterbrochene Prozess wird hinten in die Warteschlange eingetragen und kommt erst dann wieder an die Reihe, wenn die anderen Prozesse ihr Quantum verbraucht haben oder aus einem anderen Grund unterbrochen wurden. Die Frage nach der Länge der Zeitscheibe ist von großer Bedeutung für die Leistung des Systems.
– Priority Scheduling (PS): PS wählt immer den Prozess mit der höchsten Priorität aus. Dies setzt natürlich die Verwaltung von Prioritäten voraus.
– First Come First Served (FCFS): FCFS bearbeitet die im System ankommenden Aufträge in der Reihenfolge ihres Eintreffens.
– Shortest Job First (SJF): SJF sucht sich dagegen immer den Job bzw. Prozess aus, von dem es die kürzeste Bedienzeit erwartet.
Dialogsysteme:
– Round Robin (RR): RR ist im Prinzip FCFS (siehe Batch-Strategien) in Verbindung mit einer Zeitscheibe (Quantum genannt). RR geht davon aus, dass alle Prozesse gleich wichtig sind. Ein Prozess erhält ein bestimmtes Quantum, und wenn es abgelaufen ist, wird der Prozess unterbrochen und ein anderer Prozess erhält die CPU. Der unterbrochene Prozess wird hinten in die Warteschlange eingetragen und kommt erst dann wieder an die Reihe, wenn die anderen Prozesse ihr Quantum verbraucht haben oder aus einem anderen Grund unterbrochen wurden. Die Frage nach der Länge der Zeitscheibe ist von großer Bedeutung für die Leistung des Systems.
– Priority Scheduling (PS): PS wählt immer den Prozess mit der höchsten Priorität aus. Dies setzt natürlich die Verwaltung von Prioritäten voraus.
Tags: CPU-Scheduling
Quelle:
Quelle:
CPU-SchedulingErläutern Sie den Unterschied zwischen preemptive und non-preemptive Scheduling und nennen Sie jeweils zwei Scheduling-Strategien, die in diese Kategorien passen.
Im non-preemptive, auch „run-to-completion“-Verfahren genannt, darf ein Prozess nicht unterbrochen werden, bis er seine Aufgaben vollständig erledigt hat. Beispiele: First Come First Served (FCFS) und Shortest Job First (SJF).
Im Gegensatz dazu darf im preemptive Scheduling eine Unterbrechung stattfinden. Rechenbereite Prozesse können somit suspendiert werden. Dies setzt natürlich eine Strategie zur Vergabe der CPU voraus, die vom Betriebssystem unterstützt werden muss und in der Regel auf der Zeitscheibentechnik basiert. Dieses Verfahren ist für die Unterstützung konkurrierender Benutzer geeignet. Beispiele: Round Robin (RR) und Priority Scheduling (PS).
Im Gegensatz dazu darf im preemptive Scheduling eine Unterbrechung stattfinden. Rechenbereite Prozesse können somit suspendiert werden. Dies setzt natürlich eine Strategie zur Vergabe der CPU voraus, die vom Betriebssystem unterstützt werden muss und in der Regel auf der Zeitscheibentechnik basiert. Dieses Verfahren ist für die Unterstützung konkurrierender Benutzer geeignet. Beispiele: Round Robin (RR) und Priority Scheduling (PS).
Tags: CPU-Scheduling
Quelle:
Quelle:
Nennen Sie Vergleichskriterien, nach denen Scheduling-Algorithmen verglichen werden können und erläutern Sie diese!
– Wartezeit: Zeit, die ein Prozess auf die Ausführung warten muss, also die Summe aller Zeiträume, in denen ein Prozess warten muss.
– Bedienzeit (Servicezeit): Zeit, in der ein Prozess die CPU hält und arbeiten kann.
– Antwortzeit: Zeit, in der ein Anwender auf die Bearbeitung seines Auftrags warten muss.
– Durchsatz: Anzahl an Prozessen, die ein System in einer bestimmten Zeit bearbeiten kann.
– CPU-Auslastung: Auslastung der CPU während der Berbeitung von Prozessen in % der Gesamtkapazität.
– Durchlaufzeit = Verweilzeit: Gesamte Zeit, in der sich ein Prozess im System befindet (Servicezeiten + Wartezeiten).
– Bedienzeit (Servicezeit): Zeit, in der ein Prozess die CPU hält und arbeiten kann.
– Antwortzeit: Zeit, in der ein Anwender auf die Bearbeitung seines Auftrags warten muss.
– Durchsatz: Anzahl an Prozessen, die ein System in einer bestimmten Zeit bearbeiten kann.
– CPU-Auslastung: Auslastung der CPU während der Berbeitung von Prozessen in % der Gesamtkapazität.
– Durchlaufzeit = Verweilzeit: Gesamte Zeit, in der sich ein Prozess im System befindet (Servicezeiten + Wartezeiten).
Tags: CPU-Scheduling
Quelle:
Quelle:
Wie wird unter Windows verhindert, dass Threads mit niedriger Priorität verhungern?
-> Priority Boost
Unter Windows könnten Threads mit niedrigerer Priorität verhungern, da rechenintensive Threads höherer Priorität immer bevorzugt werden. Daher ist unter Windows noch ein Mechanismus implementiert, der einmal pro Sekunde prüft, ob
ein Thread schon 300 ms oder länger nicht mehr die CPU hatte, obwohl er im Zustand „bereit“ ist. Ist dies der Fall, wird seine Priorität auf 15 angehoben und sein Quantum wird verdoppelt. Nachdem er die CPU erhalten hat, wird er wieder auf den alten Zustand gesetzt. Ein Verhungern von Prozessen wird damit also vermieden.
Unter Windows könnten Threads mit niedrigerer Priorität verhungern, da rechenintensive Threads höherer Priorität immer bevorzugt werden. Daher ist unter Windows noch ein Mechanismus implementiert, der einmal pro Sekunde prüft, ob
ein Thread schon 300 ms oder länger nicht mehr die CPU hatte, obwohl er im Zustand „bereit“ ist. Ist dies der Fall, wird seine Priorität auf 15 angehoben und sein Quantum wird verdoppelt. Nachdem er die CPU erhalten hat, wird er wieder auf den alten Zustand gesetzt. Ein Verhungern von Prozessen wird damit also vermieden.
Tags: CPU-Scheduling
Quelle:
Quelle:
Wie funktioniert der RR-Scheduling-Algorithmus?
RR (Round Robin) ist im Prinzip FCFS (First Come First Served) in Verbindung mit einer Zeitscheibe. RR geht davon aus, dass alle Prozesse gleich wichtig sind. Ein Prozess erhält ein bestimmtes Quantum (auch sog. Zeitscheibe oder engl. „timeslice“ genannt) und wenn es abgelaufen ist, wird der Prozess unterbrochen und ein anderer Prozess erhält die CPU. Der unterbrochene Prozess wird hinten in die Warteschlange eingetragen und kommt erst dann wieder an die Reihe, wenn die anderen Prozesse ihr Quantum verbraucht oder aus einem anderen Grund unterbrochen wurden. Die Frage nach der Länge der Zeitscheibe ist von großer Bedeutung für die Leistung des Systems. Heutzutage ist die Länge des Quantums dynamisch zwischen 10 und 200 ms lang.
Tags: CPU-Scheduling
Quelle:
Quelle:
Warum ist der Scheduling-Algorithmus Shortest Remaining Time First (SRTF) kaum zu realisieren?
SRTF wählt den Prozess mit der kürzesten noch verbleibenden Zeit als nächstes aus und wäre theoretisch für Dialogprozesse optimal. Er ist kaum zu realisieren, da in Betriebssystemen keine Informationen über die verbleibende Prozesszeit vorliegen.
-> gleiches Problem wie bei Belady - man kann nicht in die Zukunft sehen!
-> gleiches Problem wie bei Belady - man kann nicht in die Zukunft sehen!
Tags: CPU-Scheduling
Quelle:
Quelle:
Erläutern Sie kurz die Idee des CFS unter Linux?
–Jeder Prozess / Thread hat einen wait_runtime Wert (Nanosekunden-Basis) der die aufgelaufende Wartezeit summiert
–Prozess mit höchster wait_runtime wird als nächstes gewählt und bleibt so lange aktiv, bis wait_runtime wieder auf einen fairen Wert reduziert worden ist
–Ziel: Wert von wait_runtime für alle Prozesse gleich halten
–Keine Statistiken, keine run queue, kein Switching von active nach expired queue
–Keine Quanten (Zeitscheiben)
–Prozess mit höchster wait_runtime wird als nächstes gewählt und bleibt so lange aktiv, bis wait_runtime wieder auf einen fairen Wert reduziert worden ist
–Ziel: Wert von wait_runtime für alle Prozesse gleich halten
–Keine Statistiken, keine run queue, kein Switching von active nach expired queue
–Keine Quanten (Zeitscheiben)
Tags: CPU-Scheduling
Quelle:
Quelle:
Was bezeichnet man in der Prozessverwaltung als Blockieren, Verklemmen und Verhungern?
Blockieren: Ein Prozess P1 belegt ein Betriebsmittel, ein zweiter Prozess P2 benötigt dasselbe Betriebsmittel ebenfalls und wird daher blockiert, bis P1 sein belegtes Betriebsmittel freigegeben hat.
Verhungern (Starvation): Ein Prozess erhält trotz Rechenbereitschaft keine CPUZeit zugeteilt, z. B. weil ihm immer wieder Prozesse mit höherer Priorität vorgezogen werden.
Verklemmung: Zwei oder mehrere Prozesse halten jeder für sich ein oder mehrere Betriebsmittel belegt und versuchen ein weiteres zu belegen, das aber von einem anderen Prozess belegt ist. Es liegt ein Zyklus von Abhängigkeiten vor. Kein Prozess
gibt seine Betriebsmittel frei und alle Prozesse warten daher ewig. Dieser Zustand wird auch als Deadlock bezeichnet.
Verhungern (Starvation): Ein Prozess erhält trotz Rechenbereitschaft keine CPUZeit zugeteilt, z. B. weil ihm immer wieder Prozesse mit höherer Priorität vorgezogen werden.
Verklemmung: Zwei oder mehrere Prozesse halten jeder für sich ein oder mehrere Betriebsmittel belegt und versuchen ein weiteres zu belegen, das aber von einem anderen Prozess belegt ist. Es liegt ein Zyklus von Abhängigkeiten vor. Kein Prozess
gibt seine Betriebsmittel frei und alle Prozesse warten daher ewig. Dieser Zustand wird auch als Deadlock bezeichnet.
Tags: Synchronisation und Kommunikation
Quelle:
Quelle:
Was versteht man unter einem kritischen Abschnitt?
Nennen Sie die vier Kriteien nach Dijkstra
Nennen Sie die vier Kriteien nach Dijkstra
Ein kritischer Abschnitt ist ein Codeabschnitt, der zu einer Zeit nur durch einen Prozess bzw. Thread durchlaufen und in dieser Zeit nicht durch andere nebenläufige Prozesse bzw. Threads betreten werden darf. Ein Prozess bzw. Thread, der einen kritischen Abschnitt betritt, darf nicht unterbrochen werden. Sofern das Betriebssystem in dieser Zeit aufgrund einer Scheduling-Entscheidung eine Unterbrechung zulässt, darf der Prozess bzw. Thread, der den kritischen Abschnitt belegt, durch andere Prozesse, die die CPU erhalten, nicht beeinflusst werden.
Nach Dijkstra ist bei kritischen Abschnitten folgendes zu beachten:
– Mutual exclusion: Zwei oder mehr Prozesse dürfen sich nicht gleichzeitig im gleichen kritischen Abschnitt befinden.
– Es dürfen keine Annahmen über die Abarbeitungsgeschwindigkeit und die Anzahl der Prozesse bzw. Prozessoren gemacht werden. Der kritische Abschnitt muss unabhängig davon geschützt werden.
– Kein Prozess außerhalb eines kritischen Abschnitts darf einen anderen nebenläufigen Prozess blockieren.
– Fairness Condition: Jeder Prozess, der am Eingang eines kritischen Abschnitts wartet, muss ihn irgendwann betreten dürfen (kein ewiges Warten).
Nach Dijkstra ist bei kritischen Abschnitten folgendes zu beachten:
– Mutual exclusion: Zwei oder mehr Prozesse dürfen sich nicht gleichzeitig im gleichen kritischen Abschnitt befinden.
– Es dürfen keine Annahmen über die Abarbeitungsgeschwindigkeit und die Anzahl der Prozesse bzw. Prozessoren gemacht werden. Der kritische Abschnitt muss unabhängig davon geschützt werden.
– Kein Prozess außerhalb eines kritischen Abschnitts darf einen anderen nebenläufigen Prozess blockieren.
– Fairness Condition: Jeder Prozess, der am Eingang eines kritischen Abschnitts wartet, muss ihn irgendwann betreten dürfen (kein ewiges Warten).
Tags: Synchronisation und Kommunikation
Quelle:
Quelle:
Welche Maßnahmen sind zu treffen, damit es beim Durchlaufen eines kritischen Abschnitts nicht zu Inkonsistenzen kommt? Gehen Sie dabei auf den Begriff des gegenseitigen Ausschlusses (mutual exclusion) ein!
Um Inkonsistenzen zu vermeiden, muss ein kritischer Abschnitt geschützt werden. Dies kann durch gegenseitigen (oder wechselseitigen) Ausschluss (engl.: mutual exclusion) erreicht werden. Prozesse, die einen kritischen Abschnitt ausführen
wollen, müssen warten, bis dieser frei ist. Mit einem wechselseitigen Ausschluss wird also die Illusion einer atomaren Anweisungsfolge geschaffen, denn echt atomar wird sie natürlich nicht ausgeführt. Es kann ja immer noch vorkommen, dass ein nebenläufiger Prozess zwischendurch die CPU erhält.
-> Semaphor
wollen, müssen warten, bis dieser frei ist. Mit einem wechselseitigen Ausschluss wird also die Illusion einer atomaren Anweisungsfolge geschaffen, denn echt atomar wird sie natürlich nicht ausgeführt. Es kann ja immer noch vorkommen, dass ein nebenläufiger Prozess zwischendurch die CPU erhält.
-> Semaphor
Tags: Synchronisation und Kommunikation
Quelle:
Quelle:
Was sind Semaphore? Gehen Sie dabei kurz auf die Semaphoroperationen P() und V() ein!
Das Semaphor-Konzept ist ein Konzept zur Lösung des Mutual-Exclusion-Problems auf Basis von Sperren. Ein Semaphor verwaltet intern eine Warteschlange für die Prozesse bzw. Threads, die gerade am Eingang eines kritischen Abschnitts
warten müssen, und einen Semaphorzähler. Es kommt auf die Initialisierung des Semaphorzählers an, wie viele Prozesse in den kritischen Abschnitt dürfen. Für den Eintritt in den bzw.
Austritt aus dem kritischen Abschnitt gibt es zwei Operationen:
– P() wird beim Eintritt in den kritischen Abschnitt aufgerufen. Der Semaphorzähler wird um 1 reduziert, sofern er größer als 0 ist. Wenn er gerade auf 0 steht, wird der Eintritt verwehrt, der Prozess/Thread wird in die Warteschlange eingereiht und suspendiert.
– V() wird beim Verlassen des kritischen Abschnitts aufgerufen. Der Semaphorzähler wird wieder um 1 erhöht, so dass ein weiterer Prozess/Thread in den kritischen Abschnitt darf.
warten müssen, und einen Semaphorzähler. Es kommt auf die Initialisierung des Semaphorzählers an, wie viele Prozesse in den kritischen Abschnitt dürfen. Für den Eintritt in den bzw.
Austritt aus dem kritischen Abschnitt gibt es zwei Operationen:
– P() wird beim Eintritt in den kritischen Abschnitt aufgerufen. Der Semaphorzähler wird um 1 reduziert, sofern er größer als 0 ist. Wenn er gerade auf 0 steht, wird der Eintritt verwehrt, der Prozess/Thread wird in die Warteschlange eingereiht und suspendiert.
– V() wird beim Verlassen des kritischen Abschnitts aufgerufen. Der Semaphorzähler wird wieder um 1 erhöht, so dass ein weiterer Prozess/Thread in den kritischen Abschnitt darf.
Tags: Synchronisation und Kommunikation
Quelle:
Quelle:
Warum müssen die Semaphor-Operationen P() und V() selbst wieder ununterbrechbar sein?
Semaphor-Operationen müssen selbst wieder ununterbrechbar, also atomar sein, weil eine Unterbrechung zu Inkonsistenzen in der Warteschlangenbearbeitung oder im Semaphorzähler führen kann. Die korrekte Implementierung eines Semaphors benötigt daher am besten auch eine unteilbare Hardware-Operation wie etwa TSL.
Tags: Synchronisation und Kommunikation
Quelle:
Quelle:
Welche Auswirkung hat die folgende, falsche Nutzung eines binären Semaphors?
V(); ... kritischer Abschnitt ...; P();
V(); ... kritischer Abschnitt ...; P();
Diese Anweisungsfolge führt dazu, dass alle Prozesse nur noch im kritischen Abschnitt zugelassen sind. Sie kommen alle problemlos in den kritischen Abschnitt hinein.
Tags: Synchronisation und Kommunikation
Quelle:
Quelle:
Welche Auswirkung hat die folgende, falsche Nutzung eines binären Semaphors?
P(); ... kritischer Abschnitt ...; P();
P(); ... kritischer Abschnitt ...; P();
Diese Anweisungsfolge führt dazu, dass nach kurzer Zeit kein Prozess mehr in den kritischen Abschnitt darf und die ersten Prozesse möglicherweise auch im kritischen Abschnitt verbleiben
Tags: Synchronisation und Kommunikation
Quelle:
Quelle:
Semaphore zur Kontrolle des Eintritts in einen kritischen Abschnitt müssen effizient implementiert werden. Nehmen Sie zu dieser Aussage Stellung und betrachten Sie dabei die Implementierungsvariante mit Polling (Busy Waiting).
Semaphor-Operationen werden meist von nebenläufigen Prozessen häufig durchlaufen und können somit bei ineffizienter Implementierung Auswirkungen auf die Leistung haben. Würde die P()-Operation mit Polling realisiert, so würde ein Prozess, der gerade am Eingang des kritischen Abschnitts wartet, den Rechnerkern nicht freigeben, bis sein Quantum abgelaufen ist. Daher ist Polling eine schlechte Implementierungsvariante.
Nennen Sie die vier notwendigen und hinreichenden Bedingungen, die zu einem Deadlock führen!
Ein Deadlock kann nur eintreten, wenn folgende vier Bedingungen eintreffen:
– Mutual Exclusion für die benötigten Betriebsmittel.
– hold and wait Prozesse belegen Betriebsmittel und fordern weitere an.
– No Preemption Kein Entzug eines Betriebsmittels ist möglich.
– circular waiting Zwei oder mehrere Prozesse warten in einer Warteschleife auf weitere Betriebsmittel.
– Mutual Exclusion für die benötigten Betriebsmittel.
– hold and wait Prozesse belegen Betriebsmittel und fordern weitere an.
– No Preemption Kein Entzug eines Betriebsmittels ist möglich.
– circular waiting Zwei oder mehrere Prozesse warten in einer Warteschleife auf weitere Betriebsmittel.
Tags: Synchronisation und Kommunikation
Quelle:
Quelle:
Warum lassen sich Deadlocks bei nebenläufigen Prozessen schwer ganz vermeiden?
Deadlock-Vermeidung wird durch die Aufweichung mindestens eines der Kriterien erreicht. Deadlocks lassen sich a priori aber nur schwer vermeiden, weil sonst nur jeder Prozess ohne Gefahr eines Deadlocks zum Ablauf kommen dürfte. Alle Betriebsmittel müssten im Vorfeld reserviert werden.
Tags: Synchronisation und Kommunikation
Quelle:
Quelle:
Welche Alternative zur Behandlung von Deadlocks kennen Sie?
Eine in der Praxis häufig eingesetzte Technik ist das Erkennen und Beseitigen von Deadlocks zur Laufzeit, wobei man hierzu sog. Betriebsmittelbelegungsgraphen einsetzt. Dies sind Graphen, die als Knoten Ressourcen und Prozesse/Threads enthalten, und Kanten, welche die Belegung der Ressourcen durch Prozesse/Threads aufzeigen. Als Maßnahmen zur Beseitigung eines Deadlocks sind das Abbrechen eines Prozesses/Threads oder das Entziehen eines Betriebsmittels möglich.
Tags: Synchronisation und Kommunikation
Quelle:
Quelle:
Was sind Race Conditions?
Race Conditions sind Situationen, bei denen zwei oder mehr Prozesse gemeinsame Betriebsmittel nutzen und die Endergebnisse der Nutzung von der zeitlichen Reihenfolge der Operationen abhängen.
Tags: Synchronisation und Kommunikation
Quelle:
Quelle:
Erläutern Sie kurz die Funktionsweise von Pipes!
Wie der Name andeutet handelt es sich bei einer Pipe um einen Datenstrom von einem Prozess zu einem anderen. Daten, die ein Prozess in ein Ende der Pipe schreibt, können auf der anderen Seite von einem anderen Prozess gelesen werden. Eine Pipe stellt damit einen unidirektionalen Datenstrom bereit. Die Daten werden
von einem Prozess ohne Nachrichtenbegrenzer in die Schreibseite eingetragen, die von einem lesenden Prozess aus dem anderen Ende (Leseseite) entnommen werden können. Eine bidirektionale Kommunikation zweier Prozesse kann über die Einrichtung von zwei Pipes erreicht werden. Eine Pipe stellt einen Pufferbereich
fester Länge dar. Das Auslesen erfolgt in der Reihenfolge, in der die Daten eingetragen werden (FIFO-Puffer).
von einem Prozess ohne Nachrichtenbegrenzer in die Schreibseite eingetragen, die von einem lesenden Prozess aus dem anderen Ende (Leseseite) entnommen werden können. Eine bidirektionale Kommunikation zweier Prozesse kann über die Einrichtung von zwei Pipes erreicht werden. Eine Pipe stellt einen Pufferbereich
fester Länge dar. Das Auslesen erfolgt in der Reihenfolge, in der die Daten eingetragen werden (FIFO-Puffer).
Tags: Synchronisation und Kommunikation
Quelle:
Quelle:
Welche grundlegenden Gedanken stecken hinter dem Konzept des virtuellen Speichers?
– Ein Prozess sollte auch dann ablaufen können, wenn er nur teilweise im Hauptspeicher ist. Wichtig ist hierbei, dass die Teile des Prozesses (Daten und Code) im physikalischen Speicher sind, die gerade benötigt werden.
– Der Speicherbedarf eines Programms sollte größer als der physikalisch vorhandene Hauptspeicher sein können.
– Ein Programmierer sollte am besten nur einen kontinuierlichen (linearen) Speicherbereich beginnend bei Adresse 0 sehen und sich nicht um die Zerstückelung (Fragmentierung) des Hauptspeichers auf mehrere Benutzer kümmern.
– Der Speicherbedarf eines Programms sollte größer als der physikalisch vorhandene Hauptspeicher sein können.
– Ein Programmierer sollte am besten nur einen kontinuierlichen (linearen) Speicherbereich beginnend bei Adresse 0 sehen und sich nicht um die Zerstückelung (Fragmentierung) des Hauptspeichers auf mehrere Benutzer kümmern.
Tags: Hauptspeicherverwaltung
Quelle:
Quelle:
Welche Aufgabe hat eine Verdrängungsstrategie und was ist ein Seitenfehler?
Die Strategie, die verwendet wird, um eine zu verdrängende Seite auszuwählen, wird als Seitenersetzungsstrategie (Replacement-Strategie) bezeichnet. Ein page fault (Seitenfehler) ist ein Trap, den die MMU erzeugt, wenn von einem Prozess eine physikalische Adresse angesprochen wird, die nicht im Hauptspeicher geladen ist. Das Betriebssystem springt in den Kernelmodus und zwar auf
eine spezielle Interruptroutine zur Bearbeitung des Seitenfehlers und versucht unter Beachtung der Seitenersetzungsstrategie und der Vergabestrategie die Seite in einen Frame zu laden.
eine spezielle Interruptroutine zur Bearbeitung des Seitenfehlers und versucht unter Beachtung der Seitenersetzungsstrategie und der Vergabestrategie die Seite in einen Frame zu laden.
Tags: Hauptspeicherverwaltung
Quelle:
Quelle:
Was bedeutet Demand-Paging und welche Alternative wäre denkbar?
Demand Paging ist eine Abrufstrategie, bei der die Einlagerung nur auf Anforderung, also wenn die Daten benötigt werden, durchgeführt wird. Eine alternative Strategie ist Prepaging. Im Gegensatz zu Demand Paging werden hier Seiten in den Hauptspeicher geholt, die noch nicht angefordert wurden.
Tags: Hauptspeicherverwaltung
Quelle:
Quelle:
Wie viele Seitentabellen müssen bei virtueller Adressierung vom Betriebssystem verwaltet werden, wenn mit einer einstufigen Seitentabelle gearbeitet wird und gerade 10
Prozesse aktiv sind?
Prozesse aktiv sind?
Es müssen 10 Seitentabellen verwaltet werden, eine je Prozess.
Tags: Hauptspeicherverwaltung
Quelle:
Quelle:
Ein virtueller Adressraum wird mit 32 Bit langen virtuellen Adressen adressiert. Wie groß ist der gesamte virtuelle Adressraum eines Prozesses?
2^32 Byte = 4 GiB, da insgesamt 32 Bit für die Adressierung zur Verfügung stehen.
Tags: Hauptspeicherverwaltung
Quelle:
Quelle:
Welcher Seitenersetzungsalgorithmus wäre theoretisch optimal und warum ist dieser praktisch nur schwer zu realisieren?
Ein optimaler Algorithmus würde die Seitenrahmen für eine Ersetzung auswählen, die am spätesten von allen belegten Seitenrahmen wieder benötigt würden. Er ist als „Algorithmus von Belady“ bekannt.
Der Grund für die schwierige bzw. unmögliche Realisierung ist, dass es nicht praktikabel ist, das Verhalten eines Prozesses hinsichtlich seiner Speicherzugriffe sicher
vorher zu bestimmen. Das Betriebssystem kann zum Zeitpunkt des Seitenfehlers nicht wissen, wann welche Seite als nächstes verwendet wird.
-> gleiches Problem wie bei SJF - man kann nicht in die Zukunft schauen!
Der Grund für die schwierige bzw. unmögliche Realisierung ist, dass es nicht praktikabel ist, das Verhalten eines Prozesses hinsichtlich seiner Speicherzugriffe sicher
vorher zu bestimmen. Das Betriebssystem kann zum Zeitpunkt des Seitenfehlers nicht wissen, wann welche Seite als nächstes verwendet wird.
-> gleiches Problem wie bei SJF - man kann nicht in die Zukunft schauen!
Tags: Hauptspeicherverwaltung
Quelle:
Quelle:
Warum ist der LRU-Algorithmus zur Seitenersetzung bei der virtuellen Adressierung schwer zu realisieren? Welcher Algorithmus ist eine gute Alternative hierzu?
Damit man die am längsten unbenutzte Seite schnell im Zugriff hat, muss man einigen Aufwand bei jedem Zugriff leisten. Eine Möglichkeit ist die Verwaltung einer nach der zeitlichen Nutzung sortierten linearen Liste, bei der die am längsten nicht benutzte Seite im ganz obersten Element liegt. Der hohe Aufwand ergibt sich durch das Umhängen der Elemente bei jedem Zugriff. Die aktuell genutzte Seite muss nämlich bei jedem Zugriff an das Ende der Liste gehängt werden. Aufgrund des hohen Aufwands implementiert man heute meistens sog. Pseudo-LRUAlgorithmen,
wobei auch das R- und das M-Bit benutzt werden. Zwei dieser Algorithmen sind Clock-Page- und Second-Chance.
Eine gute Alternative zum LRU-Algorithmus ist der NFU-Algorithmus (Not-Frequently Used) in Verbindung mit einem passenden Aging-Mechanismus.
wobei auch das R- und das M-Bit benutzt werden. Zwei dieser Algorithmen sind Clock-Page- und Second-Chance.
Eine gute Alternative zum LRU-Algorithmus ist der NFU-Algorithmus (Not-Frequently Used) in Verbindung mit einem passenden Aging-Mechanismus.
Tags: Hauptspeicherverwaltung
Quelle:
Quelle:
Welche Probleme ergeben sich bei sehr großen virtuellen Adressräumen in Bezug auf die Verwaltung der Seitentabellen?
Die Umsetzung einer virtuellen Adresse auf eine reale Adresse ist im Vergleich zur klassischen Adressierung mit zusätzlichen Hauptspeicherzugriffen auf die Seitentabellen verbunden und verschlechtert damit die Leistungsfähigkeit. Anstatt eines
Hauptspeicherzugriffs auf die adressierten Daten sind bei zweistufiger Adressierung drei Hauptspeicherzugriffe erforderlich, da neben den adressierten Daten auch die Top-Level- und die Second-Level-Seitentabelleneinträge aufgesucht werden
müssen. Hinzu kommt, dass mit zunehmender Adressraumgröße auch der Speicherplatz für die Verwaltung der Seitentabellen enorm wächst.
Hauptspeicherzugriffs auf die adressierten Daten sind bei zweistufiger Adressierung drei Hauptspeicherzugriffe erforderlich, da neben den adressierten Daten auch die Top-Level- und die Second-Level-Seitentabelleneinträge aufgesucht werden
müssen. Hinzu kommt, dass mit zunehmender Adressraumgröße auch der Speicherplatz für die Verwaltung der Seitentabellen enorm wächst.
Tags: Hauptspeicherverwaltung
Quelle:
Quelle:
Welche Möglichkeiten gibt es, die hohe Belastung der Seitentabellenverwaltung insbesondere bei großen Adressräumen zu optimieren?
Zur Optimierung der Speicherzugriffe gibt es Adressumsetzpuffer (Translation Lookaside Buffers, kurz: TLB) und die invertierten Seitentabellen.
Tags: Hauptspeicherverwaltung
Quelle:
Quelle:
Erläutern Sie das Working-Set-Verfahren, das Windows einsetzt!
Jeder Prozess erhält ein sog. Working-Set, also eine Arbeitsmenge an Frames, die im Rahmen einer Working-Set-Strategie zugeordnet werden. Jeder Prozess verfügt über einen Working-Set von mindestens 20 bis 50 Seiten und maximal 40 bis 345 Seiten je nach verfügbarem Hauptspeicher. Stark „pagende“ Prozesse können ihren Working-Set auch erhöhen, aber nur bis maximal 512 Seiten.
Tags: Hauptspeicherverwaltung
Quelle:
Quelle:
Was versteht man unter einem Shared Memory?
Ein Shared Memory ist ein von mehreren Prozessen gemeinsam genutzter Speicherbereich, der nur einmal in den Hauptspeicher geladen wird. Auf gemeinsam genutzte Speicherbereiche verweisen mehrere Seitentabelleneinträge verschiedener Prozesse.
Tags: Hauptspeicherverwaltung
Quelle:
Quelle:
Wozu dient die Buddy-Technik in der Speicherverwaltung und wie funktioniert sie?
Die Buddy-Technik ist eine Placement-Strategie und dient der Verwaltung der freien Seitenrahmen. Bei dieser Technik werden die freien Speicherbereiche immer zu zwei „Partnern“ zusammengefasst, die man als Buddies bezeichnet. Die beiden
Speicherbereiche können unabhängig voneinander vergeben werden. Sofern beide frei sind, fasst die Speicherverwaltung sie zu einem großen Paar zusammen, das gewissermaßen als Buddy der nächsten Stufen dient.
Mit dieser Technik steigt die Wahrscheinlichkeit, dass bei einer Speicheranforderung die richtigen Speichergrößen zur Verfügung stehen, und es wird das externe Fragmentierungsproblem reduziert.
Speicherbereiche können unabhängig voneinander vergeben werden. Sofern beide frei sind, fasst die Speicherverwaltung sie zu einem großen Paar zusammen, das gewissermaßen als Buddy der nächsten Stufen dient.
Mit dieser Technik steigt die Wahrscheinlichkeit, dass bei einer Speicheranforderung die richtigen Speichergrößen zur Verfügung stehen, und es wird das externe Fragmentierungsproblem reduziert.
Tags: Hauptspeicherverwaltung
Quelle:
Quelle:
Welche Aufgaben hat ein Gerätetreiber?
– Er definiert ein Gerät und macht es dem Betriebssystem bekannt, initialisiert also die Geräte-Controller beim Systemstart.
– Er stellt ein logisches Programmiermodell bereit und übersetzt es in gerätespezifische Anforderungen.
– Er dient der Pufferung von Daten auf dem Weg vom Gerät zum Hauptspeicher und umgekehrt.
– Er übernimmt die Unterbrechungsbearbeitung für ein Gerät. In der Regel liegt im Treiber auch die passende Interrupt Service Routine (ISR) für das Gerät.
– Er dient der Koordination der nebenläufigen Zugriffe auf ein Gerät.
– Er stellt ein logisches Programmiermodell bereit und übersetzt es in gerätespezifische Anforderungen.
– Er dient der Pufferung von Daten auf dem Weg vom Gerät zum Hauptspeicher und umgekehrt.
– Er übernimmt die Unterbrechungsbearbeitung für ein Gerät. In der Regel liegt im Treiber auch die passende Interrupt Service Routine (ISR) für das Gerät.
– Er dient der Koordination der nebenläufigen Zugriffe auf ein Gerät.
Tags: Geräte- und Dateiverwaltung
Quelle:
Quelle:
Erläutern Sie den prinzipiellen Aufbau einer Festplatte!
Magnet- oder Festplatten bestehen aus Kunststoff- oder Aluminiumscheiben, die mit einer hauchdünnen Magnetschicht überzogen sind, und meistens sind auch mehrere Schichten übereinander angeordnet. Eine beidseitige Plattenbeschichtung
ist heute der Normalfall. Die Schreib-/Leseköpfe sind auf einem mechanischen Träger befestigt und mit kleinen Elektromagneten ausgestattet. Je Oberfläche ist ein Schreib-/Lesekopf notwendig. Meistens ist zu einer Zeit nur ein Schreib-/Lesekopf aktiv. Auf den Plattenoberflächen sind Spuren angebracht. Die Platten
rotieren mit einer konstanten Drehzahl von ca. 5000 bis 15000 U/min um eine senkrechte Drehachse.
Die Daten sind als Blöcke fester Größe in sog. Sektoren gespeichert. Die Plattenoberfläche ist physikalisch in kleine Kuchenstücke, sog. Kreissektoren aufgeteilt. Die Spurenanteile eines Kreissektors werden als logische Sektoren bezeichnet. Alle Spuren untereinander nennt man Zylinder. Zylinder sind über eine Position der Schreib-/Leseköpfe ansprechbar.
ist heute der Normalfall. Die Schreib-/Leseköpfe sind auf einem mechanischen Träger befestigt und mit kleinen Elektromagneten ausgestattet. Je Oberfläche ist ein Schreib-/Lesekopf notwendig. Meistens ist zu einer Zeit nur ein Schreib-/Lesekopf aktiv. Auf den Plattenoberflächen sind Spuren angebracht. Die Platten
rotieren mit einer konstanten Drehzahl von ca. 5000 bis 15000 U/min um eine senkrechte Drehachse.
Die Daten sind als Blöcke fester Größe in sog. Sektoren gespeichert. Die Plattenoberfläche ist physikalisch in kleine Kuchenstücke, sog. Kreissektoren aufgeteilt. Die Spurenanteile eines Kreissektors werden als logische Sektoren bezeichnet. Alle Spuren untereinander nennt man Zylinder. Zylinder sind über eine Position der Schreib-/Leseköpfe ansprechbar.
Tags: Geräte- und Dateiverwaltung
Quelle:
Quelle:
Wozu ist der DMA-Mechanismus sinnvoll und wie funktioniert er prinzipiell?
Mit DMA (Direct Memory Access) werden ganze Datenblöcke zwischen dem Geräte-Controller und dem Hauptspeicher transportiert. Der Zugriff erfolgt über sog. DMA-Controller mit speziellen DMA-Chips (Hardwareunterstützung). DMAZugriffe
auf den Geräte-Controller können parallel zur CPU-Bearbeitung ausgeführt werden. Die CPU stößt die Übertragung an und kann dann eine andere Aufgabe erledigen. Der DMA-Controller erzeugt bei Ende der Übertragung eine Unterbrechung an die CPU.
auf den Geräte-Controller können parallel zur CPU-Bearbeitung ausgeführt werden. Die CPU stößt die Übertragung an und kann dann eine andere Aufgabe erledigen. Der DMA-Controller erzeugt bei Ende der Übertragung eine Unterbrechung an die CPU.
Tags: Geräte- und Dateiverwaltung
Quelle:
Quelle:
Was bedeutet RAID?
RAID steht für Redundant Array of Inexpensive (heute Independent) Disks. Mehrere kleine Platten werden hier als große virtuelle Platte verwaltet. Der Betrieb eines RAID-Systems erfordert mindestens zwei Festplatten. Die Festplatten bilden einen Verbund, der aus Sicht des Betriebssystems als eine einzige logische Festplatte betrachtet wird. Die Daten werden je nach RAID-Verfahren über die einzelnen physikalischen Festplatten verteilt. Redundante Information wird bei den meisten RAID-Varianten zu den Nutzdaten ergänzt und ebenfalls auf die physikalischen Platten verteilt, um im Fehlerfall die Wiederherstellung einer Platte zu unterstützen. Es gibt mehrere RAID-Varianten (RAID-0, RAID-1,...) und auch Kombinationen
(RAID-1+0).
(RAID-1+0).
Tags: Geräte- und Dateiverwaltung
Quelle:
Quelle:
Erläutern Sie die Arbeitsweise von RAID-1!
In RAID-1-Systemen wird eine Vollspiegelung der Daten durchgeführt. RAID-1 bietet die volle Redundanz der gespeicherten Daten, wobei die Kapazität des Systems höchstens so groß ist, wie der kleinste Spiegel. Fällt ein Spiegel aus, können die Platten des anderen Spiegels weiterhin genutzt werden. Bei RAID-1 wird bei schreibendem Zugriff immer auf beide Festplattenspiegel zugegriffen, da eine Kopie erstellt werden muss.
Tags: Geräte- und Dateiverwaltung
Quelle:
Quelle:
Was ist der Unterschied zwischen RAID-4 und RAID-5?
Bei RAID-4 werden die Datenbits wie bei RAID-0 zu Streifen zusammengefasst.
Pro Streifen wird eine Prüfsumme gebildet und auf einer eigenen Platte gespeichert. In RAID-5-Systemen sind die Paritätsabschnitte auf alle Platten verteilt, um eine gleichmäßige Plattenauslastung zu erreichen. Ansonsten ist RAID-5 sehr ähnlich zu RAID-4.
Pro Streifen wird eine Prüfsumme gebildet und auf einer eigenen Platte gespeichert. In RAID-5-Systemen sind die Paritätsabschnitte auf alle Platten verteilt, um eine gleichmäßige Plattenauslastung zu erreichen. Ansonsten ist RAID-5 sehr ähnlich zu RAID-4.
Tags: Geräte- und Dateiverwaltung
Quelle:
Quelle:
Welchen wesentlichen Vorteil bietet RAID-6 im Vergleich zu RAID-5 und welcher Nachteil wird dadurch erkauft?
RAID-6-Systeme sind wie RAID-5 aufgebaut, speichern aber mehr redundante Prüfdaten, so dass sogar der Ausfall von zwei Platten ohne Auswirkung bleibt.
Wenn n Festplatten für die Nutzdaten benötigt werden, ist ein RAID-6-System aus n+2 Platten aufgebaut.
RAID-6 zeichnet sich durch gute Leistung beim Lesen aus, die Schreibleistung ist allerdings schlechter als bei RAID-5.
Wenn n Festplatten für die Nutzdaten benötigt werden, ist ein RAID-6-System aus n+2 Platten aufgebaut.
RAID-6 zeichnet sich durch gute Leistung beim Lesen aus, die Schreibleistung ist allerdings schlechter als bei RAID-5.
Tags: Geräte- und Dateiverwaltung
Quelle:
Quelle:
Welche Vorteile bietet RAID-10?
RAID-10 vereinigt als Kombination von RAID-0 und RAID-1 die Vorteile beider Verfahren. Es wird Striping und anschließend eine Spiegelung durchgeführt, d. h. RAID-10-Systeme sind schnell und ausfallsicher.
Tags: Geräte- und Dateiverwaltung
Quelle:
Quelle:
Welchen Vorteil hat Software-RAID gegenüber Hardware-RAID?
Bei Software-RAID ist keine eigene Controller-Hardware erforderlich, da die Verwaltung der RAID-Platten im Betriebssystem erfolgt.
Tags: Geräte- und Dateiverwaltung
Quelle:
Quelle:
Welche Dateisysteme unter Windows kennen Sie und wie unterscheiden sie sich?
Windows kennt vor allem folgende Dateisysteme:
– CDFS (CD-ROM File System) ist ein einfaches Read-Only-Format für CDROMs. Windows implementiert den ISO-9660-Standard. Die Länge von Verzeichnis- und Dateinamen ist auf 31 Zeichen begrenzt. Es wird nicht zwischen Groß- und Kleinschreibung bei Datei- und Verzeichnisnamen unterschieden. Die Hierarchie der Verzeichnisse ist auf acht Ebenen limitiert. Dieses Format ist aber schon veraltet.
– UDF (Universal Disk Format) ist ISO-13346-konform. Es ersetzt CDFS und ist in der DVD-Spezifikation enthalten. Es unterstützt maximale Dateinamenlängen von 255 Zeichen, eine maximale Pfadlänge von 1023 Zeichen und Groß- und Kleinschreibung bei Datei- und Verzeichnisnamen.
– FAT-16 (FAT = File Allocation Table) ist das alte MS-DOS-Dateisystem und nutzt 16-Bit-Plattenadressen.
– FAT-32 ist ebenfalls ein altes Dateisystem und nutzt 32-Bit-Plattenadressen.
– NTFS (NT Filesystem) ist ein modernes, hierarchisches Dateisystem. NTFS nutzt 64-Bit-Plattenadressen.
– CDFS (CD-ROM File System) ist ein einfaches Read-Only-Format für CDROMs. Windows implementiert den ISO-9660-Standard. Die Länge von Verzeichnis- und Dateinamen ist auf 31 Zeichen begrenzt. Es wird nicht zwischen Groß- und Kleinschreibung bei Datei- und Verzeichnisnamen unterschieden. Die Hierarchie der Verzeichnisse ist auf acht Ebenen limitiert. Dieses Format ist aber schon veraltet.
– UDF (Universal Disk Format) ist ISO-13346-konform. Es ersetzt CDFS und ist in der DVD-Spezifikation enthalten. Es unterstützt maximale Dateinamenlängen von 255 Zeichen, eine maximale Pfadlänge von 1023 Zeichen und Groß- und Kleinschreibung bei Datei- und Verzeichnisnamen.
– FAT-16 (FAT = File Allocation Table) ist das alte MS-DOS-Dateisystem und nutzt 16-Bit-Plattenadressen.
– FAT-32 ist ebenfalls ein altes Dateisystem und nutzt 32-Bit-Plattenadressen.
– NTFS (NT Filesystem) ist ein modernes, hierarchisches Dateisystem. NTFS nutzt 64-Bit-Plattenadressen.
Tags: Geräte- und Dateiverwaltung
Quelle:
Quelle:
Was bezeichnet man als SAN?
Ein SAN ist ein Netzwerk, in dem große Datenmengen gespeichert und bewegt werden. Im SAN wird der gesamte Speicher, unabhängig von Standort und Betriebssystem, zentral verwaltet und zu virtuellen Einheiten zusammengefasst. Der Speicher muss dazu nicht an ein und demselben Ort untergebracht sein. Die Server sehen das SAN als eine Art Datenpool, der in voneinander getrennte logische Einheiten aufgeteilt ist. Mehrere redundante Wege zwischen dem Anwender und den Daten können auch vor möglichen Ausfällen schützen.
Tags: Geräte- und Dateiverwaltung
Quelle:
Quelle:
Was ist der Unterschied zwischen Emulation und Virtualisierung?
Bei der Emulation wird die komplette Hardware in Software nachgebildet, während bei Virtualisierung in der Regel nur ein geringer Teil der Befehle des kompletten Befehlssatzes nachgebildet werden.
Tags: Betriebssystemvirtualisierung
Quelle:
Quelle:
Was versteht man unter einem Typ-1-Hypervisor?
Ein Typ-1-Hypervisor dient der Betriebssystemvirtualisieriung, ist direkt über der Hardware als kleines Minibetriebssystem platziert und läuft im Kernelmodus (Ring 0) oder in einem speziellen, privilegierten Modus.
Tags: Betriebssystemvirtualisierung
Quelle:
Quelle:
Was versteht man unter einem Typ-2-Hypervisor?
Ein Typ-2-Hypervisor dient der Betriebssystemvirtualisieriung und läuft als einfaches Benutzerprogramm über einem Gastgeberbetriebssystem. Man nennt den Ansatz auch Hosted-Ansatz.
Tags: Betriebssystemvirtualisierung
Quelle:
Quelle:
Was versteht man unter Paravirtualisierung?
Hier handelt es sich um eine Technik zur Betriebssystemvirtualisierung. Von Paravirtualisierung spricht man, wenn man das Gastbetriebssystem verändert. Der Hypervisor ist in diesem Fall ein reduziertes Betriebssystem, das auch als paravirtualisieres Betriebssystem bezeichnet wird. Vom Gastbetriebssystem werden Hypervisor-Aufrufe über spezielle Systemaufrufe (API) an das Gastgeberbetriebssystem abgesetzt.
Tags: Betriebssystemvirtualisierung
Quelle:
Quelle:
Was ist eine Schattentabelle im Sinne der Betriebssystemvirtualisierung?
Die Umsetzung der realen auf die physikalische Adresse erfolgt bei der Virtualisierung z. B. über die Schattentabelle. Über diese ist eine direkte Umsetzung einer virtuellen auf eine physikalische Adresse möglich.
Tags: Betriebssystemvirtualisierung
Quelle:
Quelle:
Was bedeutet Ballooning bei der Speicherverwaltung eines Hypervisors?
Wenn der Hypervisor selbst Speicher benötigt, initiiert er bei den Gastbetriebssystemen Replacement-Aktivitäten, indem er künstlich Speicher anfordert. Hier spricht man von Ballooning.
Tags: Betriebssystemvirtualisierung
Quelle:
Quelle:
Tags: Selbststudium Fragen
Quelle:
Quelle:
Warum wurden Betriebssysteme entwickelt?
Betriebssysteme wurden im Laufe der Zeit entwickelt, um als Vermittler zwischen der Hardware und der immer komplexer werdenden Software zu dienen und damit dem Programmierer die Arbeit zu erleichtern. Das Betriebssystem dient primär der Betriebsmittelverwaltung und bietet dem Entwickler über das "System Call Interface" standardisierte Befehle, um auf diese zuzugreifen. Damit trennt es also den User Modus vom Kernel Modus.
Tags: Selbststudium Fragen
Quelle:
Quelle:
Welche Entwicklungsstufen gibt es?
Nach Tanenbaum kann man folgende Stufen unterscheiden:
1. Stufe (1945-1955): Das Betriebssystem war noch nicht erfunden bzw. extrem rudimentär. Doch durch das einlesen von Lochkarten war es möglich, bereits Daten und Befehle (Programme) zu speichern. Es gab also nur direkt Maschinensprache, noch kein Assembler-Code.
2. Stufe (1955-1965): Die ersten Anfänge von Betriebssystemen kamen auf, es gab immer noch Lochkartenleser aber auch Drucker zur Ausgabe. Auch die ersten Assemblersprachen (MOV, REG etc.) wurden entwickelt. Die Aufträge wurden nacheinander, also seriell, verarbeitet.
3. Stufe (1965-1980): Die ersten umfangreicheren Betriebssysteme wie MULTICS und Unix sind entstanden. Auch bis heute wichtige Programmiersprachen wie C entstanden. Es gab noch keinen Bildschirm, kein Hauptspeicher und nur wenige Register. Die Befehle zum booten des Betriebssystems wurden noch manuell eingegeben. Multitasking wurde aber bereits eingeführt.
4. Stufe (1980 - heute)
Es entstanden immer komplexere und mehrschichtigere Betriebssysteme (DOS, Unix, Windows Android iOS...) , Server, Mainframes und sogar verteilte Systeme. Bildschirme wurden der Standard und auch großere Festplatten und Arbeitsspeicher. Auch entstanden objektorientierte Programmiersprachen wie Java.
1. Stufe (1945-1955): Das Betriebssystem war noch nicht erfunden bzw. extrem rudimentär. Doch durch das einlesen von Lochkarten war es möglich, bereits Daten und Befehle (Programme) zu speichern. Es gab also nur direkt Maschinensprache, noch kein Assembler-Code.
2. Stufe (1955-1965): Die ersten Anfänge von Betriebssystemen kamen auf, es gab immer noch Lochkartenleser aber auch Drucker zur Ausgabe. Auch die ersten Assemblersprachen (MOV, REG etc.) wurden entwickelt. Die Aufträge wurden nacheinander, also seriell, verarbeitet.
3. Stufe (1965-1980): Die ersten umfangreicheren Betriebssysteme wie MULTICS und Unix sind entstanden. Auch bis heute wichtige Programmiersprachen wie C entstanden. Es gab noch keinen Bildschirm, kein Hauptspeicher und nur wenige Register. Die Befehle zum booten des Betriebssystems wurden noch manuell eingegeben. Multitasking wurde aber bereits eingeführt.
4. Stufe (1980 - heute)
Es entstanden immer komplexere und mehrschichtigere Betriebssysteme (DOS, Unix, Windows Android iOS...) , Server, Mainframes und sogar verteilte Systeme. Bildschirme wurden der Standard und auch großere Festplatten und Arbeitsspeicher. Auch entstanden objektorientierte Programmiersprachen wie Java.
Tags: Selbststudium Fragen
Quelle:
Quelle:
Recherchieren Sie die Größe verschiedener Windows Versionen und vergleichen Sie diese mit der Entwicklung des Unix Kernels (Folie Codeumfang). Welche Schlüsse ziehen Sie aus der erkennbaren Entwicklung?
Bim Betrachten des Codeumfanges von Windows gegenüber Unix fällt sofort auf, dass der Linux-Kernel bis zum heutigen Tage um ein Vielfaches kompakter ist als der Windows Kernel. So hat Windows Vista etwa 50 Millionen Lines of Code, hingegen Unix etwa 2 Millionen LOC hat. Erstaunlich ist auch, dass bereits die erste Version des NT Kernels 1993 mehr LOC hatte als Unix heutzutage.
Daraus schließe ich, dass Windows scheinbar deutlich komplexer und schwerfälliger ist als Linux. Dadurch zeigt sich aber auch, dass nicht die Technik hinter einem Betriebssystem sondern der Markt und das Marketing des Herstellers über das Fortbestehen bzw. den Erfolg des BS entscheidet!
Daraus schließe ich, dass Windows scheinbar deutlich komplexer und schwerfälliger ist als Linux. Dadurch zeigt sich aber auch, dass nicht die Technik hinter einem Betriebssystem sondern der Markt und das Marketing des Herstellers über das Fortbestehen bzw. den Erfolg des BS entscheidet!
Tags: Selbststudium Fragen
Quelle:
Quelle:
Beschreiben Sie die Anwendungsvirtualisierung
Die Anwendungsvirtualisierung ist ähnlich aufgebaut wie die vollständige Virtualisierung (Typ-2 Hypervisor) nur das alle Anwendungsprozesse in einem visualisiertem System innerhalb eines Containers laufen. Dadurch wird die Anwendung von dem ausführenden Gastgeberbetriebssystem durch eine Zwischenschicht (Container) isoliert (Sandbox Modell). Der Container selbst läuft direkt (ohne zwischengeschaltetes virtuelles BS im Usermodus) auf dem Gastgeberbetriebssystem welches im Kernelmodus arbeitet.
Ein großer Vorteil dieser Technik liegt im geringen Ressourcenbedarf und der gleichzeitig hohen Performance.
Entscheidender Nachteil ist jedoch, dass alle Container auf dem gleichen Gastgeberbetriebssystem (z.B. Windows oder UNIX) laufen müssen. Der große Vorteil des gleichzeitigen Betreibens von verschiedenen Betriebssystemen wie bei der vollständigen Virtualisierung geht dabei verloren.
Ein großer Vorteil dieser Technik liegt im geringen Ressourcenbedarf und der gleichzeitig hohen Performance.
Entscheidender Nachteil ist jedoch, dass alle Container auf dem gleichen Gastgeberbetriebssystem (z.B. Windows oder UNIX) laufen müssen. Der große Vorteil des gleichzeitigen Betreibens von verschiedenen Betriebssystemen wie bei der vollständigen Virtualisierung geht dabei verloren.
Tags: Selbststudium Fragen
Quelle:
Quelle:
Was ist der wesentliche Unterschied der Anwendungsvirtualisierung zum Typ-2 Hypervisor?
Der Unterschied liegt darin, dass bei der Anwendungsvirtualisierung kein vollständiges Betriebssystem "auf" das bereits bestehende Gastgeberbetriebssystem "gesetzt" wird, sondern die Anwendung direkt in einem Container (dadurch isoliert) auf dem BS läuft.
Tags: Selbststudium Fragen
Quelle:
Quelle:
Nennen Sie ein Beispiel für die Anwendungsvirtualisierung
Ein Beispiel für die Anwendungsvirtualisierung findet sich ab Windows 7 im so genannten "Kompatibilitätsmodus". So lassen sich Programme, die eigentlich nicht für Windows 7 entwickelt worden sind, in einem Container ausführen, der dem Programm beispielsweise eine Windows XP Umgebung zur Verfügung stellt, ohne das dabei Windows XP komplett als virtuelle Maschine gestartet werden muss.
Andere Beispiele sind die Containertechnologie von Sun Solarin oder Linux-VServern.
Andere Beispiele sind die Containertechnologie von Sun Solarin oder Linux-VServern.
Tags: Selbststudium Fragen
Quelle:
Quelle:
Betriebsart Terminalserver erläutern
Auf den verschiedenen Client-Rechnern ist eine Clientsoftware für den Betrieb mit den Terminalservern installiert. Mithilfe dieser kommunizieren Sie über ein Netzwerk (z. B. das Remote Desktop Protocol (RDP) von Microsoft) mit den entsprechenden Terminal-Servern (diese sind mit der komplementären Software ausgestattet).
Auf den Terminal-Servern selbst laufen die Anwendung(en) die von den Nutzern der Terminal-Clients genutzt werden.
Wichtig dabei ist, dass die „Thin-Clients“ nur zum Anzeigen der Programme da sind (selbst also kaum Leistung haben) und die eigentlichen Berechnungen und Programme direkt auf den Terminal-Servern ablaufen. Dies ist im Sinne einer starken Zentralisierung von Betriebsmitteln. Dadurch wird auch eine vereinfachte und zentralisierte Administrierung ermöglicht.
Auf den Terminal-Servern selbst laufen die Anwendung(en) die von den Nutzern der Terminal-Clients genutzt werden.
Wichtig dabei ist, dass die „Thin-Clients“ nur zum Anzeigen der Programme da sind (selbst also kaum Leistung haben) und die eigentlichen Berechnungen und Programme direkt auf den Terminal-Servern ablaufen. Dies ist im Sinne einer starken Zentralisierung von Betriebsmitteln. Dadurch wird auch eine vereinfachte und zentralisierte Administrierung ermöglicht.
Tags: Selbststudium Fragen
Quelle:
Quelle:
Internetzugriff als verteiltes System beschreiben
Der heutige Internetzugriff (beispielsweise via HTTP auf eine Webseite) ist einem verteilten System sehr ähnlich. Durch den Aufruf einer Webadresse werden nämlich vom Aufrufer (Client) auf dem Webserver verschiedene Dienste (meist auch auf verschiedenen physikalischen Maschinen) angesprochen. So koordiniert der Webserver (z.B. Apache) durch seine Kommunikations-Middelware die Anfrage. So liefert der Webserver beispielsweise Inhalte wie hinterlegte Bilder auf der Webseite. Ggf. wird noch ein Datenbankserver kontaktiert (DB-Request), z.B. um die noch verfügbaren Plätze eines Seminars bei einer Online-Anmeldung abzurufen oder der Applikations-Server für weitere Informationen kontaktiert (Service-Request). Durch die Ansprache von mehreren Systemen (Datenbank-, Applikations,-Webserver …) zeichnet sich der Internetzugriff also als verteiltes System aus.
Tags: Selbststudium Fragen
Quelle:
Quelle:
Worin unterscheiden sich die Betriebsarten Terminalserver und Internetzugriff?
Die beiden Betriebsarten unterscheiden sich in der zentralen bzw. dezentralen Haltung von Betriebsmitteln.
Beim Terminalserver läuft eine Applikation vollständig auf dem einen Server ab. Beim Internetzugriff hingegen arbeiten mehrere Server mit verschiedenen Ressourcen gemeinsam, um einen HTTP-Request zu bearbeiten.
Beim Terminalserver läuft eine Applikation vollständig auf dem einen Server ab. Beim Internetzugriff hingegen arbeiten mehrere Server mit verschiedenen Ressourcen gemeinsam, um einen HTTP-Request zu bearbeiten.
Tags: Selbststudium Fragen
Quelle:
Quelle:
Interrupt Sequenzdiagramm erläutern
Das Diagramm stellt die Arbeit der Interrupt-Service-Routine (ISR) dar
1: Das sich im Usermodus befindliche Anwendungsprogramm (z.B. OpenOffice) wendet sich mit dem Befehl open() an die C-Library (ebenfalls im Usermodus).
2: Die C-Library (alle Systemcalls zusammen bilden Schnittstelle der Anwendungsprogramme zum BS-Kern, meist zu Bibliotheken zusammenfasst, hier C-Library) kontaktiert nun mit einem Systemcall die sich im Kernelmodus befindliche Kernel-Verteilroutine.
3: Der Systemcall wird nun einem Interrupt aus der Interrupt Vektortabelle zugeordnet
4: nun wird die open-Routine aufgerufen
5: der Prozessor kann nun die Systemcall-Implementierung für den Befehl open() ausführen
6-8: nun wird entlang der Kette die erfolgreiche Ausführung des Befehls rückgemeldet „return“ (vom Kernel- in den Usermodus)
Tags: Selbststudium Fragen
Quelle:
Quelle:
Zustandsautomat Prozess beschriften
1: BS wählt Prozess aus – er wird also aktiviert
2: Das BS wählt anderen Prozess aus. Also wird der andere Prozess deaktiviert und der aktuelle Vorgang unterbrochen
3: der Prozess wird blockiert (da er auf Input wartet oder auf ein BM angefordert hat)
4: der Blockierungsgrund (z.B. warten auf „langsame“ Festplatte) ist aufgehoben
5: der Prozess wird beendet, es tritt ein Fehler auf (Fatal Error) oder er wird von einem anderen Prozess „gekillt“.
2: Das BS wählt anderen Prozess aus. Also wird der andere Prozess deaktiviert und der aktuelle Vorgang unterbrochen
3: der Prozess wird blockiert (da er auf Input wartet oder auf ein BM angefordert hat)
4: der Blockierungsgrund (z.B. warten auf „langsame“ Festplatte) ist aufgehoben
5: der Prozess wird beendet, es tritt ein Fehler auf (Fatal Error) oder er wird von einem anderen Prozess „gekillt“.
Tags: Selbststudium Fragen
Quelle:
Quelle:
Warum ist SJF theoretisch das beste verfahren
->SJF / SPF ist theoretisch der schnellste Algorithmus … Allerdings ist er in der Realität nicht anwendbar, da
1.Die Gefahr des „Verhungerns“ besteht (für besonders „große“ Prozesse, die nie drankommen, weil es immer verhältnismäßig kleinere Jobs gibt)
2.Weil die „Größe“ eines Prozesses in den heutigen Betriebssystemen nicht oder nur sehr schwer berechenbar ist (keiner weiß beispielsweise, wann der Anwender seinen Word Prozess wieder schließen wird)
1.Die Gefahr des „Verhungerns“ besteht (für besonders „große“ Prozesse, die nie drankommen, weil es immer verhältnismäßig kleinere Jobs gibt)
2.Weil die „Größe“ eines Prozesses in den heutigen Betriebssystemen nicht oder nur sehr schwer berechenbar ist (keiner weiß beispielsweise, wann der Anwender seinen Word Prozess wieder schließen wird)
Tags: Selbststudium Fragen
Quelle:
Quelle:
Prozess A nutzt eine Pipe um die Daten <1,5,3,4> an Prozess B zu senden. Prozess B sortiert die eingehenden Daten aufsteigend und gibt diese in derselben Pipe an A zurück.
1. Wie sehen die eingehenden Daten bei Prozess A aus?
2. Prozess B gibt die Daten nach der Sortierung am Bildschirm aus. Wie sehen die Daten auf dem Bildschirm aus?
1. Wie sehen die eingehenden Daten bei Prozess A aus?
2. Prozess B gibt die Daten nach der Sortierung am Bildschirm aus. Wie sehen die Daten auf dem Bildschirm aus?
1. Prozess A kann die Daten nicht empfangen, da eine Pipe nur unidirektional funktioniert.
Bidirektionalität kann nur durch die Nutzung von zwei verschiedenen Pipes erreicht werden.
„Pipes sind Einweg-Kommunikationskanäle, die es einem Prozess ermöglichen, Daten bzw. Nachrichten über das Betriebssystem als Datenstrom an einen anderen Prozess zu übertragen. Pipes werden zur Laufzeit erzeugt und
2. Wenn B die Daten am Bildschirm ausgibt erscheinen sie in sortierter Reihenfolge. Also:
<1,3,4,5>
Bidirektionalität kann nur durch die Nutzung von zwei verschiedenen Pipes erreicht werden.
„Pipes sind Einweg-Kommunikationskanäle, die es einem Prozess ermöglichen, Daten bzw. Nachrichten über das Betriebssystem als Datenstrom an einen anderen Prozess zu übertragen. Pipes werden zur Laufzeit erzeugt und
2. Wenn B die Daten am Bildschirm ausgibt erscheinen sie in sortierter Reihenfolge. Also:
<1,3,4,5>
Tags: Selbststudium Fragen
Quelle:
Quelle:
Wie funktioniert das Mapping von virtueller Adresse auf eine reale Adresse?
Die virtuelle Adresse lässt sich einteilen in Page und Distanz/Offset. Die virtuelle Page-Adresse wird mithilfe einer page table (teilweise auch in der Hardware umgesetzt durch die MMU) in die Frame der physikalischen Adresse umgeschrieben (ersetzt). Das wird mehrere tausend Mal pro Sekunde vom Memory-Manager gemacht und muss sehr schnell gehen (deshalb auch extra MMU Einheit sehr nah am Prozessor).
Die Adresse der virtuellen Distanz (innerhalb der Page) wird einfach übernommen, da diese logischerweise identisch ist mit der Distanz in der physikalischen Adresse.
Nun kann mit der physikalischen Adresse der Hauptspeicher adressiert werden.
Die Adresse der virtuellen Distanz (innerhalb der Page) wird einfach übernommen, da diese logischerweise identisch ist mit der Distanz in der physikalischen Adresse.
Nun kann mit der physikalischen Adresse der Hauptspeicher adressiert werden.
Tags: Selbststudium Fragen
Quelle:
Quelle:
Wie wird der virtuelle Speicher verwaltet?
Der physikalisch vorhandene Speicher (in der Grafik „Realer Speicher“) wird in Frames eingeteilt. Diesen Frames werden wiederum virtuelle Speicher (sog. Frames) zugewiesen. Jeder Prozess hat eine eigene Page. Jede Page ist exakt gleichgroß wie der dazugehörige Frame im realen Speicher.
Im Adressraumbelegungsplan, einem Art “Inhaltsverzeichnis“ wird abgespeichert, was zugeordnet wird (0 oder 1).
Generelle Strategien zur Verwaltung virtueller Speicher:
•Abrufstrategie fetch policy (paging)
•Austauschstrategie replacement policy (paging) Seitenersetzung und Verdrängung
•Speicherzuteilungsstrategie placement policy (buddy) Speicherbelegungsstrategie
•Aufräumstrategie cleaning policy (page buffering)
Im Adressraumbelegungsplan, einem Art “Inhaltsverzeichnis“ wird abgespeichert, was zugeordnet wird (0 oder 1).
Generelle Strategien zur Verwaltung virtueller Speicher:
•Abrufstrategie fetch policy (paging)
•Austauschstrategie replacement policy (paging) Seitenersetzung und Verdrängung
•Speicherzuteilungsstrategie placement policy (buddy) Speicherbelegungsstrategie
•Aufräumstrategie cleaning policy (page buffering)
Tags: Selbststudium Fragen
Quelle:
Quelle:
Erklären Sie den Unterschied zwischen SSD und RAM Bausteinen
Der Aufbau der beiden Speicher ist grundsätzlich ähnlich.
Die Speichermedien unterscheiden sich jedoch in Ihrer Flüchtigkeit.
RAM Bausteine sind flüchtige Speicher – bedeutet wenn die Spannung vom Medium entfernt wird, gehen auch die Informationen darauf verloren.
SSD Festplatten sind nicht-flüchtige Speicher (persistent) – sie behalten also ihre Informationen, auch wenn der Strom entfernt wird.
Dies kommt durch die Stärke des Stroms bei Schreiben der Informationen zustande. Bei nicht-flüchtigen ist die Spannung sehr viel Höher, sodass die Daten „eingebrannt“ werden.
Die Speichermedien unterscheiden sich jedoch in Ihrer Flüchtigkeit.
RAM Bausteine sind flüchtige Speicher – bedeutet wenn die Spannung vom Medium entfernt wird, gehen auch die Informationen darauf verloren.
SSD Festplatten sind nicht-flüchtige Speicher (persistent) – sie behalten also ihre Informationen, auch wenn der Strom entfernt wird.
Dies kommt durch die Stärke des Stroms bei Schreiben der Informationen zustande. Bei nicht-flüchtigen ist die Spannung sehr viel Höher, sodass die Daten „eingebrannt“ werden.
Tags: Selbststudium Fragen
Quelle:
Quelle:
Beschreiben Sie den DMA-Zugriff
DMA (Direct Memory Access) ist eine Speicherzugriffsart.
Mit DMA werden ganze Datenblöcke zwischen dem Geräte-Controller und dem RAM transportiert. Der Zugriff erfolgt über den DMA-Controller mit speziellen DMA-Chips. Vorteil dieses Verfahren ist, dann die Zugriffe auf den Geräte-Controller parallel zur CPU-Bearbeitung ausgeführt werden können. Die CPU stößt dabei die Übertragung an, kann sich aber während der eigentlichen Übertragung einer anderen Aufgabe widmen. Ist die Übertragung zu ende, erzeugt der DMA-Controller einen Interrupt und „holt“ die CPU so wieder zurück.
Mit DMA werden ganze Datenblöcke zwischen dem Geräte-Controller und dem RAM transportiert. Der Zugriff erfolgt über den DMA-Controller mit speziellen DMA-Chips. Vorteil dieses Verfahren ist, dann die Zugriffe auf den Geräte-Controller parallel zur CPU-Bearbeitung ausgeführt werden können. Die CPU stößt dabei die Übertragung an, kann sich aber während der eigentlichen Übertragung einer anderen Aufgabe widmen. Ist die Übertragung zu ende, erzeugt der DMA-Controller einen Interrupt und „holt“ die CPU so wieder zurück.
Tags: Selbststudium Fragen
Quelle:
Quelle:
Zeigen Sie die prinzipiellen Unterschiede zwischen den Dateisystemen NFS und NTFS auf.
NFS steht für Network File System. Es verbindet Dateisysteme verschiedener Partner zu einem logischen Dateisystem über das Netzwerk (Protokoll IP). Benutzer können also auf Dateien, die sich auf einem entfernten Rechner befinden, so zugreifen, als ob sie auf ihrer lokalen Festplatte abgespeichert wären.
NFS ist unabhängig vom darunterliegenden lokalen Dateisystem (z.B. ext4, ReiserFS, NTFS, FAT32 …)
NTFS steht für New Technology File System und wird von Microsoft für alle aktuellen Betriebssysteme verwendet. Im Gegensatz zu FAT handelt es sich bei NTFS um ein Journaling Dateisystem (ein Art Logbuch aller Vorgänge auf dem Medium, bietet damit Datensicherheit (der typische CHKDSK unter Windows).
Bei NTFS handelt es sich um ein lokales Dateisystem.
Der prinzipielle Unterschied zwischen NFS und NTFS besteht im Verwendungszweck.
NFS wird genutzt, um auf den mit verschiedener Partner über das NETZWERK zugreifen zu können, hingegen NTFS ein Dateisystem auf LOKALEN Datenträgern ist.
NFS ist unabhängig vom darunterliegenden lokalen Dateisystem (z.B. ext4, ReiserFS, NTFS, FAT32 …)
NTFS steht für New Technology File System und wird von Microsoft für alle aktuellen Betriebssysteme verwendet. Im Gegensatz zu FAT handelt es sich bei NTFS um ein Journaling Dateisystem (ein Art Logbuch aller Vorgänge auf dem Medium, bietet damit Datensicherheit (der typische CHKDSK unter Windows).
Bei NTFS handelt es sich um ein lokales Dateisystem.
Der prinzipielle Unterschied zwischen NFS und NTFS besteht im Verwendungszweck.
NFS wird genutzt, um auf den mit verschiedener Partner über das NETZWERK zugreifen zu können, hingegen NTFS ein Dateisystem auf LOKALEN Datenträgern ist.
Tags: Selbststudium Fragen
Quelle:
Quelle:
FCoE ist die neueste Entwicklung in der SAN Verbindungstechnologie - beschreiben Sie sie kurz
FCoE steht für Fibre Channel over Ethernet. Es ist ein Protokoll zur Übertragung von Fibre-Channel-Rahmen in Vollduplex-Ethernet basierten Netzwerken – LANs.
Ziel der Einführung von FCoE ist die Vereinfachung von Netzwerkstrukturen in großen Rechenzentren.
Ursprünglich mussten für ein ordentliches SAN extra Leitungen für das Fibre Channel Protokoll verlegt werden. Zusätzlich natürlich normale Ethernet-Kabel für den normalen LAN-Verkehr. Mit Einführung von FCoE kann nun also über ein Kabel (vollduplex Ethernet) das Fibre-Channel Protokoll emuliert werden, um somit müssen keine extra Kabel mehr für das SAN verlegt werden.
Dies ist nur möglich, da die neuen Ethernet-Standards Übertragungsraten bis zu 40 Gigabit bieten.
Ziel der Einführung von FCoE ist die Vereinfachung von Netzwerkstrukturen in großen Rechenzentren.
Ursprünglich mussten für ein ordentliches SAN extra Leitungen für das Fibre Channel Protokoll verlegt werden. Zusätzlich natürlich normale Ethernet-Kabel für den normalen LAN-Verkehr. Mit Einführung von FCoE kann nun also über ein Kabel (vollduplex Ethernet) das Fibre-Channel Protokoll emuliert werden, um somit müssen keine extra Kabel mehr für das SAN verlegt werden.
Dies ist nur möglich, da die neuen Ethernet-Standards Übertragungsraten bis zu 40 Gigabit bieten.
Tags: Selbststudium Fragen
Quelle:
Quelle:
Welchen Einfluss werden ‚converged IT-infrastruktur' und ‚softwaredefinedstorage' haben?
Die beiden Trends Converged IT-Infrastruktur und softwaredefinedstorage werden dazu beitragen, dass es immer weniger kleine lokale Rechennetzwerke geben wird, sondern alles nach außen in die Hände eines Dienstleisters mit einem riesen, modernen Rechenzentrum gegeben wird. Das hat den großen Vorteil der Skalierbarkeit und Flexibilität – gerade in einem sich so schnell ändernden Markt.
Auch wird die eigentliche Hardware immer unwichtiger und der Trend geht hin zu offenen, softwaredefinierten Lösungen im Rechenzentrum.
Software-defined Storage ist also:
-Die Datenspeicherung, ihre Merkmale und die Verwaltung werden von der zugrunde liegenden Hardware abstrahiert: Software und Hardware existieren als getrennte Instanzen.
-Der physische Speicher wird als Pool-Hardware und Hypervisor-unabhängige Ressource behandelt. Das gilt für ein vorhandenes Storage Area Network (SAN) ebenso wie für Direct Attached Storage (DAS) und für serverseitigen Flash-Speicher.
-Softwaredefinierte Speichersysteme müssen über multiple Server und Speicher hinweg skalierbar sein, um Exabytes von Daten verarbeiten zu können.
Auch wird die eigentliche Hardware immer unwichtiger und der Trend geht hin zu offenen, softwaredefinierten Lösungen im Rechenzentrum.
Software-defined Storage ist also:
-Die Datenspeicherung, ihre Merkmale und die Verwaltung werden von der zugrunde liegenden Hardware abstrahiert: Software und Hardware existieren als getrennte Instanzen.
-Der physische Speicher wird als Pool-Hardware und Hypervisor-unabhängige Ressource behandelt. Das gilt für ein vorhandenes Storage Area Network (SAN) ebenso wie für Direct Attached Storage (DAS) und für serverseitigen Flash-Speicher.
-Softwaredefinierte Speichersysteme müssen über multiple Server und Speicher hinweg skalierbar sein, um Exabytes von Daten verarbeiten zu können.
Tags: Selbststudium Fragen
Quelle: http://www.tecchannel.de/storage/management/2045834/software_defined_storage_schafft_flexibilitaet/
Quelle: http://www.tecchannel.de/storage/management/2045834/software_defined_storage_schafft_flexibilitaet/
Kartensatzinfo:
Autor: learner94
Oberthema: Informatik
Thema: Betriebssysteme
Veröffentlicht: 26.08.2017