Betriebssysteme. Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik. Wintersemester 2016/17

Größe: px
Ab Seite anzeigen:

Download "Betriebssysteme. Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik. Wintersemester 2016/17"

Transkript

1 Betriebssysteme Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Wintersemester 2016/17

2 Inhalt Deadlocks (Verklemmungen) Einführung Definition und Voraussetzungen für Deadlocks Beschreibung von Deadlocks Strategien zur Deadlock-Behandlung Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung Speicherverwaltung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Not Frequently Used (NFU)

3 Inhalt Deadlocks (Verklemmungen) Einführung Definition und Voraussetzungen für Deadlocks Beschreibung von Deadlocks Strategien zur Deadlock-Behandlung Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung Speicherverwaltung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Not Frequently Used (NFU)

4 Einführung Deadlocks haben immer mit ununterbrechbaren Ressourcen zu tun. Benutzung einer Ressource besteht aus den folgenden abstrakten Teilschritten. Ressource reservieren Ressource benutzen Ressource freigeben Ressourcenverwaltung muss manchmal von den Prozessen selbst gemacht werden. Z.B. bei der Benutzung von gemeinsamen Datensätzen in großen Datenbanken. Eine Möglichkeit zur Ressourcenverwaltung durch Prozesse bieten Semaphore.

5 Beispiel 1 Eine Ressource durch einen Semaphor geschützt.

6 Beispiel 2 Zwei Ressourcen durch zwei Semaphore geschützt.

7 Beispiel 3 Zwei Prozesse, zwei Ressourcen durch zwei Semaphore geschützt.

8 Beispiel 3, Ablaufbeispiel Code ist Deadlockfrei.

9 Beispiel 4 Zwei Prozesse, zwei Ressourcen durch zwei Semaphore geschützt

10 Beispiel 4, Ablaufbeispiele Ablauf 1 Ablauf 2 Code ist nicht Deadlockfrei Wechselseitiges Warten auf die Freigabe der Ressource durch den anderen Prozess.

11 Inhalt Deadlocks (Verklemmungen) Einführung Definition und Voraussetzungen für Deadlocks Beschreibung von Deadlocks Strategien zur Deadlock-Behandlung Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung Speicherverwaltung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Not Frequently Used (NFU)

12 Definition Definition Eine Menge von Prozessen befindet sich in einem Deadlock-Zustand, wenn jeder Prozess aus der Menge auf ein Ereignis wartet, das nur ein anderer Prozess aus der Menge auslösen kann.

13 Voraussetzungen Nach Coffman, Elphick und Shoshani (1971) müssen für einen Deadlock folgende vier Voraussetzungen erfüllt sein. Wechselseitiger Ausschluss. Jede Ressource ist entweder verfügbar oder genau einem Prozess zugeordnet. Hold-and-wait Bedingung. Prozesse, die schon Ressourcen reserviert haben, können noch weitere Ressourcen anfordern. Ununterbrechbarkeit. Ressourcen, die einem Prozess bewilligt wurden, können diesem nicht gewaltsam wieder entzogen werden. Der Prozess muss sie explizit freigeben. Zyklische Wartebedingung. Es muss eine zyklische Kette von Prozessen geben, von denen jeder auf eine Ressource wartet, die dem nächsten Prozess in der Kette gehört.

14 Inhalt Deadlocks (Verklemmungen) Einführung Definition und Voraussetzungen für Deadlocks Beschreibung von Deadlocks Strategien zur Deadlock-Behandlung Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung Speicherverwaltung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Not Frequently Used (NFU)

15 Graphen Definition Ein Graph G = (V, E) ist ein Menge von Knoten V (vertex), die durch Kanten E (edge) verbunden sein können. Definition Ein Graph G = (V, E) ist ein gerichteten Graph oder Digraph (directed graph), wenn alle Kanten in E gerichtet sind. D.h. für alle e = (v, w) E ist e eine Kanten von v nach w. Definition Ein Graph G = (V, E) ist ein bipartiter Graph, wenn sich die Knotenmenge in zwei disjunkte Mengen U, W zerlegen läßt, sodass für alle Kanten (v 1, v 2 ) E gilt v 1 U, v 2 W oder v 1 W, v 2 U.

16 Belegungs-Anforderungs Graph Ein Belegungs-Anforderungs Graph ist ein gerichteter bipartiter Graph. Der Graph besteht aus zwei disjukten Knotenmengen, einer Menge von Prozessen P = {P 1,..., P n } und einer Menge von Betriebsmitteln (resources) R = {R 1,..., R m }, sowie gerichteten Kanten zwischen diesen Knotenmengen. Prozessknoten werden durch Kreise, Betriebsmittelknoten durch Quadrate dargestellt. Sind von einem Betriebsmittel mehrere Exemplare verhanden, wird jedes Exemplar durch einen Punkt im Betriebsmittelknoten dargestellt. Eine gerichtete Kante von einem Prozess P i zu einem Betriebsmittel R j beschreibt, dass der Prozess P i ein Exemplar der Betriebsmittels R j angefordert hat (request edge). Eine gerichtete Kante von einem Betriebsmittel R j zu einem Prozess P i beschreibt, dass ein Exemplar des Betriebsmittels R j dem Prozess P i zugewiesen ist (assignement edge).

17 Beispiel P 1 P 2 P 3 P 4 P 5 R 1 R 2 R 3 Prozesse P = {P 1,..., P 5 } Betriebsmittel R = {R 1,..., R 3 }, von Betriebsmittel R 3 gibt es zwei Exemplare. Prozess P 1 belegt Betriebsmittel R 1. Prozess P 2 belegt Betriebsmittel R 2 und eine Exemplar von Betriebsmittel R 3. Prozess P 3 fordert Betriebsmittel R 2 an. Prozess P 4 belegt eine Exemplar von Betriebsmittel R 3. Prozess P 5 fordert Betriebsmittel R 3 an.

18 Beispiel (a) Prozess A belegt Ressource R (b) Prozess B wartet auf Ressource S (c) Deadlock

19 Eigenschaften Enthält ein Belegungs-Anforderungs Graph keine Zyklen, dann existiert kein Deadlock. Enthält ein Belegungs-Anforderungs Graph einen Zyklus und existiert von jedem beteiligten Betriebsmittel nur genau ein Exemplar, dann existiert eine Deadlock (Zyklische Wartebedingung). Enthält ein Belegungs-Anforderungs Graph einen Zyklus und von den beteiligten Betriebsmitteln existieren mehrere Exemplare, so ist ein Deadlock möglich, aber nicht unbedingt auch eingetreten.

20 Beispiel R 1 R 1 P 1 P 2 P 1 P 2 R2 (a) R 2 P 3 (b) Zyklus P 1, R 1, P 2, R 2, P 1. (a) Deadlock. (b) Kein Deadlock. Prozess P 3 kann beendet werden, womit ein Exemplar von R 2 verfügbar wird und sich der Zyklus auflöst.

21 Entstehung von Deadlocks (1/2)

22 Entstehung von Deadlocks (2/2) Deadlockvermeidung durch andere Resourcenzuteilung.

23 Inhalt Deadlocks (Verklemmungen) Einführung Definition und Voraussetzungen für Deadlocks Beschreibung von Deadlocks Strategien zur Deadlock-Behandlung Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung Speicherverwaltung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Not Frequently Used (NFU)

24 Strategien zur Deadlock-Behandlung Strategien Problem ignorieren. Wenn man so tut, als ob das Problem nicht existiert, glaubt es das vielleicht auch. Erkennen und Beheben. Deadlocks zulassen, erkennen und etwas dagegen unternehmen. Dynamische Verhinderung durch vorsichtiges Ressourcenmanagement. Vermeidung, eine der vier notwendigen Bedingungen muss prinzipiell unerfüllbar werden.

25 Problem ignorieren Vogel-Strauss Algorithmus. Kann sinnvoll sein mit folgenden Annahmen. Deadlocks tretten selten auf. Die Verhinderung, Erkennung und/oder Beseitigung von Deadlocks verursacht hohe Kosten. Abwägung zwischen Korrektheit und Bequemlichkeit. Ansatz von UNIX und Windows!

26 Erkennen, eine Ressource pro Typ Beispiel Sieben Prozesse, A bis G. Sechs Ressourcen, R bis W. Situation (Schnappschuss) (a) A belegt R und verlangt S. (b) B belegt nichts, verlangt aber T. (c) C belegt nichts, verlangt aber S. (d) D belegt U und verlangt S und T. (e) E belegt T und verlangt V. (f) F belegt W und verlangt S. (g) G belegt V und verlangt U.

27 Belegungs-Anforderungs Graph (1/2)

28 Belegungs-Anforderungs Graph (2/2) Deadlock, weil Zyklus im Belegungs-Anforderungs Graph. Deadlock-Erkennung. Suchen von Zyklen im Belegungs-Anforderungs Graph. Aufwand mindestens O( Prozesse + Resourcen ) (z.b. rekursive Tiefensuche).

29 Erkennen, mehrere Ressourcen pro Typ Wiederholung Enthält ein Belegungs-Anforderungs Graph einen Zyklus und von den beteiligten Betriebsmitteln existieren mehrere Exemplare, so ist ein Deadlock möglich, aber nicht unbedingt auch eingetreten. R 1 P 1 P 2 R 2 P 3 Zyklus P 1, R 1, P 2, R 2, P 1. Kein Deadlock. Prozess P 3 kann beendet werden, womit ein Exemplar von R 2 verfügbar wird und sich der Zyklus auflöst. Erkennen von Deadlocks bei mehreren Ressourcen pro Typ ist viel aufwendiger und wird hier nicht behandelt.

30 Beheben von Deadlocks (1/2) Behebung durch Unterbrechung. Entziehen von Ressourcen und Zuteilung an blockierte Prozesse. Ob das möglich ist, hängt von der Art der Ressource ab. Behebung durch Rollback (teilweise Wiederholung). Prozess muss periodisch Zustände abspeichern (sogenannte Checkpoints). Checkpoints enthalten auch Informationen über die momentan belegten Ressourcen. Prozess, der einen Deadlock durch eine belegte Ressource verursacht, wird auf einen Checkpoint zurückgesetzt, in dem er die Ressource noch nicht benötigt hat.

31 Beheben von Deadlocks (2/2) Behebung durch Prozessabbruch. Einfachste und brutalste Methode zur Behebung von Deadlocks. Ein am Deadlock beteiligter Prozess wird gekillt, seine belegten Ressourcen freigegeben. Prozess wird danach neu gestartet. Auswahl des zu killenden Prozesses muss sorgfältig erfolgen um keine inkonsistenten Zustände zu erzeugen (z.b. der Prozess hat bereits globale Daten verändert und wird dann gekillt.)

32 Dynamische Deadlock-Verhinderung Ressourcenspur Achse A repräsentiert die Anweisungen (den Ablauf) von Prozess A Am Punkt l 1 fordert A den Drucker an und gibt ihn am Punkt l 3 wieder frei. Am Punkt l 2 fordert A den Drucker an und gibt ihn am Punkt l 4 wieder frei. Achse B repräsentiert die Anweisungen (den Ablauf) von Prozess B Am Punkt l 5 fordert A den Drucker an undf gibt ihn am Punkt l 7 wieder frei. Am Punkt l 6 fordert A den Drucker an undf gibt ihn am Punkt l 8 wieder frei. Die schraffierten Bereiche können bei der Prozessausführung nicht erreicht werden, weil dort mindestens eine Ressource an beide Prozesse vergeben ist.

33 Beispiel Der im Diagramm dargestellte Ablauf. Bei Prozesse beginnen um Ursprung p. Prozess A läuft bis Punkt q. Prozesswechsel Prozess B läuft bis Punkt r (die Projektion von r auf die B-Achse). Prozesswechsel Prozess A läuft bis Punkt l 1 fordert den Drucken an und läuft weiter bis Punkt s. Prozesswechsel Prozess B läuft bis Punkt l 5 (t) und fordert den Plotter an. Deadlock, weil vom Punkt t kein nicht schraffierter Bereich erreicht werden kann. Denn beide Prozesse werden entlang der Achsen ausgeführt, d.h. die Spur kann sich nur nach rechts und/oder oben fortsetzen.

34 Sicherer/Unsicherer Zustand Definition (Sicherer Zustand) Ein Zustand heißt sicher, wenn kein Deadlock vorliegt, und es eine Scheduling-Reihenfolge gibt, die nicht zum Deadlock führt, selbst wenn die Prozesse sofort alle noch benötigten Ressourcen anfordern, sobald sie rechnen. Definition (Unsicherer Zustand) Ein Zustand heißt unsicher, wenn kein Deadlock vorliegt, und es keine Scheduling-Reihenfolge gibt, die nicht zum Deadlock führt, wenn die Prozesse sofort alle noch benötigten Ressourcen anfordern, sobald sie rechnen.

35 Algorithmus (1/2) Algorithmus benutzt als Datenstrukturen Vektoren und Matrizen. Datenstrukturen Ressourcenvektor E = (E 1, E 2,..., E m ) Belegungsmatrix C 1,1 C 1,2... C 1,m C 2,1 C 2,2... C 2,m C = C n,1 C n,2... C n,m Zeile C i = (C i,1,..., C i,m ) gibt die Belegung für Prozess i an. Ressourcenrestvektor A = (A 1, A 2,..., A m ) Anforderungsmatrix R 1,1 R 1,2... R 1,m R 2,1 R 2,2... R 2,m R = R n,1 R n,2... R n,m Zeile R i = (R i,1,..., R i,m ) zeigt, was Prozess i noch benötigt.

36 Algorithmus (2/2) Vorbedingungen Zeilen können gestrichen werden. Zeilen und Vektoren werden verglichen, indem die Komponenten verglichen werden. Z.B. R i A, wenn R i,j A j für j = 1,... m. Zeilen und Vektoren werden addiert, indem die Komponenten addiert werden. Z.B. A = A + C i heißt A j = (A j + C i,j ) für j = 1,... m. Algorithmus 1 Suche eine nicht gestrichene Zeile R i (Anforderungsmatrix) die kleiner oder gleich A (Ressourcenrestvektor) ist. 2 Wenn es so eine Zeile gibt, addiere die Zeile C i (Belegungsmatrix) zu A (Ressourcenrestvektor). Streiche die Zeilen R i und C i und gehe zu Schritt 1. Anschaulich. Man tut so, als wenn der Prozess ordnungsgemäß ausgeführt wird, weil alle seine Ressourcenanforderungen erfüllt werden können und dann seine bis jetzt belegten Ressourcen wieder frei gibt. D.h. der Prozess, der zu dieser Zeile gehört, kann ordnungsgemäß ablaufen. 3 Andernfalls beende den Algorithmus.

37 Beispiel Ressourcenvektor E = (4, 2, 3, 1) Belegungsmatrix C = Ressourcenrestvektor A = (2, 1, 0, 0) Anforderungsmatrix R =

38 Beispiel, Ablauf Schritt 1. Anforderungen von Prozess 3 können erfüllt werden, Zeile R 3 A. Schritt 2. Zeile 3 in C und R streichen, A + C 3 = (2, 2, 2, 0). Schritt 1. Anforderungen von Prozess 2 können erfüllt werden, Zeile R 2 A. Schritt 2. Zeile 2 in C und R streichen, A + C 2 = (4, 2, 2, 1). Schritt 1. Anforderungen von Prozess 1 können erfüllt werden, Zeile R 1 A. Schritt 2. Zeile 1 in C und R streichen, A + C 1 = (4, 2, 3, 1) = E. Schritt 3. Algorithmus terminiert, alle Zeilen sind gestrichen. Auswertung Deadlock vermeidbar. Es gibt einen Schedule, der nicht zum Deadlock führt, wobei die Prozesse ihre maximale Anzahl an Ressourcen anfordern, sobald sie rechnen,

39 Beispiel, modifiziert Ressourcenvektor E = (4, 2, 3, 1) Belegungsmatrix C = Ressourcenrestvektor A = (1, 1, 0, 0) Anforderungsmatrix R = Prozess 2 hat eine Ressource vom Type A 1 mehr belegt. Schritt 1. Es wird keine passende Zeile gefunden. Schritt 3. Algorithmus terminiert sofort, keine Zeile ist gestrichen. Auswertung Deadlock unvermeidbar. Es gibt keinen Schedule, der nicht zum Deadlock führt, obwohl noch kein Deadlock vorliegt.

40 Ergebnis Sicherer Zustand Es gibt einen Schedule, der nicht zum Deadlock führt, selbst wenn die Prozesse sofort alle noch benötigten Ressourcen anfordern, sobald sie rechnen. Ressourcenvektor E = (4, 2, 3, 1) Ressourcenrestvektor A = (2, 1, 0, 0) Unsicherer Zustand Belegungsmatrix C = Anforderungsmatrix R = Kein Deadlock, aber es gibt keinen Schedule, der nicht zum Deadlock führt, wenn die Prozesse sofort alle noch benötigten Ressourcen anfordern, sobald sie rechnen. Ressourcenvektor E = (4, 2, 3, 1) Ressourcenrestvektor A = (1, 1, 0, 0) Belegungsmatrix C = Anforderungsmatrix R =

41 Statische Deadlock-Verhinderung Angriff auf die 4 Bedingungen für das Auftreten von Deadlocks. Wechselseitiger Ausschluss. Jede Ressource ist entweder verfügbar oder genau einem Prozess zugeordnet. Hold-and-wait Bedingung. Prozesse, die schon Ressourcen reserviert haben, können noch weitere Ressourcen anfordern. Ununterbrechbarkeit. Ressourcen, die einem Prozess bewilligt wurden, können diesem nicht gewaltsam wieder entzogen werden. Der Prozess muss sie explizit freigeben. Zyklische Wartebedingung. Es muss eine zyklische Kette von Prozessen geben, von denen jeder auf eine Ressource wartet, die dem nächsten Prozess in der Kette gehört.

42 Angriff auf hold-and-wait Bedingung Verhindern, das Prozesse auf Ressourcen warten, während sie andere Ressourcen belegen. Möglichkeit. Prozesse fordern ihre benötigten Ressourcen im voraus an. Wenn alle benötigten Ressourcen frei sind, werden sie dem Prozess zugeteilt. Problem, die meisten Prozesse wissen nicht im voraus, welche Ressourcen sie benötigen. Für Batch-Aufträge in Großrechnern manchmal anwendbar. Variation. Vor einer Anforderung muss ein Prozess alle seine Ressourcen kurzfristig freigeben und sie dann auf einmal wieder reservieren.

43 Angriff auf die Ununterbrechbarkeit Keine Option! Man bedenke die Unterbrechung eines Druckauftrags. Hälfte einer Seite ist gedruckt dann wird der Drucker entzogen und jetzt???

44 Angriff auf die zyklische Wartebedingung Verhindern, dass sich eine zyklische Kette von wechselseitig abhängigen Prozessen bildet. Möglichkeit Die Betriebsmittel werden durchnummeriert und ein Prozess darf seine Betriebsmittel nur in einer bestimmten (z.b. aufsteigender) Reihenfolge anfordern. Bekommt der Prozess ein angefordertes Betriebsmittel nicht, wartet er bis es frei wird und fordert solange keine weiteren Betriebsmittel an. Durch diese Regel bleibt der Belegungs-Anforderungs Graph immer zyklenfrei. Problem. Oft ist es problematisch eine vernünftige Reihenfolge festzulegen.

45 Beispiel Betriebsmittel werden in aufsteigender Reihenfolge der Indizes angefordert. R 1 R 1 P 2 R 2 P 1 P 2 P 1 R 2 R m P n R m 1 (a) (b) (a) Kleinster Zyklus. (b) Beliebiger Zyklus. Prozess P1 hat erst R m belegt und dann R 1 angefordert. Verstoß gegen die Reihenfolge. Prozess P1 hat erst R 1 angefordert und dann R m belegt. Verstoß gegen die Wartebedingung.

46 Speicherverwaltung Einführung Monoprogrammierung Multiprogrammierung Logische/Physikalische Adresse Swapping Virtueller Speicher Memory Management Unit (MMU) Seitenersetzung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Inhalt Deadlocks (Verklemmungen) Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung

47 Speicherverwaltung Einführung Monoprogrammierung Multiprogrammierung Logische/Physikalische Adresse Swapping Virtueller Speicher Memory Management Unit (MMU) Seitenersetzung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Inhalt Deadlocks (Verklemmungen) Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung

48 Speicherorganisation

49 Speicherverwaltung Einführung Monoprogrammierung Multiprogrammierung Logische/Physikalische Adresse Swapping Virtueller Speicher Memory Management Unit (MMU) Seitenersetzung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Inhalt Deadlocks (Verklemmungen) Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung

50 Monoprogrammierung (1/2) Monoprogrammierung ist die einfachste Speicherverwaltungsstrategie. Nur ein Prozess läuft, der Speicher wird zwischen Prozess und Betriebssystem aufgeteilt. Verschiedene Möglichkeiten für die Lage des Betriebssystems im Speicher. 1 Nur im RAM (Random Access Memory). Beispiel. Frühe Mainframes und Mircocomputer. 2 Nur im ROM (Read Only Memory). Beispiel. Einige Palmtops und eingebettete Systeme. 3 Teil im ROM (Basic Input Output System, BIOS), Teil im RAM. Beispiel. MS-DOS. Ein Prozess im freien RAM. Programme werden für vorgesehene feste Speicherstellen übersetzt (bei absoluten Adressierungsarten). Häufig kein Speicherschutz. Prozess kann Teile des Betriebssystems überschreiben und das Betriebssystem dadurch zum Absturz bringen.

51 Monoprogrammierung (2/2) 0XFFF... Betriebssystem im ROM Gerätetrieber im ROM Adressraum Benutzerprozess Benutzerprozess Benutzerprozess 0 Betriebssystem im RAM Betriebssystem im RAM (1) (2) (3)

52 Speicherverwaltung Einführung Monoprogrammierung Multiprogrammierung Logische/Physikalische Adresse Swapping Virtueller Speicher Memory Management Unit (MMU) Seitenersetzung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Inhalt Deadlocks (Verklemmungen) Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung

53 Multiprogrammierung Bei (einfachem) Multiprogrammierung werden mehrere Prozesse vollständig im Hauptspeicher gehalten. Der Hauptspeichers wird in feste Partitionen aufgeteilt. gleicher Größe unterschiedlicher Größen

54 Feste Partitionen Feste Partitionen gleicher Größe. Feste Partitionen unterschiedlicher Größen. Die Partitionen haben feste Größe, deshalb ist der ungenutzte Speicherplatz (Verschnitt) verloren, solange der, die Partition benutzende, Prozess aktiv ist.

55 Speicherverwaltung Einführung Monoprogrammierung Multiprogrammierung Logische/Physikalische Adresse Swapping Virtueller Speicher Memory Management Unit (MMU) Seitenersetzung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Inhalt Deadlocks (Verklemmungen) Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung

56 Speicherabbildung Eine programmierbare Hardwarekomponenten ermöglicht die Abbildung von logischen auf physikalische Adressen. Logische Adresse. Adresse die ein Prozess, bzw. dessen Maschinensprachecode, benutzt. Physikalische Adresse. Tatsächliche Adresse im Speicher. Damit entfällt die Notwendigkeit Programme für feste Adressen zu übersetzen und es ist auch keine feste Partitionierung des Speichers mehr nötig.

57 Adressraum Der Adressraums (adress space) ist eine naheliegende Speicherabstraktion, wenn Speicherabbildung möglich ist. Ein Adressraum ist eine Menge von Adressen, die ein Prozess zur Adressierung des Speichers nutzen kann. Physikalisch ist der Adressraum, im einfachsten Fall, ein zusammenhängender Speicherbereich fester Größe. Logisch (aus Sicht des Prozesses) ist der Adressraum der ganze zur Verfügung stehende Speicher, der in der Regel mit der Adresse 0 beginnt. Die Endadresse ist abhängig von der Größe des zugeteilen Speicherbereichs.

58 Speicher Adressraum Adressraum Prozess Pj Prozess Pi Logische Adresse Speicherabbildung Programmierbare Hardware Physikalische Adresse

59 Dynamische Relokation Der Prozessor hat zwei zusätzliche Register, das Basisregister (base) und das Limitregister (limit). Diese Register gehören zum Kontext des Prozesses. Beim Erzeugen eines Prozesses wird die dem Prozess zugeteilte physikalische Anfangsadresse in das Basisregister und die Größe des Speicherbereichs in das Limitregister geladen. Wenn ein Prozess Speicher referenziert, um eine Befehl zu holen, einen Datenwort zu lesen oder zu schreiben, etc. werden automatisch Limit- und Basisregister benutzt. Schutz. Für jede Adresse wird geprüft ob der Wert kleiner oder gleich dem Wert im Limitregister ist, wenn nicht wird der Zugriff verweigert. Speicherabbildung (Relokation). Zu jeder Adresse wird automatisch den Wert im Basisregister addiert und die berechnete Adresse wird auf den Adressbus geschrieben. Bemerkung Dynamische Relokation wurde noch im Intel 8088 eingesetzt.

60 Beispiel UNIX Jeder Prozesse hat eigenen Adressraum, d.h. einen eigenen logischen Adressbereich. Bei jedem Kontextwechsel wird die Speicherabbildung (logischen auf physikalischen Adressbereich) für den aktuell laufenden Prozess eingestellt. Jedes Programm wird für einen gleichen/ähnlichen Adressraum kompiliert. Fremder Speicher ist gar nicht sichtbar.

61 Speicherverwaltung Einführung Monoprogrammierung Multiprogrammierung Logische/Physikalische Adresse Swapping Virtueller Speicher Memory Management Unit (MMU) Seitenersetzung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Inhalt Deadlocks (Verklemmungen) Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung

62 Swapping, Prinzip Swapping Auslagern von (blockierten) Prozessen auf die Festplatte. Einlagern eines wartenden Prozesses. Jeweils vollständiger Prozess als Ganzes! Keine spezielle Hardware notwendig. Der Scheduler hat Überblick über wartende und blockierte Prozesse und kann Ein-/Auslagerung veranlassen. Ineffizient. Vollständiges Einlagern, obwohl bis zum nächsten Auslagern i.d.r. nur ein Teilbereich des Prozesses durchlaufen wird. Konsequenz. Reines Swapping wird heutzutage nur noch selten genutzt.

63 Swapping, Beispiel 1 Speicherzuteilung (physikalischer Adressbereich) für einzelne Prozesse ändert sich bei der Ein- und Auslagerung (freier Speicher = schraffierte Bereiche).

64 Swapping, Beispiel 2 M2, M4 werden freigegeben, wo M5, M6 platzieren? Fazit. Eine Freispeicherverwaltung ist notwendig.

65 Fragmentierung Anforderung hat nur selten genau die Größe eines freien Speicherbereichs. Nach einiger Zeit entstehen viele kleine Löcher im Speicher. (Externe) Fragmentierung. Bezeichnet ungenutzten Speicher außerhalb des Adressraums der Prozesses. Z.B. bei variablen Partitionen: Summe der Löcher könnte dann z.b. ausreichen, um eine Speicheranforderung zu erfüllen, da Speicher aber zusammen-hängend benötigt wird, können Löcher nicht genutzt werden. Freispeicherverwaltungsstrategien sollten Fragmentierung gering halten.

66 Freispeicherverwaltung (1/2) Freispeicherverwaltung mit Bitmaps oder verketteten Listen.

67 Freispeicherverwaltung (2/2) Freispeicherverwaltung mit Bitmaps. Einfacher Mechanismus. Bitmap muss komplett geladen und durchsucht werden, wenn ein Speicherbereich einer bestimmten Größe gesucht wird. Freispeicherverwaltung mit Listen. Verwaltung und Suche sind einfacher (einfache Listenoperationen).

68 Speicherbelegungsstrategien First Fit. Der erste ausreichend große freie Speicherbereich wird belegt. Next Fit. Wie First Fit, aber Suche beginnt an der Stelle, wo zuletzt ein passendes Speicherbereich gefunden wurde. (D.h. wenn beim letzten Mal das Loch nicht vollständig geschlossen, sondern lediglich verkleinert wurde, wird bei diesem Loch gestartet.) Best Fit. Es wird der kleinste freie Speicherbereich belegt, der die Anforderung noch erfüllen kann. Worst Fit. Es wird der größte freie Speicherbereich belegt. Quick Fit. Algorithmus hält Listen von Löchern mit gebräuchlichen Größen. Findet Löcher gebräuchlicher Größe sehr schnell, hat jedoch die gleichen Nachteile wie alle Algorithmen, die nach Lochgröße sortieren. Bewertung. Best Fit und Worst Fit sind in der Praxis schlechter als First Fit und Next Fit.

69 Speicherverwaltung Einführung Monoprogrammierung Multiprogrammierung Logische/Physikalische Adresse Swapping Virtueller Speicher Memory Management Unit (MMU) Seitenersetzung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Inhalt Deadlocks (Verklemmungen) Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung

70 Virtueller Speicher Probleme Swapping lagert den vollständige Adressraum eines Prozess in den Speicher ein, obwohl bis zum nächsten Auslagern in der Regel nur ein Teilbereich benötigt wird. Adressraum eines Prozesses kann größer sein als der verfügbare Speicher. Lösungen Overlays, manuelle (= historische) Lösung. Der Programmierer zerlegt das Programm in Teile (overlays). Wenn ein Teil fertig ist, ruft es das nächste auf, dadurch entstehen kleine Prozesse, die dynamisch ein- und ausgelagert werden. Virtueller Speicher, automatische Lösung. Nimmt dem Programmierer das Aufteilens des Programms in einzelne Teile ab. Programme benutzen virtuelle Adressblöcke, die auf physikalische Adressblöcke abgebildet werden. Die am häufigsten verwendete Technik für virtuellen Speicher ist Paging.

71 Speicherverwaltung Einführung Monoprogrammierung Multiprogrammierung Logische/Physikalische Adresse Swapping Virtueller Speicher Memory Management Unit (MMU) Seitenersetzung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Inhalt Deadlocks (Verklemmungen) Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung

72 Memory Management Unit (MMU) Eine programmierbare Memory Management Unit (MMU) ist zwischen Adressbus und Speicher geschaltet. Die MMU bildet logische auf physikalische Adressen ab, indem die virtuelle auf physikalische Adressblöcke abbildet.

73 Prinzip Abbildung einer logischen (A L ) auf eine physikalische Adresse (A P ) durch eine MMU. Der logische Adressbereich und der physikalische Speicher werden in virtuellen Adressblöcke gleicher Größe unterteilt. Ein virtueller Adressblöcke im logischen Adressbereich wird als Seite (page) und im physikalischen Speicher als Rahmen (frame) bezeichnet. Die Zuordnung von Seiten zu Rahmen erfolgt durch eine Seitentabelle.

74 Innenleben einer MMU

75 Paging Ein-/Auslagern einzelner Seiten (pages) aus dem Hintergrundspeicher (Festplatte) in Rahmen (frames) im Hauptspeicher, unabhängig von der Prozesszugehörigkeit. Einlagern in einen Rahmen erst, wenn auf eine Adresse in der ausgelagten Seite zugegriffen werden soll. Löst Seitenfehler (page fault) aus. Auslagern aus einem Rahmen erst, wenn Hauptspeicher für eine neue oder einzulagernde Seite benötigt wird.

76 Beispiel Rechner mit 16 Bit-Adressen, d.h. maximal 64KB adressierbar. Rechner ist jedoch nur mit 32KB Speicher ausgebaut. Nur einzelne Seiten des virtuellen Adressraums werden in Rahmen im physikalischen Speicher gehalten.

77 Seitentabelleneintrag Heutige MMUs erlauben Seitengrößen von 256B bis 16MB. Aufbau eines Seitentabelleneintrags (bei 32 Bit Adressraum und 256 Byte Seitengröße) Zugriffszeit verdoppelt sich durch Zugriff auf Seitentabelle: 1 Zugriff auf Seitentabelle im RAM, 2 Zugriff auf eigentliche Speicheradresse. Lösung. Ein Translation Lookaside Buffer (Seitentabellen-Cache) in MMU.

78 Beispiel Beispiel. Größe der Seitentabelle 4KB Seitengröße, 32 Bit logischer Adressraum. Seitentabelle umfasst 2 32 /2 12 = Million Seiten/Einträge. Pro Seitentabelleneintrag 4 Byte, d.h. 4 MB für die Seitentabelle. Derart große Seitentabellen können nicht vollständig in der MMU gecached werden. Der logischer Adressraum wird jedoch selten vollständig genutzt, sondern enthält viele ungenutzte Bereiche, für deren Seiten allesamt das Valid-Bit auf invalid gesetzt ist. Mehrstufige Seitentabellen realisieren das Zusammenfassen von Seitentabellenabschnitten.

79 Mehrstufige Seitentabellen Seiten werden zu Blöcken zusammengefasst. Bis 4-stufige Seitentabellen werden in MMUs implementiert. Befindet sich ein Seitentabelleneintrag nicht im Translation Lookaside Buffer, erhöht sich die Speicherzugriffszeit, um die Anzahl der Stufen, die durchlaufen werden müssen. Translation Lookaside Buffer lohnt sich wegen der Lokalität der Zugriffe.

80 Speicherverwaltung Einführung Monoprogrammierung Multiprogrammierung Logische/Physikalische Adresse Swapping Virtueller Speicher Memory Management Unit (MMU) Seitenersetzung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Inhalt Deadlocks (Verklemmungen) Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung

81 Seitenersetzung Beim Zugriff auf eine Seite, die nicht im Hauptspeicher ist tritt ein Seitenfehler (page fault) auf, der vom Betriebssystem behandelt wird. Fall 1 Im Hauptspeicher ist ein freier Rahmen vorhanden. Fall 2 Die benötigte Seite wird in den freien Rahmen einlagert. Die Seitentabelle wird aktualisiert. Alle Rahmen im Hauptspeicher sind belegt. Es wird ein Rahmen zur Ersetzung ausgesucht. Wurde der Inhalt des ausgesuchte Rahmen geändert (modified bit), wird er ausgelagt. Die angeforderte Seite wird in den ausgesuchten Rahmen einlagert. Die Seitentabelle wird aktualisiert.

82 Seitenersetzungsstrategien Welche Rahmen ersetzen? Seitenersetzungsstrategien sind nötig, die mit möglichst wenig Ersetzungen (Festplattenzugriffen) auskommen. Ähnliche Probleme existieren auch in anderen Bereichen der Informatik. Aktualisierung von Cache-Speichern. Caching von WWW-Seiten von Web-Servern. Seitenersetzungstrategien lassen sich daher auf verschiedene Probleme übertragen

83 Optimale Seitenersetzung Die Optimale Seitenersetzung ersetzt die Seite, die in Zukunft am längsten nicht benutzt wird. Diese Strategie kommt mit den wenigsten Ersetzungen (= Seitenfehlern) aus. Optimale Seitenersetzung ist nicht implementierbar, da man in die Zukunft schauen muss. Aber ein guter Maßstab zum Vergleich von anderen Strategien. Vergleich funktioniert nur mit genau einem Programm mit vorgegebenen Eingabedaten.

84 Optimale Seitenersetzung, Beispiel

85 Fist in, First out (FIFO) First-In, First-Out verdrängt immer die älteste Seite. Vorteil. Einfache Implementierung durch FIFO- Warteschlange (Länge = Anzahl Rahmen). Seite an Spitze der Warteschlange wird verdrängt. Nachteil. Die älteste Seite kann diejenige sein, die am häufigsten benötigt wird.

86 FIFO, Beispiel Optimal FIFO

87 Not Recently Used (NRU) Bei NRU werden Seiten gewichtet, danach ob sie verändert, gelesen oder nicht benutzt wurden (referenced/modified bit). Verfahren Wenn Seite ersetzt werden soll, klassifiziere Seiten 1 nicht referenziert, nicht modifiziert 2 nicht referenziert, modifiziert 3 referenziert, nicht modifiziert 4 referenziert, modifiziert. Verdränge zufällig eine Seite aus der kleinsten nicht-leeren Klasse. Bemerkung Das referenced bit wird periodisches durch Timerunterbrechungen gelöscht. Das modified bit darf nicht gelöscht werden, da es benötigt wird, um zu Entscheiden, ob eine Seite vor der Ersetzung auf Platte geschrieben werden muss.

88 Second Chance Second Chance ist eine Variante von FIFO um zu verhindern, das häufig benutzte Seiten ausgelagert werden. Verfahren überprüft das referenced bit der ältesten Seite. Referenced bit nicht gesetzt, dann wird die Seite ausgelagert (Seite alt und unbenutzt). Referenced bit gesetzt, dann wird es zurückgesetzt und die Seite wird an den Anfang der FIFO-Liste eingefügt (Seite wird wie neu eingelagert behandelt). Algorithmus degeneriert zu FIFO, wenn die referenced bits für alle Seiten gesetzt sind, terminiert aber, da schrittweise alle referenced bits auf 0 gesetzt werden, bis wieder die zuerst betrachtete Seite am Ende der Liste steht und dann ausgelagert wird.

89 Clock-Algorithmus Der Clock-Algorithmus unterscheidet sich nur in der Implementierung von Second Chance. Verfahren Tritt ein Seitenfehler auf wird die Seite am Zeiger untersucht Wurde die Seite benutzt (referenced bit), wird der Status der Seite auf unbenutzt gesetzt, der Zeiger weiterbewegt und die nächste Seite wird untersucht. Wurde die Seite verändert (modified bit), bleibt dieser Status erhalten. Wurde die Seite (seit dem letzten Durchlauf) nicht benutzt wird dieser Rahmen für die einzulagernde Seite benutzt. Anhängig vom modified bit wird die Seite ausgelagert oder einfach überschrieben.

90 Least Recently Used (LRU) LRU ist eine gute Annäherung an Optimal. Annahme Seiten, die zuletzt häufig benutzt wurden, werden auch in Zukunft häufig benutzt. (Lokalitätsprinzip). Verfahren Bei einem Seitenfehler wird die Seite entfernt, die am längsten unbenutzt ist. Problem Die Implementierung ist schwierig und ineffizient, da die Liste der Seiten nach Zugriffszeitpunkt sortiert und die ganze Liste nach jedem Speicherzugriff aktualisiert werden muss.

91 LRU, Beispiel Optimal FIFO LRU

92 Not Frequently Used (NFU) NFU ist eine effiziente (Software-) Annäherung an LRU. Jeder Seite bekommt einen Zähler. Zähle periodisch (z.b. durch Timerunterbrechungen oder bei Kontextwechsel) Zugriffe für jede Seite, indem der Inhalt des jeweiligen referenced bits auf dessen Zähler addiert wird. Setze referenced bits anschließend zurück. Verdränge Seite mit niedrigstem Zählerstand. Problem Zeitliche Änderungen des Zugriffsmusters werden schlecht berücksichtigt, da Zähler nicht altern. Aging NFU, stärkere Gewichtung des aktuellen referenced-bit bei jeder Periode. Dividiere Zähler durch 2. Ersetze höchstwertigstes Bit des Zählers (=0) durch das aktuelle referenced-bit.

93 Aging NFU, Beispiel Referenced-Bits r 0... r 5 Zähler Periode 1 Periode 2 Periode 3 Periode 4 Periode Seite Periode 1 Periode 2 Periode 3 Periode 4 Periode

94 Speicherverwaltung Einführung Monoprogrammierung Multiprogrammierung Logische/Physikalische Adresse Swapping Virtueller Speicher Memory Management Unit (MMU) Seitenersetzung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Inhalt Deadlocks (Verklemmungen) Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung

95 Einführung Bisherige Betrachtung Eindimensionaler Adressraum, in dem alle Programmtext, Daten, Stack im selben Adressraum abgelegt werden. Problem Was passiert, wenn die Daten, z.b. Tabellen, nach dem Anlegen und der fortschreitenden Übersetzung eines Programms zu groß werden und in einen anderen Bereich hineinwachsen? Lösung Keinen eindimensionalen Adressraum benutzen, denn dann können die Probleme nur durch Modifikationen am Compiler gelöst werde und dass sollte man vermeiden.

96 Segmentierung Durch Segmentierung des Adressraums werden jedem Programm mehrere Adressräume (Segmente) zur Verfügung gestellt, die es für die jeweils für eine Klasse von Informationen (Progammtext, Daten, Stack, etc.) verwenden werden. Eine Adresse besteht dann aus Segment-Nummer und Adresse.

97 Vorteile Vorteile Segmente können wachsen, Management durch das Betriebssystem. Der Zugriff auf Informationen wird wegen der jeweiligen Startadresse 0x00 stark vereinfacht Speicherschutz kann leicht realisiert werden.

98 Segmentierung und Paging Segmentierung und Paging können gleichzeitig eingesetzt werden, um die Vorteile beider Ansätze zu kombinieren. Zum Beispiel wird es sinnvoll sein, Segmente aufzuteilen, wenn sie nicht komplett in den Hauptspeicher passen. Moderne Prozessorfamilien unterstützen meist beide Modelle, um für beliebige Betriebssysteme offen zu sein. Beispiel Ein Pentium besitzt insgesamt Segmente, wobei jedes bis zu Bit-Worte speichern kann. Diese Segmentgröße ist relativ groß.

99 Speicherverwaltung Einführung Monoprogrammierung Multiprogrammierung Logische/Physikalische Adresse Swapping Virtueller Speicher Memory Management Unit (MMU) Seitenersetzung Optimale Seitenersetzung Fist in, First out (FIFO) Not Recently Used (NRU) Second Chance Clock-Algorithmus Least Recently Used (LRU) Inhalt Deadlocks (Verklemmungen) Problem ignorieren Erkennen und Beheben Dynamische Deadlock-Verhinderung Statische Deadlock-Verhinderung

100 Abschlussbemerkungen In der Vorlesung nicht behandelt Analyse von Seitenersetzungsstrategien, Konkrete Implementierungsbeispiele. Informationen dazu finden Sie in der einschlägigen Literatur (siehe Literaturliste).

Betriebssysteme. Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik. Wintersemester 2016/17

Betriebssysteme. Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik. Wintersemester 2016/17 Betriebssysteme Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Wintersemester 2016/17 Inhalt Speicherverwaltung Einführung Monoprogrammierung Multiprogrammierung Logische/Physikalische

Mehr

2.3 Prozessverwaltung

2.3 Prozessverwaltung Realisierung eines Semaphors: Einem Semaphor liegt genau genommen die Datenstruktur Tupel zugrunde Speziell speichert ein Semaphor zwei Informationen: Der Wert des Semaphors (0 oder 1 bei einem binären

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Systeme I: Betriebssysteme Kapitel 6 Deadlocks. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 6 Deadlocks. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 6 Deadlocks Wolfram Burgard Version 13.12.2017 1 Inhalt Vorlesung Verschiedene Komponenten / Konzepte von Betriebssystemen Dateisysteme Prozesse Nebenläufigkeit und wechselseitiger

Mehr

Teil 2: Speicherstrukturen

Teil 2: Speicherstrukturen Inhalt Teil 2: Speicherstrukturen Hauptspeicher Cache Assoziativspeicher Speicherverwaltungseinheit ( Memory Management Unit ) 1 Virtueller Speicher Trennung von virtuellem Adreßraum (mit virtuellen Adressen)

Mehr

Wunschvorstellung der Entwickler vom Speicher

Wunschvorstellung der Entwickler vom Speicher Wunschvorstellung der Entwickler vom Speicher Unendlich groß Unendlich schnell Nicht flüchtig billig Obwohl sich der verfügbare Speicher laufend erhöht, wird immer mehr Speicher benötigt, als verfügbar

Mehr

Übung Praktische Informatik II

Übung Praktische Informatik II Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 22.05.09 11-1 Heutige große Übung Ankündigung

Mehr

Virtueller Speicher und Memory Management

Virtueller Speicher und Memory Management Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write

Mehr

Speicherverwaltung (Swapping und Paging)

Speicherverwaltung (Swapping und Paging) Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente

Mehr

Virtueller Speicher WS 2011/2012. M. Esponda-Argüero

Virtueller Speicher WS 2011/2012. M. Esponda-Argüero Virtueller Speicher WS / Virtuelle Speicher Bis jetzt sind wir davon ausgegangen, dass Prozesse komplett im Hauptspeicher gelagert werden. Speicherreferenzen sind nur logische Adressen, die dynamisch in

Mehr

Technische Realisierung (1)

Technische Realisierung (1) Technische Realisierung () Einfachstes Modell: Prozess (Daten+Code) befindet sich im Hintergrundspeicher Bei teilweise eingelagerten Prozessen: Zusätzlich Teile im Hauptspeicher Logische Adressen überdecken

Mehr

Übung zu Einführung in die Informatik # 10

Übung zu Einführung in die Informatik # 10 Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. Einfaches Paging. Paging mit virtuellem Speicher Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz

Mehr

Betriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14

Betriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14 BS-S Betriebssysteme SS 2015 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz S: Speicherverwaltung v1.0, 2015/04/14 Betriebssysteme, SS 2015 Hans-Georg Eßer Folie S-1 Übersicht: BS Praxis und BS

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2016/2017 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 2. Februar 2017 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 11.01.2017 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Freispeicherverwaltung Martin Wahl,

Freispeicherverwaltung Martin Wahl, Freispeicherverwaltung Martin Wahl, 17.11.03 Allgemeines zur Speicherverwaltung Der physikalische Speicher wird in zwei Teile unterteilt: -Teil für den Kernel -Dynamischer Speicher Die Verwaltung des dynamischen

Mehr

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden?

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden? Sommersemester 009 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 05 Abgabe am 0.07.009 (Kästen D) Aufgabe : Speicherzuteilung (6++=8 Punkte) Es sei der

Mehr

Übung zu Grundlagen der Betriebssysteme. 11. Übung

Übung zu Grundlagen der Betriebssysteme. 11. Übung Übung zu Grundlagen der Betriebssysteme 11. Übung 08.01.2012 Organisation Anmeldung zur Klausur Klausur Grundlagen der Betriebssysteme Datum: 05.02.2013 Raum F414 (steht aber noch nicht sicher fest) Anmeldung

Mehr

Deadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File

Deadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File Kapitel V Deadlocks (Verklemmungen) 1 Deadlocks System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File Prozesse benötigen Genehmigung vor der Benutzung von Ressourcen.

Mehr

Konzepte von Betriebssystem- Komponenten Olessia Usik 20. Juni 2005

Konzepte von Betriebssystem- Komponenten Olessia Usik 20. Juni 2005 Konzepte von Betriebssystem- Komponenten Olessia Usik olessia@freenet.de 20. Juni 2005 1 GROß 2 SCHNELL UNENDLICH Gliederung 1. Einleitung 2. Swapping 3. Virtuelle Speicherverwaltung 3.1 Segmentorientierter

Mehr

4. Übung - Rechnerarchitektur/Betriebssysteme

4. Übung - Rechnerarchitektur/Betriebssysteme 4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil

Mehr

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann Speicher- und Cacheverwaltung unter Linux Ralf Petring & Guido Schaumann Übersicht Virtueller Adressraum Virtuelle Speicheraufteilung Reale Speicheraufteilung Speicherverwaltung Speicherzugriff Auslagerungsstrategien

Mehr

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2013/2014 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 19. Dezember 2013 Betriebssysteme / verteilte Systeme

Mehr

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Konzepte von Betriebssystemkomponenten Referat am 24.11.2003 Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Gliederung Adressräume Page Faults Demand Paging Copy

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 13.01.2015 1 Klausur Termin: 10. März 2016, 13:00 Uhr Raum: Audimax, KG 2 4 ECTS Punkte 3 Klausuranmeldung Anmeldefrist: 31.01.2016 (Ausnahme:

Mehr

Lösung von Übungsblatt 2

Lösung von Übungsblatt 2 Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende

Mehr

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht

Mehr

(Cache-Schreibstrategien)

(Cache-Schreibstrategien) Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. 2. Nennen Sie zwei rotierende magnetische digitale Datenspeicher. 3. Nennen Sie zwei

Mehr

5 Kernaufgaben eines Betriebssystems (BS)

5 Kernaufgaben eines Betriebssystems (BS) 5 Kernaufgaben eines Betriebssystems (BS) Betriebssystem ist eine Menge von Programmen, die die Abarbeitung anderer Programme auf einem Rechner steuern und überwachen, insbesondere verwaltet es die Hardware-Ressourcen

Mehr

Fachbericht Thema: Virtuelle Speicherverwaltung

Fachbericht Thema: Virtuelle Speicherverwaltung Fachbericht 15.10.99 1 HINTERGRÜNDE/ MOTIVATION 2 2 FUNKTIONEN DER SPEICHERVERWALTUNG 2 3 ARTEN DER SPEICHERVERWALTUNG 2 3.1 STATISCHE SPEICHERVERWALTUNG 2 3.2 DYNAMISCHE SPEICHERVERWALTUNG 3 3.2.1 REALER

Mehr

4. Übung - Rechnerarchitektur/Betriebssysteme

4. Übung - Rechnerarchitektur/Betriebssysteme 4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil

Mehr

Lösung von Übungsblatt 2

Lösung von Übungsblatt 2 Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende

Mehr

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme

Mehr

5.5 Virtueller Speicher

5.5 Virtueller Speicher 5.5 Virtueller Speicher Wenn der reale Speicher sogar für einzelne Prozesse zu klein ist : Virtueller Speicher (virtual memory), ist beliebig groß, nimmt alle Prozesse auf, ist in gleichgroße Teile Seiten

Mehr

Hauptspeicherverwaltung - Memory Management

Hauptspeicherverwaltung - Memory Management Hauptspeicherverwaltung - Memory Management Operating Systems I SS21 Prof. H.D.Clausen - unisal 1 Speicherhierarchie Verarbeitung cache Sekundär- Speicher Primär- Speicher ALU SS21 Prof. H.D.Clausen -

Mehr

Freispeicherverwaltung

Freispeicherverwaltung Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt

Mehr

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München

Mehr

7. Speicherverwaltung

7. Speicherverwaltung 7. Speicherverwaltung Ziele Zuteilung des Arbeitsspeicher Abbildung der symbolischen Adresse auf die physikalische Adresse Adress-Transformation Symbolische Adresse verschiebbare Adresse physikalische

Mehr

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

Mehr

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler 1 Überlegungen Wenn wir einige Seiten eines Programms in den Speicher laden, brauchen wir eine Strategie, welche Seiten als nächstes geladen werden

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

Mehr

Betriebssysteme Studiengang Informatik / SAT

Betriebssysteme Studiengang Informatik / SAT Betriebssysteme Studiengang Informatik / SAT Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943

Mehr

( Faire ) Zuteilung eines Prozesses an den Prozessor (Entscheidung über Swapping) Wartende Prozesse in einer (FIFO-) Warteschlange organisieren

( Faire ) Zuteilung eines Prozesses an den Prozessor (Entscheidung über Swapping) Wartende Prozesse in einer (FIFO-) Warteschlange organisieren 22 2.2 Prozesse Prozess-Scheduling Scheduler: ( Faire ) Zuteilung eines Prozesses an den Prozessor (Entscheidung über Swapping) Scheduling-Verfahren Round Robin (einfach und häufig verwendet) Wartende

Mehr

9) Speicherverwaltung

9) Speicherverwaltung Inhalte Speicherhierarchien Speicherzuteilung Adressbildung Lineare Adressbildung mit statischer/dynamischer Zuteilung (Segmentierung) Kompaktifizierung Lineare Adressbildung mit virtueller Adressierung

Mehr

Verklemmungen - Deadlocks

Verklemmungen - Deadlocks Verklemmungen - Deadlocks Betriebsmittel Verklemmung Vogelstrauss Algorithmus Erkennung und Auflösung Vermeidung SS2001 Prof. H.D. Clausen - unisal 1 Kritische Betriebsmittel Beispiele Drucker Magnetbandgeräte

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom

Mehr

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus 4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts

Mehr

Inhaltsübersicht. Speicherverwaltung Teil I. Motivation. Prinzipielle Arten der Speicherverwaltung

Inhaltsübersicht. Speicherverwaltung Teil I. Motivation. Prinzipielle Arten der Speicherverwaltung Speicherverwaltung Teil I Hard- und Software-Komponenten zur Speicherverwaltung Inhaltsübersicht Zusammenhängende Speicherzuteilung Partitionen fester Größe Partitionen variabler Größe Methoden zur Verwaltung

Mehr

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 Überschrift Speicherverwaltung Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 1 Hauptziele: Speicherverwaltung Speicher ist die zweite wichtigste Ressource, die das Betriebssystem verwalten

Mehr

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Grundlegende Bedeutung von Speicheradressierung: Wie sind die Daten auf Dem Speicher

Mehr

Inhaltsverzeichnis. 4.1 Systemmodell und notwendige Bedingungen. 4.2 Gegenmaßnahmen

Inhaltsverzeichnis. 4.1 Systemmodell und notwendige Bedingungen. 4.2 Gegenmaßnahmen Inhaltsverzeichnis 4.1 Systemmodell und notwendige Bedingungen Was sind Deadlocks? Darstellungsarten von Prozessabhängigkeiten Notwendige Bedingungen für Deadlocks 4.2 Gegenmaßnahmen Deadlock-Prevention

Mehr

Lösung von Übungsblatt 5

Lösung von Übungsblatt 5 Lösung von Übungsblatt 5 Aufgabe 1 (Speicherverwaltung) 1. Bei welchen Konzepten der Speicherpartitionierung entsteht interne Fragmentierung? Statische Partitionierung f Dynamische Partitionierung Buddy-Algorithmus

Mehr

Zwei Möglichkeiten die TLB zu aktualisieren

Zwei Möglichkeiten die TLB zu aktualisieren Zwei Möglichkeiten die TLB zu aktualisieren Die MMU kümmert sich um alles (Hardware-Lösung) sucht die p-entry wenn diese nicht da ist, behandelt direkt das TLB-miss zum Schluss wird die neue p-entry (virt

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 13. Vorlesung Inhalt Cache Lesen Schreiben Überschreiben Memory Management Unit (MMU) Translation Lookaside Buffer (TLB) Klausurvorbereitung Inhalte der Klausur Rechnergrundlagen

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Maren Bennewitz Version 29.1.214 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten

Mehr

Hausübung 5 (Musterlösung )

Hausübung 5 (Musterlösung ) SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 5 (Musterlösung ) 2014-06-23 bis 2014-07-04 Hausübungsabgabe: Format: Lösungen in schriftlicher

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset. Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur

Mehr

Deadlocks. Christoph Lindemann. Betriebssysteme. Betriebssysteme WS 2004/05. Fahrplan. Inhalt. Das Deadlock Problem

Deadlocks. Christoph Lindemann. Betriebssysteme. Betriebssysteme WS 2004/05. Fahrplan. Inhalt. Das Deadlock Problem Betriebssysteme WS 2004/05 Deadlocks Christoph Lindemann Fahrplan 14.10. Organisation der Vorlesung, Einführung in Betriebssysteme 21.10. Strukturen von Betriebssystemen 28.10. Prozesse und Threads 4.11.

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert? SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone

Mehr

1 Fehler in Bibliotheksfunktionen. 1 Überblick. 2 Ziele der Aufgabe. Besprechung der 1. Aufgabe

1 Fehler in Bibliotheksfunktionen. 1 Überblick. 2 Ziele der Aufgabe. Besprechung der 1. Aufgabe U3 3. Übung U3 3. Übung U3-1 Fehlerbehandlung U3-1 Fehlerbehandlung Besprechung der 1. Aufgabe Fehlerbehandlung Infos zur Aufgabe 3: malloc-implementierung U3.1 Fehler können aus unterschiedlichsten Gründen

Mehr

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode

Mehr

8. Swapping und Virtueller Speicher

8. Swapping und Virtueller Speicher 8. Swapping und Virtueller Speicher Der physikalische Adreßraum wird weiter abgebildet auf Arbeitsspeicher und Plattenspeicher. Prozesse (deren benutzte Seiten) die nicht laufen (und bald nicht laufen)

Mehr

RO-Tutorien 17 und 18

RO-Tutorien 17 und 18 RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 12 AM 19.07.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der

Mehr

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme Basisinformationstechnologie I Wintersemester 2011/12 23. November 2011 Betriebssysteme Seminarverlauf 12. Oktober: Organisatorisches / Grundlagen I 19. Oktober: Grundlagen II 26. Oktober: Grundlagen III

Mehr

Übung zu Grundlagen der Betriebssysteme. 14. Übung

Übung zu Grundlagen der Betriebssysteme. 14. Übung Übung zu Grundlagen der Betriebssysteme 14. Übung 29.01.2012 Aufgabe 1 Demand Paging a) Was wird unter dem Begriff Demand Paging verstanden? b) Was sind Vor- und Nachteile des Demand Paging? Bei Demand

Mehr

, 2014W Übungsgruppen: Mo., Mi.,

, 2014W Übungsgruppen: Mo., Mi., VU Technische Grundlagen der Informatik Übung 7: Speichermanagement 183.579, 2014W Übungsgruppen: Mo., 12.01. Mi., 14.01.2015 Aufgabe 1: Cache-Adressierung Ein Prozessor mit einer Adresslänge von 20 Bit

Mehr

Betriebssysteme. Wintersemester Kapitel 2 Prozess und Threads. Patrick Kendzo

Betriebssysteme. Wintersemester Kapitel 2 Prozess und Threads. Patrick Kendzo Betriebssysteme Wintersemester 2015 Kapitel 2 Prozess und Threads Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Ein- / Ausgabe und Dateisysteme Zusammenfassung

Mehr

Klausur. Betriebssysteme WS 2012/

Klausur. Betriebssysteme WS 2012/ FB Informatik und Mathematik Prof. R. Brause Klausur Betriebssysteme WS 2012/2013 07.02.2013 Vorname: Nachname: Matrikelnummer: Geburtsdatum: Studiengang: Bitte tragen Sie auf jeder Seite Ihre Matrikelnummer

Mehr

U4-1 Aufgabe 3: einfache malloc-implementierung

U4-1 Aufgabe 3: einfache malloc-implementierung U4 3. Übung U4 3. Übung Besprechung der Aufgabe 2: wsort Aufgabe 3: malloc-implementierung Ziele der Aufgabe Zusammenhang zwischen "nacktem Speicher" und typisierten bereichen verstehen Funktion aus der

Mehr

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung

Mehr

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22 Cache Grundlagen Schreibender Cache Zugriff SS 212 Grundlagen der Rechnerarchitektur Speicher 22 Eine einfache Strategie Schreibt man nur in den Cache, werden Cache und darunter liegender Speicher inkonsistent.

Mehr

Vorlesung Betriebssysteme

Vorlesung Betriebssysteme Kapitel VI Speicherverwaltung Vorlesung Betriebssyst 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes

Mehr

H Verklemmungen. 1 Motivation. 1 Motivation (2) H Verklemmungen. Beispiel: die fünf Philosophen am runden Tisch

H Verklemmungen. 1 Motivation. 1 Motivation (2) H Verklemmungen. Beispiel: die fünf Philosophen am runden Tisch 1 Motivation Beispiel: die fünf Philosophen am runden Tisch Verklemmungen Philosophen denken oder essen "The life of a philosopher consists of an alternation of thinking and eating." (Dijkstra, 1971) zum

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 1. Thomas Kolarz. Folie 1 Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die

Mehr

Systemprogrammierung (Lehramt) Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 G-Verklemmungen.fm

Systemprogrammierung (Lehramt) Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2006 G-Verklemmungen.fm G Verklemmungen G Verklemmungen Einordnung: Prozessor (CPU, Central Processing Unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen (Interfaces) Hintergrundspeicher

Mehr

Cache Blöcke und Offsets

Cache Blöcke und Offsets Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich

Mehr

Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010

Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010 Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010 Klausurort: Vorname Name: Adresse: Matrikelnummer:

Mehr

Betriebssysteme - Speicherverwaltung

Betriebssysteme - Speicherverwaltung Betriebssysteme - Speicherverwaltung alois.schuette@h-da.de Version: (8c45d65) ARSnova 19226584 Alois Schütte 18. Mai 2016 1 / 80 Inhaltsverzeichnis Der Hauptspeicher ist neben dem Prozessor das wichtigste

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 16.1.217 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

3 Schnittstelle zum Betriebssystem 3.1 Einleitung

3 Schnittstelle zum Betriebssystem 3.1 Einleitung 3.1 Einleitung 1 Anbindung zum Betriebssystem (BS) Aufgaben BS Schnittstelle zur Hardware Sicherstellung des Betriebs mit Peripherie Dienste erfüllen für Benutzung Rechner Dateiverwaltung (Kopieren, Verwalten,.)

Mehr

Legende: Running Ready Blocked P1 P2 P3. t[ms] 1 Prozesse und Scheduling (16 Punkte)

Legende: Running Ready Blocked P1 P2 P3. t[ms] 1 Prozesse und Scheduling (16 Punkte) 1 Prozesse und Scheduling (16 Punkte) a) UNIX Shell (insgesamt 5 Punkte) 1) $ ls > Dateien.txt (2 Punkte) Was bewirkt die Ausführung dieses Kommandos in einer UNIX-Shell? 2) $ cat Dateien.txt grep txt

Mehr