![]() |
Created by Johannes Müller
over 5 years ago
|
|
Question | Answer |
Erklären Sie kurz die Idee hinter Paging. Welches Problem wird dadurch vermieden? | Es gibt keinen Grund, warum der Speicherbereich oder selbst die Segmente eines Prozesses zusammenhängend sein müssen. Daher wird beim Paging der phy. Speicher in Frames fester Größe unterteilt. Genauso wird der logische Speicher in Pages gleicher Größe unterteilt. Das Mapping von Pages zu Frames erfolgt über eine Page-Table. Durch die gleich großen Blöcke gibt es beim Paging keine externe Fragmentierung mehr. |
Was ist der Vorteil von Paging? | Vermeidung von externer Fragmentierung Um die Problematik von verschieden großen Memory-Chunks zu vermeiden. |
Für was ist das Valid/Invalid Bit bei Paging in der Page-Table verantwortlich? | Der Valid Bit gibt an, welche Pages auf dem physischen Speicher verwendet werden können. Der Invalid Bit ist sein Gegenstück. |
: Beschreiben Sie das Problem mit Paging und erläutern Sie einen Lösungsansatz! | Problem: Jeder Speicherzugriff benötigt 2 Zugriff (1. Auf Page Table, 2. Auf physikalische Speicher-Adresse) langsam Lösung: Verwendung eines Translation look-aside buffer (kurz: TLB), welcher ein schneller, assoziativer Cache ist, der auf das Lokalitätsprinzip zurückgreift. |
Welche drei Varianten zur Problemlösung von Page-Tables können verwendet werden? | Hierarchisches Paging Hashed Page Tables Invertierte Page Tables |
: Was passiert, wenn ein Speicherzugriff außerhalb des gültigen Speicherbereich des Prozesses liegt? | Fehler Trap Kernel terminiert den Prozess |
Wie kommt man vom Page Table Eintrag zum physischen Speicheradresse (Adress Translation Scheme)? | Page Table Eintrag besteht auf <Page number/ page offset>. Page number ist der Index in der Page Table und ist gleichzeitig die basis Adresse von einer Page im physikalischen Speicher. Basis Adresse (Page number) + Offset = physikalische Adresse |
Erklären sie das warum das Lokalitätsprinzip einen schnellen Speicherzugriff ermöglicht. | Die Wahrscheinlichkeit, dafür, dass auf gerade zugegriffene Daten erneut zugegriffen wird und dafür, dass auf Daten die in der Nähe von gerade zugegriffenen Daten liegen zugegriffen wird ist sehr hoch. |
Was ist der Unterschied zwischen Mapping und Pagging | Beim Pagging können die physikalischen und logischen Adressen von unzusammenhängenden Speicherplatzbelegungen verknüpft werden Beim Mapping ist dieses nur mit zusammenhängenden SpeicherplatzBelegungen möglich |
Wie funktioniert das Mapping beim Paging mit TLB? | Die CPU sieht die logische Adresse aus Page-Nr. und Offset. Zuerst wird im TLB nachgeschaut, ob ein passender Eintrag mit der Page-Nr. existiert. Wenn ja hat man einen sogenannte TLB hit und die frame number aus dem Eintrag und der Offset ergeben zusammen die phy. Adresse. Ansonsten kommt es zu einem TLB miss und der Eintrag muss aus der Page-Table im Speicher gelesen werden |
Erklären Sie den Unterschied zw. normale Page-Table und invertierte Page-Table? | Page-Table: Zu jedem Prozess gibt es eine Page-Table, wobei diese alle möglichen Pages beinhaltet und diese auf phy. Frames gemapped werden. Inverted Page-Table: Es gibt eine Tabelle, wobei eine Zuordnung von Frames auf Pages erfolgt. Somit gibt es auch max. so viele Einträge wie Frames, sodass weniger Speicher benötigt wird. Da es jedoch keine Sortierung nach Pages gibt, ist die Suche aufwändiger, weil nach dem Eintrag mit richtiger PID und Page-Nr. gesucht werden muss. |
Was ist die Idee hinter Segmentierung? Wie funktioniert das Mapping auf die phy. Adresse? | Ein Prozess im Speicher besteht aus mehreren Segmenten (Main-Routine, Libraries, Stack, etc.). Diese müssen dabei nicht innerhalb eines zusammenhängenden Speicherbereichs gespeichert werden. In der Segment-Table gibt es zu jedem Segment einen Eintrag. Ein Eintrag beinhaltet dabei den Base (->phy. Adresse des Segments im Speicher) und den Limit (->Länge des Segments). Die CPU sieht die logische zweidimensionale Adresse aus Segment-Nr. und Offset. Durch die Segment-Nr. wird der richtige Eintrag in der Segment-Table gefunden. Ist der Offset kleiner dem Limit, wird auf den Base der Offset addiert und man erhält die phy. Adresse für den Speicherzugriff. |
Want to create your own Flashcards for free with GoConqr? Learn more.