Prozessorarchitektur

Schutzmodus

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche

Der Begriff Schutzmodus, auch geschützter Modus oder englisch protected mode, bezeichnet einen speziellen Betriebsmodus der IA-32-Architektur (auch als x86-Architektur bekannt) von Intel, der seit dem 80286er Prozessor vorhanden ist. Dieser erlaubt einen Zugriff auf 16 MiB Hauptspeicher (16-Bit Protected Mode). Mit dem 80386er wurde ein 32-Bit-Modus eingeführt, der den Zugriff auf bis zu 4 GiB Hauptspeicher gestattet. Dieser Modus wird von allen modernen PC-Betriebssystemen verwendet.

Inhaltsverzeichnis

[Bearbeiten] Charakteristika

In diesem Betriebsmodus unterstützt die CPU sowohl Segmentierung (ab 286er) als auch Paging (ab 386er) sowie den namensgebenden Speicherschutz mit vier verschiedenen Schutzebenen auf Segmentebene und zwei Schutzebenen auf Page-Ebene. Die vier verschiedenen im x86-Schutzmodus existierenden und als Ringe bezeichneten Schutzebenen bzw. Befugnisstufen gewähren den darauf ablaufenden Codesegmenten unterschiedliche Rechte. Dies ermöglicht die Unterscheidung zwischen Kernel-Modus und Benutzer-Modus, welche in modernen Betriebssystemen umgesetzt ist. Dadurch wird verhindert, dass fehlerhafte oder böswillige Anwendungsprogramme das Betriebssystem überschreiben und somit verändern oder zum Absturz bringen können, was auf dem 8086er-Prozessor noch ohne weiteres möglich war und nicht verhindert werden konnte.

[Bearbeiten] 16-Bit Protected Mode

Beim 286er wurde der so genannte „16-Bit Protected Mode“ eingeführt. In diesem Modus können maximal 16 MiB physischer Hauptspeicher in 8192 Segmenten zu je maximal 64 KiB angesprochen werden. Der Zugriff auf diese Segmente erfolgt über sogenannte Segmentdeskriptortabellen, welche vom Betriebssystem angelegt und verwaltet werden. Es ist möglich, mehr virtuelle Adressen anzusprechen, als physischer Arbeitsspeicher vorhanden ist. Über eine virtuelle Speicherverwaltung können einzelne Segmente beispielsweise auf Festplatte ausgelagert werden und anschließend in der Deskriptortabelle als „nicht vorhanden“ gekennzeichnet werden. Sobald ein Lese- oder Schreibzugriff auf so ein Segment erfolgt, löst der Prozessor eine „Segment not present“-Ausnahme aus, die vom Betriebssystem abgefangen wird, um das angeforderte Segment wieder zu laden und das Programm fortzusetzen.

Der 16-Bit-Protected-Mode wurde unter anderem von OS/2 und MS Windows (im sogenannten „Standardmodus“) verwendet.

[Bearbeiten] 32-Bit Protected Mode

Ab dem 386er wurde ein neuer 32-Bit Protected Mode eingeführt, in dem bis zu 4 GiB physischer Hauptspeicher in 8192 Segmenten zu je maximal 4 GiB angesprochen werden können. Hierfür sind die Deskriptortabellen erweitert worden, so dass bisher reservierte Bits für die Erweiterungen genutzt werden.

Außerdem gibt es ab dem 386er die Möglichkeit, Seitenverwaltung (Paging) zu aktivieren, welche der Segmentierung nachgeschaltet ist.

[Bearbeiten] Paging und Speicherauslagerung

Die meisten modernen Betriebssysteme für x86-Rechner, wie zum Beispiel Windows (ab Windows 2.03 optional, ab Windows 3.1 zwingend), Linux oder Mac OS X, arbeiten in diesem Betriebsmodus. Dabei wird heute zur Realisierung des Speicherschutzes im Wesentlichen nur noch das Paging eingesetzt, während die Segmentierung nicht mehr benutzt wird. Mit diesem Mechanismus kann jedem Prozess in einem Betriebssystem ein eigener, von den anderen Prozessen getrennter virtueller Adressraum bereitgestellt werden. Gleichzeitig lassen sich dadurch aber auch die gemeinsame Speichernutzung zwischen Prozessen, Copy-On-Write-Mechanismen oder Speicherauslagerung sowie eine grobe Einteilung in Kernel- und Benutzeradressraum realisieren.

[Bearbeiten] Sonstiges

Das Gegenstück zum Protected Mode ist der Real Mode, der das Verhalten der 8086-Architektur nachahmt und beim Starten des Prozessors gesetzt ist, so dass ältere Betriebssysteme wie DOS problemlos gestartet werden können. Ferner gibt es im Protected Mode einen Sondermodus, den Virtual 8086 Mode (Virtual Real Mode), der zur Ausführung von Real-Mode-Programmen im Protected Mode eingebaut wurde. Dieser v86-Modus wird zum Beispiel in der Konsole (DOS-ähnliches Fenster) von Windows angewendet.

[Bearbeiten] Weblinks

Protected Mode Tutorial

Copyright © 2005-2010 Hardware-Aktuell. Alle Rechte vorbehalten.