Real-Modus

Real-Modus

Der Begriff Real Mode, eigentlich real address mode oder eingedeutscht Real-Modus, bezeichnet eine Betriebsart der x86-kompatiblen Prozessoren, die ab dem Intel 80286 unter diesem Namen existiert.

Inhaltsverzeichnis

Charakteristika

Im Real Mode benutzt der Prozessor die gleiche Methodik wie der Intel 8086-Prozessor, um auf den Hauptspeicher zuzugreifen. Das heißt, aus Sicht des Programmierers ist er wie ein (schnellerer) 8086 anzusprechen.

Jeder x86-kompatible Prozessor startet nach dem Reset im Real Mode. Durch eine spezielle Variante des MOV-Befehls kann man den Prozessor in den Protected Mode versetzen.

Zugriffsschutz

Im Real Mode existiert kein Zugriffsschutz. Das heißt, dass jedes laufende Programm auf den gesamten Hauptspeicher und die Hardware zugreifen kann. Dies ist für moderne Multitasking-Betriebssysteme allerdings nicht akzeptabel, weswegen stattdessen nach dem Starten des Computers in den Protected Mode geschaltet wird.

Segmentregister

Im Real Mode benutzt der Prozessor eine sogenannte Segment:Offset-Adressierung. Es existieren vier Segmentregister: CS (code segment), DS (data segment), ES (extra segment) und SS (stack segment); ab dem 80386 kommen noch zwei weitere Segmentregister (FS und GS) dazu. Alle Segmentregister enthalten im Real Mode lediglich 16-Bit-Segmentadressen. Zur Errechnung der realen, linearen Adressen werden die Inhalte mit 16 multipliziert und zum Offset addiert. Da die Offset-Adresse ebenfalls auf 16 Bit begrenzt ist, ergibt sich eine 20-bittige lineare Adresse, wodurch der direkt und ohne Tricks nutzbare Adressraum auf ein MB (220 Byte) beschränkt bleibt, bei „Überadressierung“ und offener A20-Adressleitung werden noch einmal 64 KB (minus 16 Byte) im Bereich von FFFF:0010 bis FFFF:FFFF im Real Mode erreichbar. Dieser Speicherbereich wird auch als High Memory Area bezeichnet.

Unechter Realmodus („Unreal Mode“, „Big Real Mode“)

Die Beschränkung auf ein Mebibyte Hauptspeicher war schon zu MS-DOS-Zeiten für viele Anwendungen völlig unzureichend. Es gibt aber zwei Tricks, mit denen man auch im Real Mode die Segmentregister auf vier GB erhöhen kann; das Arbeiten im Real Mode jenseits von einem MB nennt man den "Unreal Mode". Dieser spezielle Modus gilt als undokumentiert und stellt keine eigene Betriebsart dar.

Der einfache "Unreal Mode" wurde vor allem in der ersten Hälfte der 1990er-Jahre für PC-Spiele genutzt, da diese damals meist noch direkt unter dem Real-Mode-System MS-DOS abliefen. Windows war zwar damals bereits ein Protected-Mode-System, bot aber noch keine Unterstützung für Spielprogramme, welche die Rechenleistung voll ausschöpfen konnten.

Beide Tricks beruhen darauf, dass der Prozessor auch im Real Mode die Schattenregister der Segmentregister für die Adressberechnung benutzt, auch wenn diese im Real Mode nicht direkt erreichbar sind. Über Umwege kann man jedoch die Schattenregister auf Werte setzen, die einen Zugriff auf Speicherbereiche jenseits der 1-MB-Grenze erlauben: Entweder man setzt den Segmentanfang auf eine Speicheradresse jenseits der 1-MB-Grenze, oder (wenn mindestens ein 80386-Prozessor zur Verfügung steht) man erhöht die Segmentgröße von 64 KB auf 4 GB.

Der LOADALL-Trick

Auf dem 80286 und 80386 (und einigen 486er Modellen) existiert ein undokumentierter Befehl LOADALL (286) bzw. LOADALLD (386), mit dem man alle Register der CPU mit eigenen Werten füllen kann. Dies betrifft insbesondere auch die Register, die im Real Mode nicht verfügbar sind, womit auch die gewünschten Werte in die Segmentbeschreibungscaches geladen werden können. Auf neueren CPUs lösen diese Befehle eine "Unbekannter Opcode"-Ausnahme aus, welche dazu genutzt werden kann, den Befehl zu emulieren.

Der PM-Trick

Der PM-Trick besteht darin, in den Protected Mode zu schalten, die Segmentregister inklusive Schattenregister mit den gewünschten Werten zu laden und dann wieder in den Real Mode zurückzuschalten, wobei die Werte in den Registern erhalten bleiben.

Beim 80286 funktionierte diese Methode noch nicht, da diese CPU nur über einen CPU-Reset in den Real Mode zurückgeschaltet werden kann; dabei werden aber die Inhalte der Segmentdeskriptorcaches auf ihre Standardwerte zurückgesetzt. Folglich bleibt für diese Prozessortypen nur die oben erwähnte LOADALL-Methode.

DOS-Extender

Eine andere Möglichkeit, im Real Mode den gesamten Adressraum anzusprechen, sind die DOS-Extender. Diese Spezialprogramme erlauben die Verwendung des Real-Mode-Betriebssystems MS-DOS durch Protected-Mode-Programme, indem sie jeweils bei Bedarf zwischen den beiden Modi umschalten: Das Spielprogramm selbst läuft im Protected Mode, für DOS-Aufrufe wird jeweils in den Real Mode geschaltet.

DOS-Extender haben den Vorteil gegenüber dem Unreal-Mode, dass sie meist auch mit Windows, zumindest mit Windows 95/98/SE, noch kompatibel sind; derartige DOS-Spiele können also meist auch direkt unter Windows gestartet werden. Der Unreal-Mode kann unter Windows dagegen nur durch das Starten des Rechners im "MS-DOS-Modus" genutzt werden, unter Windows NT/2000/XP/Vista überhaupt nicht mehr.

Siehe auch: Protected Mode, Virtual 8086 Mode, System Management Mode


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Real Mode — Der Begriff Real Mode, eigentlich real address mode oder eingedeutscht Real Modus, bezeichnet eine Betriebsart der x86 kompatiblen Prozessoren, die ab dem Intel 80286 unter diesem Namen existiert. Inhaltsverzeichnis 1 Charakteristika 2 Bedeutung… …   Deutsch Wikipedia

  • Real Action Marker — (kurz: RAM) sind CO2 – oder Pressluftbetriebene Paintball Markierungswaffen, die Farb oder Gummikugeln im Kaliber .43 (= 0,43 Inch, entspricht ca. 10,9 mm) verschießen. Die Besonderheit und damit der grundlegende Unterschied zu herkömmlichen …   Deutsch Wikipedia

  • Real Mode —   [dt. »wirklicher Modus«], ein Betriebsmodus bei den Prozessoren 80x86 von Intel. Alle Prozessoren vor dem 80286 waren auf den Real Mode beschränkt. Die späteren Intel Prozessoren boten den Protected Mode sowie den Virtual Mode (Virtual 8086… …   Universal-Lexikon

  • Modus — Art; Verfahren; Betriebsart; Aussageweise * * * Mo|dus 〈a. [mɔ̣ ] m.; , Mo|di〉 1. Art u. Weise, Regel, Maß 2. 〈Gramm.〉 eine der drei Aussageweisen des Verbs, Indikativ bzw. Konjunktiv bzw. Imperativ; → Lexikon der Sprachlehre 3. 〈Mus.〉 3.1 〈in… …   Universal-Lexikon

  • real-time mode — tikralaikis režimas statusas T sritis automatika atitikmenys: angl. real time mode; real time operation mode vok. Echtyeit Modus, m; Realzeitbetrieb, m rus. режим работы в реальном времени, m; режим работы в реальном масштабе времени, m pranc.… …   Automatikos terminų žodynas

  • real-time operation mode — tikralaikis režimas statusas T sritis automatika atitikmenys: angl. real time mode; real time operation mode vok. Echtyeit Modus, m; Realzeitbetrieb, m rus. режим работы в реальном времени, m; режим работы в реальном масштабе времени, m pranc.… …   Automatikos terminų žodynas

  • Geschützter Modus — 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… …   Deutsch Wikipedia

  • Kiosk-Modus — Der Kiosk Modus ist ein spezieller Modus für Computerprogramme, in dem die Rechte des Benutzers eingeschränkt sind: So kann der Nutzer z. B. das Programm nicht beenden, eventuell bestimmte Aktionen nicht durchführen, etc. Der Kiosk Modus ist …   Deutsch Wikipedia

  • Echtyeit-Modus — tikralaikis režimas statusas T sritis automatika atitikmenys: angl. real time mode; real time operation mode vok. Echtyeit Modus, m; Realzeitbetrieb, m rus. режим работы в реальном времени, m; режим работы в реальном масштабе времени, m pranc.… …   Automatikos terminų žodynas

  • Lydischer Modus — Die Modi Ionisch Dorisch Phrygisch Lydisch Mixolydisch Äolisch Lokrisch Bildliche Darstellung der Lydischen Tonleiter. (Erläute …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”