Skip to main content.

Navigation:

1. theoretisches Aufgabenblatt

Grundlagen

  1. Welche Pattern müssen angegeben werden, damit alle Dateinamen im aktuellen Verzeichniss einschließlich aller Namen, die mit '.' beginnen (jedoch ohne '.' und '..') erfasst werden? (6 Pkt.)
  2. Gegeben sei:
    int a[] = {5, 2, 8, 12, 4711, 888, 17};
    int *p;
    p = &a[2];
    Welche Werte liefern die folgenden Ausdrücke und auf welches Element von a zeigt p anschließend, wenn jeweils vom vorhergehenden Zustand ausgegangen wird? (3 Pkt.)
    • *p
    • *p++;
    • *p+4;
    • *(p+4);
    • *++p;
    • *p+*(p-1)+*(p+1);
  3. Analysieren Sie folgendes einzeiliges C-Programm. Welche Ausgaben wird es produzieren (Begründung)? (3 Pkt.)
    char *p="char *p=\%c\%s\%c;main(){printf(p,34,p,34);}";main(){printf(p,34,p,34);}

Strategien

  1. In einem Swapping-System sind folgende Löcher im Speicher nach aufsteigenden Adressen sortiert: 10kb, 4kb, 20kb, 18kb, 7kb, 9kb, 12kb und 15kb. Welche Löcher wählen FirstFit, BestFit, WorstFit und NextFit jeweils aus, wenn nacheinander Segmente von 12kb, 10kb und 9kb angefordert werden? (3 Pkt.)
  2. Ein Minicomputer verwendet das Buddy-System zur Speicherverwaltung. Anfangs existiert ein Block mit 256kb ab Adresse 0. Geben Sie die Anzahl, Größe und Adressen der Blöcke an, nachdem die aufeinanderfolgenden Anforderungen für 5kb, 25kb, 35kb und 20kb vom System verarbeitet wurden. (3 Pkt.)

virtueller Speicher

  1. Was ist der Unterschied zwischen einer virtuellen und einer physischen Adresee? (2 Pkt.)
  2. Berechnen Sie für eine Seitengröße von 4kb bzw. 8kb die virtuelle Seitennummer und den Offset für die folgenden dezimalen virtuellen Adressen: 20000, 32768 und 60000. (3 Pkt.)
  3. Gegeben sei ein Rechner, der virtuele 16 Bit-Adressen verwendet (0-64KB). Diese werden auf einen 32KB großen physischen Speicher abgebildet. Wandeln Sie für eine Seitengröße von 4KB und einer Belegung von 4xx213xxxx7xx56x (beginnend bei Seitenrahmen 0, x steht für einen nicht abgebildeten Seitenrahmen) die folgenden virtuellen Adressen in physische Adressen um. (3 Pkt.)
    1. 20
    2. 30720
    3. 43008
  4. Ein Rechner mit 32 Bit-Adressen verwendet eine zweistufige Seitentabelle. Virtuelle Adressen werden in ein 9 Bit-Feld für die erste Seitentabelle und ein 11 Bit-Feld für die zweite Seitentabelle und einen Offset unterteilt. Wie viele Seiten sind im Adressraum und wie groß sind sie? (3 Pkt.)
  5. Eine virtuelle 32-Bit Adresse wird in vier Teile a, b, c und d aufgeteilt. Die ersten drei Felder sind die Indizes für eine dreistufige Seitentabelle. Das vierte Feld d ist der Offset. Hängt die Anzahl der Seiten von der Länge aller vier Felder ab? Wenn nicht begründen Sie welche Felder wichtig sind. (4 Pkt.)

Seitenersetzungsalgorithmen

  1. Wie viele Seitenfehler erzeugt der FIFO-Algorithmus mit acht Seiten und vier Seitenrahmen für den Referenz-String 0172327103, wenn alle Seitenrahmen zu Beginn leer sind? Wiederholen Sie die Aufgabe für den LRU-Algorithmus. (6 Pkt.)
  2. Ein Computer hat vier Seitenrahmen. Eine Tabelle zeigt für jede Seite die Ladezeit, die Zeit des letzten Zugriffs sowie die R- und M-Bits (Zeiten in Clock-Ticks). Welche Seite ersetzt der NRU, FIFO, LRO bzw. Second-Chance Algorithmus? (8 Pkt.)
    Seite geladen Zugriff R M
    0 126 280 1 0
    1 230 265 0 1
    2 140 270 0 0
    3 110 285 1 1