<?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=Virtual_DOS_Machine</id>
	<title>Virtual DOS Machine - 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=Virtual_DOS_Machine"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Virtual_DOS_Machine&amp;action=history"/>
	<updated>2026-05-18T11:33:58Z</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=Virtual_DOS_Machine&amp;diff=273579&amp;oldid=prev</id>
		<title>imported&gt;Siegbert v2: Archivversion für toten Link / Beleg hinzugefügt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Virtual_DOS_Machine&amp;diff=273579&amp;oldid=prev"/>
		<updated>2026-04-10T03:09:01Z</updated>

		<summary type="html">&lt;p&gt;Archivversion für toten Link / Beleg hinzugefügt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Überarbeiten}}&lt;br /&gt;
&lt;br /&gt;
Die &amp;#039;&amp;#039;&amp;#039;{{lang|en|Virtual DOS Machine}}&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;VDM&amp;#039;&amp;#039;&amp;#039;) ist eine [[virtuelle Maschine]], die in den [[32-Bit-Architektur|32-Bit]]-[[x86-Architektur|x86]]-Versionen der [[Microsoft Windows NT|Windows-NT]]-[[Betriebssystem]]-Familie von [[Microsoft]] enthalten ist. Ihr Zweck besteht darin, die Kompatibilität mit älterer Software sicherzustellen, die für [[MS-DOS]] (und [[PC-kompatibles DOS|dazu kompatiblem DOS]]) entwickelt wurde.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://learn.microsoft.com/en-us/windows/compatibility/ntvdm-and-16-bit-app-support |titel=NTVDM and 16-bit app support |werk=learn.microsoft.com |hrsg=Microsoft |sprache=en |abruf=2026-04-10}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionsweise ==&lt;br /&gt;
Die &amp;#039;&amp;#039;{{lang|en|Virtual DOS Machine}}&amp;#039;&amp;#039;, initiiert durch {{Monospace|ntvdm.exe}} – daher auch „NTVDM“, ist eine Emulationsschicht, die eine DOS-Umgebung und PC-Hardware-Komponenten für Programme simuliert: einen [[x86-Prozessor]] im {{lang|en|[[Real Mode]]}}, einen [[Intel 8253]]/8254 [[Programmable Interval Timer|PIT]], [[Video Graphics Array|CGA/EGA/VGA]]- und [[BIOS (IBM PC)|PC-BIOS]] sowie die gängigen DOS-Speicheradressierungsschnittstellen [[Expanded Memory Specification|EMS]], [[Extended Memory Specification|XMS]] und [[DOS Protected Mode Interface|DPMI]]. Für die DOS-Programme erscheint es damit so, als würden sie unter MS-DOS laufen, allerdings sind weit nicht alle Programme mit den Einschränkungen der NTVDM kompatibel – DOS-Programme wurden für die [[Softwareinterrupt|INT-21h-Schnittstelle]] von [[PC-kompatibles DOS|DOS]] und/oder den direkten Hardwarezugriff entwickelt und nicht für die [[Windows Application Programming Interface|Windows-Programmierschnittstelle]] [[Win32]].&lt;br /&gt;
&lt;br /&gt;
Unter Windows werden alle Ressourcen einzig vom [[Kernel (Betriebssystem)|Kernel]] verwaltet, sodass ein direkter Zugriff auf die Hardware ausgeschlossen werden muss. Um dies zu garantieren, fängt die &amp;#039;&amp;#039;{{lang|en|Virtual DOS Machine}}&amp;#039;&amp;#039; Maschineninstruktionen ab, die unter Windows nicht zulässig sind (und zu &amp;#039;&amp;#039;{{lang|en|[[Ausnahmebehandlung|Exceptions]]}}&amp;#039;&amp;#039; führen würden), aber in DOS ungeschützt wären. Diese Instruktionen werden entweder emuliert oder übersetzt (z.&amp;amp;nbsp;B. {{Monospace|int}}, {{Monospace|in}}/{{Monospace|out}}, {{Monospace|cli}}/{{Monospace|sti}}, {{Monospace|[[HLT (Maschinenbefehl)|hlt]]}}) oder weiterhin unterbunden (z.&amp;amp;nbsp;B. der direkte Zugriff auf Datenträger). Anfragen an das Betriebssystem, wie das Lesen oder Schreiben von Dateien, werden von der VDM in entsprechende Windows-Funktionen übersetzt.&lt;br /&gt;
&lt;br /&gt;
Linearer Framebuffer-Zugriff (LFB), der in [[VESA BIOS Extension|VESA 2.0]] eingeführt wurde, ist unter Windows in einer &amp;#039;&amp;#039;{{lang|en|Virtual DOS Machine}}&amp;#039;&amp;#039; mittels NTVDM nicht möglich, da dessen [[DOS Protected Mode Interface|DPMI]] nur VESA-Modi ohne linearen Framebuffer-Zugriff unterstützen. Einige DOS-Anwendungen ermöglichen es aber, die höheren VESA-Modi per [[Kommandozeilenparameter]] nicht zu nutzen und auf VESA 1.2 zurückzufallen, das kein LFB, sondern [[Bank Switching]] nutzt, was von der NTVDM und dessen DPMI unterstützt wird.&amp;lt;ref&amp;gt;{{Internetquelle |url=http://www.sierrahelp.com/XPHelp/VESAModesAndXP.html |titel=VESA Support &amp;amp; XP |werk=sierrahelp.com |sprache=en |abruf=2022-01-10}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es ist möglich, mehrere Instanzen einer &amp;#039;&amp;#039;{{lang|en|Virtual DOS Machine}}&amp;#039;&amp;#039; gleichzeitig auf einem Windows-Betriebssystem auszuführen. Durch spezielle [[Wrapper (Software)|Wrapper]]-Funktionen können Windows-Anwendungen auf den Inhalt der VDM zugreifen.&lt;br /&gt;
&lt;br /&gt;
Die &amp;#039;&amp;#039;{{lang|en|Virtual DOS Machine}}&amp;#039;&amp;#039; macht sich den &amp;#039;&amp;#039;{{lang|en|[[Virtual 8086 Mode]]}}&amp;#039;&amp;#039; (VM86) der [[x86-Architektur]] zunutze, um DOS-Programme auszuführen. Da jedoch der Virtual-86-Modus auf [[x86-Prozessor]]en im 64-Bit-Modus {{lang|en|[[x64#Betriebsmodi|Long Mode]]}} nicht verfügbar ist, wird die NTVDM bei [[64-Bit-Architektur|64-Bit]]-Versionen von Windows nicht mehr mitgeliefert.&amp;lt;ref&amp;gt;{{Internetquelle |url=https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/programmer-references/24593.pdf |titel=AMD64 Architecture Programmer’s Manual – Volume 2: System Programming |werk=amd.com |hrsg=AMD |datum=2023-06 |seiten=11 ff. |format=PDF; 19,4&amp;amp;nbsp;MB |sprache=en |archiv-url=https://web.archive.org/web/20230930084941/https://www.amd.com/content/dam/amd/en/documents/processor-tech-docs/programmer-references/24593.pdf |archiv-datum=2023-09-30 |abruf=2024-02-10}}&amp;lt;/ref&amp;gt; Die für Linux entwickelte virtuelle DOS-Umgebung [[DOSEMU]] teilt dieses Schicksal und emuliert den {{lang|en|Real Mode}} deswegen in Software. Alternativen zur NTVDM sind entweder [[Emulator]]en, [[virtuelle Maschine]]n oder [[Interpreter]].&lt;br /&gt;
&lt;br /&gt;
== Alternativen ==&lt;br /&gt;
Das aus dem [[ReactOS]]-Projekt stammende Pendant unterstützt auch 64-Bit-Varianten von Windows, also die [[x64]]-Architektur, indem es (wie DOSEMU) den {{lang|en|[[Real Mode]]}} vollständig emuliert.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Ziliang Guo |url=https://reactos.org/blogs/ntvdm-progress/ |titel=NTVDM progress |werk=reactos.org |datum=2014-03-13 |sprache=en |abruf=2024-01-29 |kommentar=[[GitHub]]-Projekt: [https://github.com/TheDeadFish/dosEx64 dosEx64]}}&amp;lt;/ref&amp;gt; Die ReactOS-NTVDM ist jedoch nicht in gleicher Weise in Windows integrierbar, stattdessen muss jedes DOS-Programm mit dem Kommando &amp;lt;code&amp;gt;ntvdm.exe &amp;amp;lt;program&amp;amp;gt;.exe&amp;lt;/code&amp;gt; (analog zum &amp;lt;code&amp;gt;start&amp;lt;/code&amp;gt;-Kommando, wobei {{Monospace|&amp;amp;lt;program&amp;amp;gt;.exe}} durch das zu startende Programm zu ersetzen ist) ausgeführt werden. Derzeit funktioniert damit jedoch nur der Fenstertextmodus.&lt;br /&gt;
&lt;br /&gt;
Eine für den Anwender weniger aufwendige Alternative zur NTVDM stellt ein [[Interpreter]] dar, wie z.&amp;amp;nbsp;B. [[DOSBox]], weil die Installation eines kompatiblen DOS-Betriebssystems entfällt. Außerdem bietet DOSBox eine Vielzahl weiterer Möglichkeiten zur Steuerung der Umgebung, in der ein DOS-Programm abläuft, und benötigt zudem keine Treiber für emulierte Hardware. DOSBox emuliert auf Nicht-x86-Hardware einen Intel-Prozessor ([[Intel 80386|i386]], [[Intel i486|i486]] oder [[Intel Pentium|Pentium]]), virtualisiert hingegen die meisten x86-[[Maschinenbefehl|Instruktionen]], wenn es auf einem x86-Prozessor läuft. Komponenten wie die Soundkarte werden hingegen in beiden Fällen emuliert. Ein Treiber ist nicht notwendig, da dessen Funktionen von der virtuellen DOS-Umgebung ebenfalls bereitgestellt werden.&lt;br /&gt;
&lt;br /&gt;
Eine weitere Alternative zur &amp;#039;&amp;#039;{{lang|en|NT Virtual DOS Machine}}&amp;#039;&amp;#039; sind vollständige [[Emulator]]en für den [[IBM-PC-kompatibler Computer|IBM-kompatiblen]] [[Personal Computer|PC]], bei dem ein gesamter Computer inklusive Prozessor in Software nachgebildet wird. Darauf muss ein PC-Betriebssystem jedoch von Hand installiert werden. Zur Nutzung als VDM-Alternative muss der [[Benutzer]] daher ein PC-kompatibles DOS zur Verfügung haben – beispielsweise das unter der [[GNU General Public License|GPL]] stehende [[FreeDOS]], das daher quelloffen und gratis ist. Zusätzlich zur Installation von DOS sind noch die einzelnen DOS-[[Gerätetreiber|Treiber]] für die emulierte Hardware erforderlich, sowie deren im Vergleich mit anderen Betriebssystemen aufwändigere Konfiguration (siehe {{Monospace|[[CONFIG.SYS]]}} und {{Monospace|[[AUTOEXEC.BAT]]}}), damit bestimmte Funktionen genutzt werden können, beispielsweise die Audio-Ausgabe. Aufgrund der [[plattformübergreifend]]en Verfügbarkeit von Emulatoren können DOS-Programme derart nicht nur auf Windows, sondern auf einer Vielzahl weiterer [[Betriebssystem]]e und [[Rechnerarchitektur]]en ausgeführt werden. Ein Beispiel dafür ist [[Bochs]], aber auch [[virtuelle Maschine]]n (kurz: VM) wie [[QEMU]], [[Virtual&amp;amp;nbsp;PC]], [[VirtualBox]] und [[VMware]] können zum Virtualisieren oder Emulieren von DOS genutzt werden. Weil eine Emulation sehr aufwendig ist, läuft ein emuliertes DOS meist um einiges langsamer ab als das nativ gestartete Betriebssystem. Bei einer Virtualisierung werden Teile der emulierten Hardware ebenfalls nativ ausgeführt, was einen Geschwindigkeitsvorteil bringt, sodass auch Emulatoren auf der [[x86-Architektur]] oft u.&amp;amp;nbsp;a. den Prozessor virtualisieren, und somit nur Teile der Hardware emulieren.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Liste von Virtualisierungsprodukten]]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* {{Literatur |Autor=[[Andrew S. Tanenbaum]] |Titel=Moderne Betriebssysteme |Verlag=Pearson Studium Verlag |Datum=2003 |Sprache=de |ISBN=3-8273-7019-1}}&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Emulator]]&lt;br /&gt;
[[Kategorie:DOS]]&lt;br /&gt;
[[Kategorie:Windows-Software]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Siegbert v2</name></author>
	</entry>
</feed>