x86-Programmierung und -Betriebsarten (Teil 6)

Die sechsteilige Artikelserie behandelt die Speicheradressierung und die x86-Betriebsarten. Der letzte Teil widmet sich einer weiteren Altlast der x86-Prozessoren - dem mysteriösen Virtual-8086-Modus.

Mit dem 80386 wurde ein neuer Betriebsmodus eingeführt, der ähnlich wie der Protected Mode des 80286 zu allerlei Verwirrung und Mythisierungen führte.

Der Antrieb zur Implementierung des Virtual Modes lag in der ganz enormen Anzahl von Programmen für den PC unter MS-DOS, einem reinen Real-Mode-Betriebssystem. Auch der leistungsfähigste x86-Prozessor arbeitet unter MS-DOS stets im Real Mode und kann damit nur das erste der 4096 MByte des 32-Bit-Adressraums benutzen. Darüber hinaus werden weder die umfangreichen Schutzmechanismen des Protected Modes noch die Paging-Mechanismen ab dem 80386 benutzt. Der Virtual Mode soll nun einerseits den Betrieb unveränderter Real-Mode-Programme für den 8086 ermöglichen und andererseits die Schutzmechanismen des Protected Modes ausnutzen.

Das Besondere dabei ist, dass die virtuellen 8086-Tasks parallel zu anderen virtuellen Tasks ablaufen können, das heißt es findet ein Multitasking mit nicht multitasking-fähigen Programmen statt. 8086-Programme unter MS-DOS sind nicht multitasking-fähig, da DOS als Betriebssystem nicht reentrant ist: Wird eine DOS-Funktion durch einen Interrupt unterbrochen, der ebenfalls eine DOS-Funktion aufruft, so stürzt der PC häufig ab, da nach einem IRET der ursprüngliche Stack zerstört ist. Aus diesem Grund ist die Programmierung von residenten (TSR-) Programmen relativ schwierig. Mit Hilfe des Virtual Modes und Paging lassen sich diese Schwierigkeiten aber elegant umgehen. Den Virtual-8086-Mode nutzen zum Beispiel die DOS-Fenster von Windows oder OS/2 aus.

Serie: x86-Programmierung und -Betriebsarten

Teil 1

Code-/Datensegment, Befehlszähler und Stack

Teil 2

Adressierungsarten und Befehlsdekodierung sowie Real Mode

Teil 3

Interrupts und Exceptions

Teil 4

Der Protected Mode

Teil 5

Paging

Teil 6

Der Virtual-8086-Modus

Die Artikelserie basiert auf dem Kapitel 6 des "PC Hardwarebuch" von Addison-Wesley. In unserem Buch-Shop können Sie das über 1200 Seiten starke Kompendium bestellen oder als eBook downloaden.