Was ist in Computerbetriebssystemen eine Seitentabelle?
Die meisten Computer verfügen über zwei Arten von Speicher, den virtuellen und den physischen Speicher. Wie der Name schon sagt, handelt es sich bei dem virtuellen Speicher lediglich um ein Konstrukt, mit dem ein Programm so ausgeführt werden kann, als ob alle zum Ausführen erforderlichen Informationen an derselben Stelle gespeichert wären. Jede im virtuellen Speicher gespeicherte Information entspricht einer physikalischen Speicheradresse. Eine Seitentabelle ist die Datenstruktur, die das Betriebssystem des Computers verwendet, um die Verbindungen zwischen dem virtuellen Speicher und dem physischen Speicher zu verfolgen. Das Korrelieren des virtuellen Speichers mit dem physischen Speicher wird als Zuordnung bezeichnet.
Das Konzept, wie die Seitentabelle die beiden Arten von Speicher organisiert, lässt sich am besten anhand eines bekannten Beispiels verstehen. Wenn ein Computerbenutzer eine Wiedergabeliste in einem Media Player-Programm erstellt, kann er oder sie Songs aus mehreren verschiedenen Dateien auf dem Computer aufnehmen. Die physischen Dateien werden nicht verschoben, aber das Programm weiß, wohin es gehen muss, um nacheinander auf die einzelnen Songs zuzugreifen.
Die Wiedergabeliste ist wie der virtuelle Speicher. Es ist ein zusammenhängender Informationsblock, auf den das Programm leicht zugreifen kann. Die einzelnen Dateien mit den einzelnen Songs sind wie ein physischer Speicher. Sie werden an vielen verschiedenen Orten im Computer gespeichert. Der physische Speicher wird in einer Seitentabelle gespeichert.
Eine Hardwarekomponente im Computer empfängt Anforderungen aus dem virtuellen Speicher und greift dann auf die Seitentabelle zu, um den physischen Speicherort der Daten zu ermitteln. Diese Hardware wird entweder als Speicherverwaltungseinheit (MMU) oder als dynamische Adressumsetzungseinheit (DAT) bezeichnet. Um den Datenzugriff so schnell wie möglich zu ermöglichen, speichert die MMU eine begrenzte Anzahl häufig verwendeter Karten in einer Tabelle, die als Übersetzungs-Lookaside-Puffer bezeichnet wird. Der Übersetzungs-Lookaside-Puffer funktioniert wie die Registerkarte "Favoriten" in einem Webbrowser und ermöglicht es dem Computer, schnell zu einem häufig verwendeten Speicherort zu springen.
Wenn es sich bei der fraglichen Adresse nicht um eine Adresse handelt, nach der der Computer häufig fragt, greift die MMU direkt auf die Seitentabelle zu. Es durchsucht die Tabelle, bis es die fragliche Adresse findet. Dann gibt es die Adresse an den Übersetzungs-Lookaside-Puffer zurück, von dem aus das Programm auf die Informationen zugreifen kann.
Manchmal kann der Computer die Adresse in der Seitentabelle nicht finden. Dies kann passieren, wenn keine Zuordnung zwischen dem virtuellen Speicher und dem physischen Speicher vorhanden ist. In diesem Fall sendet das Betriebssystem eine Nachricht an das Programm, in der es zum Herunterfahren aufgefordert wird. Das Nachschlagen kann auch fehlschlagen, wenn die physische Datei verschoben wurde, z. B. wenn sie auf eine Sicherungsdiskette gelegt und vom System entfernt wurde.