Protected Mode

Aus TuxBoxWIKI
Version vom 19. August 2010, 17:40 Uhr von Lano (Diskussion | Beiträge) (Die Seite wurde neu angelegt: Der '''Protected Mode''' ist eine Betriebsart der CPU. Der erste Prozessor der diese Betriebsart unterstützte war der 80386. Direkt nach einem Reset-Impuls ar...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Der Protected Mode ist eine Betriebsart der CPU.

Der erste Prozessor der diese Betriebsart unterstützte war der 80386. Direkt nach einem Reset-Impuls arbeitet der Prozessor im "Real Mode", d.h. er ist in diesem Moment nicht mehr als ein sehr schneller 8086. Er verwendet 16 Bit-Register sowie die Segmentierung des 8086 und ist auf die Verwaltung von 1 MB Hauptspeicher begrenzt. Erst nach Umschaltung in den Protected Mode zeigt der Prozessor seine stärken, mit denen er einen 80286 klar in den Schatten stellt. In diesem Modus wird jedes Segment durch ein Bit gekennzeichnet: es gibt an, ob das Segment "80286-kompatibel" (und damit auf 64 Kbyte begrenzt) oder mit vollem 32 Bit adressiert wird. Dazu kommen einige weiterer Funktionen wie etwa die Indizierung von Arrays über Prozessorbefehle, ein fast vollständiger orthogonaler Befehlssatz und einige spezielle Debug-Register, die man beim 80286 vergeblich sucht.

Für den Protected Mode geschriebene Betriebssysteme können einzelne Tasks im virtuellen 8086-Mode ausführen. In diesem Modus ausgeführte Anwendungen "sehen" einen völlig normalen 8086, der im Real-Mode betrieben wird. Das Betriebssystem kann allerdings bestimte Arten von I/O-Operationen sozusagen als übergeordnete Instanz überwachen und ggf. sperren. Anwendungen, die gegen Regeln des Betriebssystems verstoßen, erzeugen dann automatisch einen Interrupt, der das Betriebssystem wieder auf den Plan ruft. Das Betriebssystem kann nun entscheiden, ob es die I/O-Operationen zulässt (bzw. selbst ausführt), die Anwendung fortsetzt oder abbricht. Da sich im virtuellen 8086-Mode der normale Adressbereich von 1 MByte auf einen beliebigen Speicherbereich abbilden lässt, können mehrere Tasks quasi parallel in seperat simulierten Systemen ausgeführt werden.