Was ist ein Seitenfehler?
Ein Seitenfehler ist ein Vorgang, der auf einem Computer mit virtuellem Speicher ausgeführt wird. Hierbei handelt es sich um eine Technik, mit der ein Teil einer Festplatte den physischen Speicher des Computers erweitert. Die meisten Seitenfehler treten auf, wenn ein Programm versucht, auf Informationen zuzugreifen, die in der virtuellen Speicherdatei auf der Festplatte abgelegt wurden. Dies ist eine normale Funktion des virtuellen Speichers. Der Computer lädt daraufhin die entsprechenden Informationen in den physischen Speicher. Ein schwerwiegenderer Seitenfehler im Zusammenhang mit Abstürzen und Computerfehlern kann auftreten, wenn ein Programm an einem Speicherort nach Informationen sucht, der nicht vorhanden oder geschützt ist. Dies kann durch fehlerhafte Hardware oder schlecht geschriebene Software verursacht werden.
Moderne Computersysteme unterteilen den Speicher in kleinere Teile, die als Seiten bezeichnet werden, wobei auf jede Seite über eine bestimmte Adresse zugegriffen wird. Die meisten Systeme unterstützen auch ein Konzept, das als virtueller Speicher bezeichnet wird, bei dem Seiten aus dem physischen RAM (Random Access Memory) des Computers in eine auf der Festplatte des Computers gespeicherte virtuelle Speicherdatei und bei Bedarf wieder in den RAM verschoben werden können. Die Details dieses komplexen Speicherverwaltungsschemas sind vor der Software verborgen. Eine Anwendung kann nicht erkennen, ob eine Seite an einer bestimmten Adresse in den Arbeitsspeicher (RAM) oder in den virtuellen Speicher geladen ist. Ein Seitenfehler tritt auf, wenn ein Programm versucht, einen Teil des Speichers zu lesen oder zu manipulieren, der nicht in den RAM geladen ist oder sich an einer unerwarteten Adresse befindet.
Trotz des ominösen Namens handelt es sich bei einem Seitenfehler im Allgemeinen um eine normale und erwartete Aktion. In den meisten Fällen wird ein Benutzer nie bemerken, dass der Fehler aufgetreten ist. Dies ist ein Vorgang, der als "Trap" bezeichnet wird. Dies bedeutet, dass Befehle aus dem Programm, die den Fehler ausgelöst haben, vorübergehend abgefangen oder abgefangen werden, während der Computer die betreffende Speicheradresse überprüft. Wenn die Adresse gültig ist, aber derzeit nicht im RAM des Computers geladen ist, werden Informationen aus der virtuellen Speicherdatei auf der Festplatte in den physischen Speicher übertragen und das Programm nimmt den normalen Betrieb wieder auf. Dies wird als "Einlagern" oder "Paging-In" bezeichnet und ist für nahezu jeden PC unabhängig vom Betriebssystem oder der Größe des installierten Arbeitsspeichers üblich. Zu wenig RAM führt jedoch dazu, dass der Computer ständig Speicherseiten zwischen der Festplatte und dem physischen Speicher verschiebt, was die Leistung beeinträchtigt.
Das zweite mögliche Ergebnis eines Seitenfehlers tritt auf, wenn festgestellt wird, dass eine angeforderte Speicheradresse ungültig oder geschützt ist. Diese Art von Fehler, der auch als Segmentierungsfehler bezeichnet wird, kann durch fehlerhafte Speichermodule, fehlerhafte Festplatten oder fehlerhafte Software verursacht werden. Ein spezielles Signal wird an das Programm gesendet, das den Fehler ausgelöst hat, wodurch das Programm normalerweise abrupt beendet wird. Je nach Betriebssystem können die schwerwiegendsten Seitenfehler dazu führen, dass das Betriebssystem eines Computers ausfällt und Benutzer eine kryptische Blue Screen of Death (BSoD) - oder Kernel-Panikmeldung erhalten.