<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Real_Mode</id>
	<title>Real Mode - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Real_Mode"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Real_Mode&amp;action=history"/>
	<updated>2026-05-24T10:11:48Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Real_Mode&amp;diff=59452&amp;oldid=prev</id>
		<title>imported&gt;Y2kbug: /* DOS-Extender */ Hauptartikel verlinkt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Real_Mode&amp;diff=59452&amp;oldid=prev"/>
		<updated>2026-01-20T15:05:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;DOS-Extender: &lt;/span&gt; Hauptartikel verlinkt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der Begriff &amp;#039;&amp;#039;&amp;#039;{{lang|en|Real Mode}}&amp;#039;&amp;#039;&amp;#039;, eigentlich &amp;#039;&amp;#039;{{lang|en|real address mode}}&amp;#039;&amp;#039; oder eingedeutscht &amp;#039;&amp;#039;&amp;#039;Real-Modus&amp;#039;&amp;#039;&amp;#039;, bezeichnet eine Betriebsart der [[x86-Architektur]], die ab dem [[Intel 80286|80286]] von [[Intel]] unter diesem Namen für den ursprünglich einzigen Betriebsmodus des [[Intel 8086|8086]] existiert.&lt;br /&gt;
&lt;br /&gt;
== Charakteristika ==&lt;br /&gt;
Im {{lang|en|Real Mode}} benutzt der [[Prozessor]] ohne weitere Maßnahmen die gleiche Methode wie der 8086/[[Intel 8088|8088]]-Prozessor, um auf den [[Hauptspeicher]] zuzugreifen und bleibt dabei auf 1024&amp;amp;nbsp;[[Byte#Binärpräfixe|KiB]] beschränkt. Das heißt, aus Sicht des Programmierers ist er wie ein (sehr) schneller 8086 anzusprechen.&lt;br /&gt;
&lt;br /&gt;
Jeder [[x86-Prozessor]] startet nach dem [[Reset]] im {{lang|en|Real Mode}}. Durch eine spezielle Variante des [[Assemblersprache|&amp;#039;&amp;#039;MOV&amp;#039;&amp;#039;]]-Befehls kann man den Prozessor in den {{lang|en|[[Protected Mode]]}} versetzen.&lt;br /&gt;
&lt;br /&gt;
== Bedeutung ==&lt;br /&gt;
Der {{lang|en|Real Mode}} ist der Standardmodus von [[PC&amp;amp;nbsp;DOS]], das mit dem [[IBM Personal Computer|IBM &amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;ersonal &amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;omputer]] im Jahr 1981 eingeführt wurde, und des eigenständig vertriebenen [[MS-DOS]]. Dazu kompatible [[Betriebssystem]]e werden als [[PC-kompatibles DOS]] zusammengefasst, beispielsweise [[DR-DOS|DR DOS]] und die viel später erschienenen [[PTS-DOS]] und [[FreeDOS]], und laufen auf [[IBM-PC-kompatibler Computer|IBM-PC-kompatiblen Computern]]. Der {{lang|en|Real Mode}} wird auch auf [[IBM-PC-kompatibler Computer#DOS-PCs|DOS-PCs]] (das sind [[x86-Architektur|x86]]-PCs, die nicht mit dem IBM PC kompatibel sind) und von nicht mit DOS kompatiblen Betriebssystemen genutzt, beispielsweise [[CP/M-86]]. [[Microsoft Windows|Windows]] unterstützt den {{lang|en|Real Mode}} noch in der Version 3.0 teilweise (s. [[Windows 3.x|Artikel]] zu Windows 3.x) und wird bis [[Windows 9x|9x]] von DOS aus gestartet. Neuere Betriebssysteme für die [[PC (Plattform)|PC-Plattform]] verwenden ihn nur noch während der Startphase, wobei praktisch alle modernen Betriebssysteme bereits zu einem sehr frühen Zeitpunkt in den {{lang|en|Protected Mode}} umschalten.&lt;br /&gt;
&lt;br /&gt;
Zur Ausführung von {{lang|en|Real-Mode}}-Betriebssystemen und der dazugehörigen historischen Software bieten sich PC-[[Emulator]]en wie bspw. [[QEMU]], [[Bochs]] oder [[86Box]] an. 86Box ist in der Lage, konkrete historische Hardware originalgetreu zu emulieren, benötigt dafür aber deren [[Proprietäre Software|proprietäre]] [[Firmware]]. Die Emulationssoftware [[DOSBox]] emuliert nicht nur die Hardware eines IBM-kompatiblen PCs, sondern auch gleich ein zu MS-DOS kompatibles DOS.&lt;br /&gt;
&lt;br /&gt;
== Fehlender Zugriffsschutz ==&lt;br /&gt;
Im {{lang|en|Real Mode}} stellt der Prozessor keinen Zugriffsschutz bereit. Das heißt, dass laufende [[Computerprogramm|Programme]] auf mindestens das ganze erste Megabyte des Arbeitsspeichers (in welchem Bereich z.&amp;amp;nbsp;B. ein PC-DOS untergebracht sein kann) und die [[Hardware]] zugreifen können&amp;amp;nbsp;– ein einzelnes abstürzendes Programm also zu einem kompletten [[Systemabsturz]] führen kann. Dies ist für (zeitgenössische) [[Multitasking]]-Betriebssysteme wie [[Microsoft Windows NT 3.1|Windows NT 3.1]] oder die ersten [[Linux]]-Distributionen und deren Nachfolger allerdings nicht akzeptabel.&lt;br /&gt;
&lt;br /&gt;
== Segmentregister ==&lt;br /&gt;
Im {{lang|en|Real Mode}} benutzt der Prozessor eine sogenannte &amp;#039;&amp;#039;[[Segmentierung (Speicherverwaltung)|Segment]]&amp;#039;&amp;#039;:&amp;#039;&amp;#039;Offset&amp;#039;&amp;#039;-Adressierung. Es existieren vier [[Segmentregister]]: CS (&amp;#039;&amp;#039;{{lang|en|code segment}}&amp;#039;&amp;#039;), DS (&amp;#039;&amp;#039;{{lang|en|data segment}}&amp;#039;&amp;#039;), ES (&amp;#039;&amp;#039;{{lang|en|extra segment}}&amp;#039;&amp;#039;) und SS (&amp;#039;&amp;#039;{{lang|en|stack segment}}&amp;#039;&amp;#039;); ab dem [[Intel 80386|80386]] kommen noch zwei weitere Segmentregister (FS und GS) dazu. Alle Segmentregister enthalten im {{lang|en|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&amp;amp;nbsp;Bit begrenzt ist, ergibt sich eine 20-bittige lineare Adresse, wodurch der direkt und ohne Tricks nutzbare [[Adressraum]] auf 1024&amp;amp;nbsp;[[Byte#Binärpräfixe|KiB]] (2&amp;lt;sup&amp;gt;20&amp;lt;/sup&amp;gt;&amp;amp;nbsp;Byte) beschränkt bleibt. Ab dem [[Intel 80286|80286er]] werden bei „Überadressierung“ und offener [[A20-Gate|A20-Adressleitung]] noch einmal 64&amp;amp;nbsp;KiB (minus 16&amp;amp;nbsp;Byte) im Bereich von FFFF:0010 bis FFFF:FFFF im {{lang|en|Real Mode}} erreichbar. Dieser Speicherbereich wird auch als {{lang|en|[[High Memory Area]]}} bezeichnet.&lt;br /&gt;
&lt;br /&gt;
== {{Anker|Unreal}} Unechter Realmodus („Unreal Mode“, „Big Real Mode“) ==&lt;br /&gt;
Die Beschränkung auf ein [[Megabyte]] Hauptspeicher war schon zu MS-DOS-Zeiten für viele Anwendungen völlig unzureichend. Es gibt aber zwei [[Programmiertrick|Tricks]], mit denen man auch im {{lang|en|Real Mode}} die Segmentregister auf vier GiB erhöhen kann; das Arbeiten im {{lang|en|Real Mode}} jenseits von einem MiB nennt man den „{{lang|en|Unreal Mode}}“. Dieser spezielle Modus gilt als undokumentiert und stellt keine eigene Betriebsart dar.&lt;br /&gt;
&lt;br /&gt;
Der einfache „{{lang|en|Unreal Mode}}“ wird vor allem in [[PC-Spiel]]en der ersten Hälfte der 1990er-Jahre genutzt, da diese meist direkt unter dem {{lang|en|Real-Mode}}-System MS-DOS ablaufen. [[Microsoft Windows|Windows]] war zwar damals bereits ein {{lang|en|Protected-Mode}}-System, bot aber noch keine besondere Unterstützung für Computerspiele, sodass die wenigen damals existierenden [[Windows 3.x|Windows-3.x]]- oder [[Microsoft Windows NT|-NT]]-Spiele die Rechenleistung des Computers nie voll ausschöpfen konnten.&lt;br /&gt;
&lt;br /&gt;
Beide Tricks beruhen darauf, dass der Prozessor auch im {{lang|en|Real Mode}} die Schattenregister der Segmentregister für die Adressberechnung benutzt, auch wenn diese in diesem Modus grundsätzlich nicht direkt erreichbar sind. Über Umwege kann man jedoch die Schattenregister auf Werte setzen, die einen Zugriff auf Speicherbereiche jenseits der 1-MiB-Grenze erlauben, indem entweder der Segmentanfang auf eine Speicheradresse jenseits der 1-MiB-Grenze gesetzt wird, oder (wenn mindestens ein 80386-Prozessor zur Verfügung steht) die Segmentgröße wird von 64&amp;amp;nbsp;KiB auf 4&amp;amp;nbsp;GiB erhöht.&lt;br /&gt;
&lt;br /&gt;
=== Der LOADALL-Trick ===&lt;br /&gt;
Auf dem [[Intel 80286|80286]] und [[Intel 80386|80386]] (und einigen [[Intel i486|486er]]-Modellen) existiert ein undokumentierter Befehl &amp;lt;code&amp;gt;LOADALL&amp;lt;/code&amp;gt; (286) bzw. &amp;lt;code&amp;gt;LOADALLD&amp;lt;/code&amp;gt; (386), mit dem man &amp;#039;&amp;#039;alle&amp;#039;&amp;#039; Register der CPU mit eigenen Werten füllen kann. Dies betrifft insbesondere auch die Register, die im {{lang|en|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.&lt;br /&gt;
&amp;lt;!-- Quellen?&lt;br /&gt;
Es gibt aktuelle Entwicklungen mit LOADALL-Emulationen für x86-SMP-Systeme mit gemischter 16/32/64-Bit-Programmierung und Speicherzugriffen auf bis zu 4 GB installiertem Hauptspeicher.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Der PM-Trick ===&lt;br /&gt;
Der PM-Trick besteht darin, in den {{lang|en|Protected Mode}} zu schalten, die Segmentregister inklusive Schattenregister mit den gewünschten Werten zu laden und dann wieder in den {{lang|en|Real Mode}} zurückzuschalten, wobei die Werte in den Registern erhalten bleiben.&lt;br /&gt;
&lt;br /&gt;
Beim 80286 kann, neben dem oben erwähnten LOADALL-Trick, nur über einen CPU-Reset unter Zuhilfenahme von Programmcode im [[CMOS-RAM]] in den {{lang|en|Real Mode}} zurückgeschaltet werden&amp;lt;ref&amp;gt;{{Internetquelle |autor=Robert Collins |url=https://www.rcollins.org/articles/pmbasics/tspec_a1_doc.html |titel=Protected Mode Basics |werk=rcollins.org |abruf=2025-07-25}}&amp;lt;/ref&amp;gt;, wobei auch die Inhalte der Segmentdeskriptorcaches auf ihre Standardwerte zurückgesetzt werden. Damit funktioniert diese Methode nur auf 80386-Prozessoren und neuer.&lt;br /&gt;
&lt;br /&gt;
== DOS-Extender ==&lt;br /&gt;
{{Hauptartikel|DOS-Extender}}&lt;br /&gt;
Eine andere Möglichkeit, im {{lang|en|Real Mode}} den gesamten Adressraum anzusprechen, sind die [[DOS-Extender]]. Diese Spezialprogramme erlauben die Verwendung des {{lang|en|Real-Mode}}-Betriebssystems MS-DOS (und [[PC-kompatibles DOS|kompatibles DOS]]) durch {{lang|en|Protected-Mode}}-Programme, indem sie jeweils bei Bedarf zwischen den beiden Modi umschalten: das Anwendungsprogramm selbst läuft im {{lang|en|Protected Mode}}, für DOS-Aufrufe wird jeweils in den {{lang|en|Real Mode}} geschaltet.&lt;br /&gt;
&lt;br /&gt;
DOS-Extender haben den Vorteil gegenüber dem {{lang|en|Unreal Mode}}, dass sie meist auch mit Windows, zumindest mit [[Microsoft Windows 95|Windows 95]]/[[Microsoft Windows 98|98]]/[[Microsoft Windows 98 Second Edition|98SE]], noch kompatibel sind; derartige DOS-Programme können also meist auch direkt unter Windows gestartet werden. Der {{lang|en|Unreal Mode}} kann unter diesen Windows-Versionen dagegen nur durch das Starten des Rechners im „MS-DOS-Modus“ genutzt werden, die [[NTVDM]] in [[Microsoft Windows NT|NT]]-basierenden Windows-Versionen unterstützt das nicht.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[System Management Mode]]&lt;br /&gt;
* [[Virtual 8086 Mode]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://download.intel.com/support/processors/pentium4/sb/25366821.pdf Intel IA-32 Software Developer&amp;#039;s Manual - Volume 3A] (PDF-Datei; englisch; 2,9&amp;amp;nbsp;MB)&lt;br /&gt;
* [http://www.os2museum.com/wp/a-brief-history-of-unreal-mode/ A Brief History of Unreal Mode] (englisch)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Navigationsleiste x86-Erweiterungen}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mikroprozessortechnik]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Y2kbug</name></author>
	</entry>
</feed>