Sicherheitsmodus

Definition - Was bedeutet geschützter Modus?

Der geschützte Modus ist ein Betriebsmodus der Intel 80286-kompatiblen CPU. Es ermöglicht der Systemsoftware, Funktionen wie virtuellen Speicher, Paging und sicheres Multitasking zu verwenden. Es wurde auch entwickelt, um die Kontrolle des Betriebssystems über Anwendungssoftware zu verbessern.

Dieser Begriff wird auch als geschützter virtueller Adressmodus bezeichnet.

Technische.me erklärt den geschützten Modus

Der geschützte Modus wurde Anfang 86 in die x1982-Architektur von Intel integriert. Anschließend entwickelte er sich zu einer grundlegenden Grundlage für alle weiteren Intel x86-Architekturen. In den ersten Versionen war es nicht möglich, in den Real-Modus zurückzukehren oder den geschützten Modus zu aktivieren. Es wurde jedoch eine Option bereitgestellt, um die Stapelzeiger, Register und die Interrupt-Maske über eine Tastatursteuerung im RAM zu speichern. Später, mit dem Aufkommen des 386-Prozessors, konnte der geschützte Modus leicht aktiviert werden, wodurch komplexe Schritte in der 286-Architektur vermieden wurden, die keinen internen Mechanismus zum Verlassen des geschützten Modus hatten. Der geschützte Modus bietet verschiedene Funktionen zur Verbesserung der Systemstabilität und -sicherheit . Diese Funktionen sind:

  • Berechtigungsstufen: Es gibt vier Berechtigungsstufen (auch als Ringe bezeichnet), wobei Ring 3 am wenigsten privilegiert und Ring 0 am meisten privilegiert ist. Mit diesen Ringen kann die Systemsoftware verhindern, dass Aufgaben auf Daten zugreifen. Im Allgemeinen wird eine Anwendung auf Ring 3 ausgeführt, während das Betriebssystem auf Ring 0 ausgeführt wird.
  • Virtueller 8086-Modus: Intel bezeichnet den geschützten Modus als virtuellen Modus, der es ermöglicht, zuvor geschriebenen Code für 8086 ohne Änderungen auf neuen Systemen auszuführen (Abwärtskompatibilität), was Systemstabilität und -sicherheit bietet.
  • Anwendungskompatibilität im Real-Modus: Windows 3.x bietet zusammen mit seinen Nachfolgern eine Binärkompatibilität mit dem Real-Modus, um Windows 2.x-Anwendungen auch im geschützten Modus auszuführen.
  • Segmentadressierung: Im geschützten Modus wird der Segmentteil durch einen 16-Bit-Selektor ersetzt. Die 13 oberen Bits enthalten den Index eines Eintrags in der Deskriptortabelle. Dieser Eintrag enthält einige Flags, einen Grenzwert für die Segmentgröße und die reale Zeilenadresse des Segments. Die niedrigsten zwei Bits definieren das Privileg der Anforderung von 0 bis 3. Das letzte Bit gibt an, ob die Operation gegen die GDT oder eine LDT gerichtet ist.
  • Multitasking: Dies ist die Fähigkeit des Betriebssystems, mehrere Aufgaben gleichzeitig auszuführen. Es kann nur implementiert werden, wenn die Ausführung jeder Aufgabe auf verschiedenen Prozessoren geplant ist. Während des Wechsels zwischen Aufgaben speichern Prozessoren die aktuellen Kontextinformationen in einem Aufgabenstatus-Segment. Wenn die ursprüngliche Aufgabe für die Ausführung neu geplant werden muss, werden die gespeicherten Informationen von den Prozessoren verwendet, um ihre internen Register für die Wiederaufnahme der Ausführung festzulegen.
  • Schutz: Der Schutzmodus schützt vor Softwarefehlern und hilft dem Betriebssystem, zuverlässiges Multitasking durchzuführen. Es werden Überprüfungen durchgeführt, bevor der Speicherzyklus beginnt und ein fehlerhafter Speicherzyklus beendet wird, wodurch eine Ausnahme generiert wird. Die Stabilität aller Softwareentwicklungstools wird durch Blockieren illegaler Speicherreferenzen sichergestellt.
  • Paging: Seiten sind Speicherbereiche. Das Betriebssystem kann für jede Aufgabe eine andere virtuelle Adresse erstellen, wodurch eine Aufgabe davon abgehalten wird, den Speicher einer anderen zu manipulieren. Seiten können auch vom primären zum sekundären Speicher übertragen werden, wodurch mehr Speicherplatz zur Verfügung steht.
  • Debugging-Unterstützung: Als Teil des geschützten Modus bietet 80386 eine Reihe konfigurierbarer Debug-Register. Sie können einen Haltepunkt festlegen, indem Sie die gewünschte Speicheradresse in einem der Debug-Register und den Zyklustyp zum Auslösen des Haltepunkts angeben. Wenn der Haltepunkt erreicht wird, wird eine Ausnahme generiert und der Debugger erhält die Kontrolle, um Informationen zum internen Status des Prozessors anzuzeigen.