www.wikidata.de-de.nina.az
Eine Seitentabelle englisch page table ist die Datenstruktur die fur das Umrechnen von virtuellen zu physischen Adressen verwendet wird Virtuelle Adressen werden von Prozessen verwendet und sind eine Abstraktion vom physischen Speicher Der Prozess kann nur auf seinen eigenen virtuellen Speicher schreiben und lesen Das Umrechnen der virtuellen Adresse eines Prozesses wird heute ublicherweise von der MMU ubernommen und ist fur den Prozess gar nicht einsehbar Die Seitentabellen beinhalten dabei das Mapping zwischen der virtuellen und der physischen Adresse Inhaltsverzeichnis 1 Einstufige Seitentabelle 2 Mehrstufige Seitentabelle 3 Invertierte Seitentabelle 4 Seitenfehler Page Fault 5 EinzelnachweiseEinstufige Seitentabelle Bearbeiten nbsp Schematische Darstellung der einstufigen AdressumsetzungDie Adressumsetzung mit Hilfe einer einstufigen Seitentabelle geschieht durch Interpretation der n hoherwertigen Bits einer virtuellen Adresse als Seitennummer der angeforderten Speicherseite und der Verwendung der m niederwertigen Bits als Offset Die Seitennummer bestimmt dabei ausgehend von der Basisadresse der Seitentabelle welche in einem Register der Memory Management Unit gehalten wird denjenigen Eintrag in der Seitentabelle aus dem die Basisadresse der notigen realen Speicherseite abzulesen ist Des Weiteren beinhaltet die Seitentabelle auf den hoherwertigen Bits Statusinformationen uber die Speicherseite die beispielsweise Auskunft geben ob sich die Speicherseite im RAM befindet oder ob sie seit dem letzten Zugriff verandert wurde Die aus der Seitentabelle ausgelesene Basisadresse der realen Speicherseite zusammen mit dem unveranderten Offset ergeben die reale Adresse Da die Anzahl der Eintrage einer einstufigen Seitentabelle von der Grosse des virtuellen Adressraums und der gewahlten Seitengrosse abhangt ergibt sich ein Problem wenn der virtuelle Adressraum zu gross und oder die gewahlte Seitengrosse zu klein wird Wahlt man beispielsweise eine Seitengrosse von 4 kiB dann hat die zugehorige Seitentabelle bei einem 16 Bit Adressraum also einem virtuellen Speicher von 64 kiB lediglich 16 Eintrage Fur einen 32 Bit Adressraum also einem virtuellen Speicher von 4 GiB Grosse und gleicher Seitengrosse benotigt eine zugehorige Seitentabelle bereits uber eine Million Eintrage die alle im Speicher gehalten werden mussten Um den Speicherbedarf der Seitentabellen also auch fur grosse Adressraume akzeptabel zu halten wurden die Konzepte der mehrstufigen Seitentabelle und der invertierten Seitentabelle entwickelt 1 Mehrstufige Seitentabelle Bearbeiten nbsp Schematische Darstellung der mehrstufigen AdressumsetzungDie Adressumsetzung mit Hilfe einer k stufigen Seitentabelle geschieht durch Aufteilung einer virtuellen Adresse in k n hoherwertige Bits als Seitentabellenverweise und m niederwertige Bits als Offset Mit dem k ten Verweis in der virtuellen Adresse wird aus der k ten Seitentabelle die Basisadresse der Seitentabelle der Stufe k 1 ausgelesen Die letzte Stufe enthalt dann den tatsachlichen Verweis auf die reale Basisadresse Die aus der letzten Stufe der Seitentabellen ausgelesene Basisadresse der realen Speicherseite zusammen mit dem unveranderten Offset ergeben die reale Adresse Der Vorteil bei diesem Ansatz gegenuber der einstufigen Seitentabelle ist der dass nicht immer alle Teile der Seitentabelle im Speicher gehalten werden mussen 1 Invertierte Seitentabelle Bearbeiten nbsp Invertierte SeitentabelleInsbesondere einstufige aber auch mehrstufige Seitentabellen benotigen sehr viel Speicherplatz nur um die Seitentabelle im Speicher abzulegen Mit dem Ansatz der invertierten Seitentabelle beseitigt man dieses Problem Es wird in der Seitentabelle nicht mehr ein Eintrag pro virtueller Seite angelegt sondern nur noch je ein Eintrag pro realer Speicherseite Der Zugriff auf diese Tabelle benotigt nun jedoch einen Suchvorgang um die virtuelle Adresse in der gesamten Seitentabelle zu finden und die zugehorige reale Adresse auszulesen Haufig wird das Suchen in der invertierten Seitentabelle durch das Vorschalten einer Hashtabelle beschleunigt Da sich keine Informationen uber ausgelagerte Seiten in der invertierten Seitentabelle finden ist bei einem Seitenfehler der Ruckgriff auf eine normale Seitentabelle notwendig Seitenfehler Page Fault BearbeitenBei jedem Verfahren kann es naturlich passieren dass die angeforderte virtuelle Adresse sich in einer nicht im Arbeitsspeicher befindlichen Speicherseite befindet sondern erst durch Paging vom Hintergrundspeicher in den Arbeitsspeicher geladen werden muss engl Demand Paging Die Memory Management Unit signalisiert dies sobald sie in den Statusbits bei dem sogenannten Valid Bit einer Seitentabelle einen Ungultig Eintrag i d R eine 0 vorfindet indem sie einen so genannten Seitenfehler Page Fault auslost Einzelnachweise Bearbeiten a b Andrew S Tanenbaum Moderne Betriebssysteme Ubersetzt von Uwe Baumgarten 2 uberarbeitete Auflage Pearson Studium Prentice Hall Munchen 2003 ISBN 3 8273 7019 1 Normdaten Sachbegriff GND 4620646 2 lobid OGND AKS Abgerufen von https de wikipedia org w index php title Seitentabelle amp oldid 189182299