von: D.F.


F. G.
Diese Lernkarten behandeln das Thema virtueller Speicher auf Universitätsniveau. Sie konzentrieren sich auf die Funktionsweise von Speicher, Prozessen und Adressierung, einschließlich der Rolle der CPU und der physikalischen Speicherseiten. Die Karteikarten erklären auch die Probleme und Lösungen bei der Speicherverwaltung, wie die Verwendung von Seitentabellen und Translation Lookaside Buffer (TLB). Diese Lernkarten sind besonders nützlich für Studierende der Informatik, die ein tieferes Verständnis der Speicherverwaltung und der virtuellen Speicheradressierung erlangen möchten.
Flashcards
14
Students
4
Language
German
Category
Computer Science
Level
University
Created / Updated
20.06.2016 / 09.07.2016

Flashcards

Beim CPU-Scheduling, glaubt jeder Prozess das er die CPU alleine nutzt. Wie lässt sich dies auf das Speichermanagement übertragen?

Jeder Prozess sieht den Speicher so, als ob er alleine auf dem Computer wäre. Dabei gibt es jedoch einige probleme:

  • Wie wird der Speicher unter den Prozessen aufgeteilt?
  • Was passiert, wenn mehr Speicher gebraucht wird, als physisch vorhanden ist?

Welche Probleme ergeben sich wenn es keinen Virtualisierten Speicher gibt  und absolute adressen verwendet werden?
(2 Punkte)

  • Problem der Portabilität: Wird ein Prozess an eine andere stelle des Speichers geladen, dann geht ein Sprung mit absoluter Adressierung ins leere
  • Problem des Speichersutz (Protection): Wenn am Ziel eines falschen Sprungs ein anderes programm liegt, wird dieses ausgeführt -> fatale folgen

Wie wird die Virtualisierung des Spiechers realisiert?

  • Jeder Prozess "sieht" seinen eigenen "virtuellen Speicher", in dem auch absolute Adressen erlaubt sind
  • Kein Prozess kann in den virtuellen Speicher eines anderen Prozesses sehen
  • Das Betriebssystem und die Memory Management Unit (MMU) der Prozessors sorgt für die Umsetzung der viertuellen Speicheradressen in physikalische Adressen

Beschreibe den Aufbau des Virtuellen Speicherbereichs eines Linux-Prozess auf einem 32 Bit System?

  • Nenne die 3 Segmente
  • Und was in welchem Segment gespeichert wird

  • Text-Segment:
    • Programmcode
  • Daten-Segment:
    • initialisierte globale und “static” Variable
    • nicht initialisierte globale und “static” Variable ("BSS – Block started by symbol")
    • dynamisch allokierte Variable (“Heap”)
  • Stack-Segment:
    • Platz für lokale Variable in Funktionen, Rücksprungadressen, etc.

Mit welchem Befehl lässt sich der durch einen Prozess belegte Speicher  anzeigen?

Mit dem Befehl:   pmap <PID>    (Pagemap)

 

Was ist der Unterschied von Seiten (pages) und Seitenrahmen (pageframes)?

Seiten (pages) ist die bezeichnung für eine Seite im Virtuellen Speicher. Im gegensatzt dazu ist der Seitenrahmen (Page frames) die Seite im Physikalischen Speicher.

Die Abbildung muss nicht linear oder symmetrisch erfolgen.

Was ist für das Abbilden des Virtuellen Speichers in den Physikalischen Speichers zuständig? Was für Besonderheiten gibt es dabei?

  • Die Umsetzung (memory mapping) geschieht "seitenweise" durch die Memory Management Unit (MMU)
    • Eine "Page" umfasst entweder 4 kB oder 4 MB (IA32)
    • Zusammengehörige Seiten werden vorzugsweise "am Stück" abgebildet
    • Der Algorithmus, nach dem die Abbildung erfolgt, ist abhängig vom Betriebssystem

Wie läuft die Addresierung von Speicherseiten unter UNIX Systemen mit 16 Bit ab?
(Nicht wirklich relevant)

  • Die Adresse hat 16 Bit 
  • Gibt nur eine Seitentabelle
  • 4 Bit für den Seitentabelleneintrag
  • 12 Bit für den Offset innerhalb des Seitenrahmens

Wie läuft die Addresierung von Speicherseiten unter UNIX Systemen mit 32 Bit ab?

Adresse besteht aus 4 Teilen je 8 Bit:

  • Directory
  • Middle
  • Page
  • Offset

Die Einzelnen Adresse Tabellen verweisen jeweils auf eine weitere Tabelle bzw. auf die Spiecherseite

Wie läuft die Addresierung von Speicherseiten unter Linux Systemen mit 32 Bit ab?

  • Im Prinzip wie UNIX
  • Auf 32bit-Architekturen (IA32) ist das "Page Middle Directory" leer, das "Global Directory"verweist direkt auf eine "Page Table"
  • Wahlweise (Flag in CPU-Register) können dann 4kB-Seiten adressiert werden oder mit nur einer Tabellenebene 4MB-Seiten
  • Es gibt nur 2 Seitenlisten

Welche Informatinen sind im Seitentabelleneinträge zusätzlich zur Adresse gespeichert?

  • Seite(ntabelle) vorhanden ?
  • Lesen/Schreiben ?
  • User/Supervisor-Seite
  • Seitengröße (4k/4M)
  • Wurde die Seite verändert?

Wo ist das Problem beim aufsuchen eines Seitenrahmen im Physikalischen Speichers, wie lässt sich dies lösen?

  • Das Aufsuchen eines Seitenrahmens im physikalischen Speicher ist zeitaufwändig (es muss durch die ganzen Seitentabellen gegangen werden)
  • Lösungsansatz:
    • Eine Art Cache, in dem die letzten Suchergebnisse nach Seitenrahmen gespeichert werden
    • Teil der MMU
    • Translation Lookaside Buffer (TLB)

Wo sollen neue Datien im Physikalischen Speicher hin, welche Punkte gibt es dabei zu beachten? 
(2 Punkte)

  • Der Zugriff auf die Daten soll möglichst schnell sein
  • Es sollen Datenblöcke verschiedener Größe untergebracht werden

Buddy -> S. 249 Grundkurs Betriebssysteme

Study