Fact-checked by Grok 2 weeks ago

Virtual DOS machine

A Virtual DOS Machine (VDM), also known as NTVDM in the context of Windows NT-based operating systems, is a protected environment subsystem designed to emulate the operating system and 16-bit Windows environments, allowing legacy 16-bit DOS and Windows applications to run within 32-bit Windows architectures. Introduced as part of the lineage starting with in 1993, VDM provides by creating isolated virtual machines that translate 16-bit instructions and calls into native 32-bit operations without requiring . The subsystem operates by launching a dedicated VDM —typically ntvdm.exe—for each 16-bit application, which isolates the legacy code to prevent with the host system's 32-bit processes and enhances security through execution. In multi-session environments like Server, multiple VDM instances can run concurrently, though they do not share code across sessions to maintain isolation, resulting in higher resource consumption compared to native 32-bit applications due to the translation overhead. For 16-bit Windows (Win16) applications, VDM leverages (WOW) layering to handle and , simulating the original Windows 3.x environment while integrating with the Win32 . Historically, VDM technology originated in IBM's OS/2 operating system with OS/2 2.0 in 1992 as a means to support DOS applications on protected-mode platforms, influencing Microsoft's implementation in Windows NT to address enterprise needs for legacy software compatibility. Over time, its relevance diminished with the introduction of 64-bit Windows editions (lacking NTVDM support since Windows XP 64-bit in 2003), and as of 2025, following the end-of-life of Windows 10 on October 14, 2025, native NTVDM support is discontinued in actively supported Windows versions, though third-party emulators and workarounds persist for running DOS-era programs. Key APIs like VDMEnumTaskWOWEx and process creation flags such as CREATE_SEPARATE_WOW_VDM enable developers to manage and debug VDM instances, underscoring its role in debugging and enumeration of 16-bit tasks.

Overview

Definition and Purpose

A Virtual DOS Machine (VDM) is a virtualized environment that emulates the application programming interface (API) of or PC DOS, enabling 16-bit DOS applications to execute on 32-bit or higher architectures lacking native real-mode hardware support. This emulation occurs within a protected-mode process, where the VDM provides a simulated DOS kernel and hardware abstraction layer, allowing legacy software to interact with system resources as if running on original 8086-based systems. The primary purpose of a VDM is to ensure for legacy DOS software in modern multitasking operating systems, permitting these applications to run alongside native programs without requiring a full into a separate DOS environment. By isolating each DOS session in its own —typically limited to 1 MB for the application while leveraging services—a VDM prevents crashes or faults in one DOS program from destabilizing the host system or other running applications. This isolation enhances system stability and resource sharing in protected-mode environments. At its core, a VDM relies on the virtual 8086 (V86) mode of processors, introduced in the Intel 80386, which simulates real-mode execution within a protected-mode context. In V86 mode, the processor sets the VM flag in the EFLAGS register to execute 8086-compatible instructions directly on a virtualized 1 MB , while trapping sensitive operations (such as interrupts and I/O) for emulation by the host operating system. This hardware-assisted allows DOS applications to perform direct hardware access, such as video output or disk I/O, through virtual device drivers that mediate between the guest and host. VDMs target legacy applications from the and that depend on real-mode operations, including text-based utilities for , classic games requiring direct graphics hardware manipulation, and for or . Early precursors, such as Concurrent DOS, laid groundwork for this approach by introducing multitasking for sessions on 286 processors.

Historical Context

During the , dominated personal computing as the primary operating system for PC compatibles, but it operated exclusively in , severely limiting its capabilities to 640 kilobytes of for applications and providing no native support for multitasking. This constraint stemmed from the processor's 20-bit addressing scheme, which allowed only 1 of total , with the upper 384 kilobytes reserved for system , video , and expansion to ensure hardware expandability. As software demands grew for more memory-intensive and concurrent operations, these real-mode limitations became a significant barrier to advancing toward protected-mode operating systems capable of leveraging larger memory spaces and true multitasking. The introduction of Intel's 80386 microprocessor in October 1985 marked a pivotal technological shift, enabling protected-mode execution with a 32-bit that supported up to 4 gigabytes of physical memory and 64 terabytes of through segmentation and paging. Central to this was the processor's , which allowed real-mode code to run within isolated, protected environments under a multitasking host OS, trapping direct hardware accesses and interrupts to prevent system-wide instability. This hardware foundation addressed the growing need for with the vast software ecosystem while supporting the transition to more robust 32-bit operating systems. In response to DOS's shortcomings, IBM and Microsoft initiated a joint development effort for OS/2 in 1985, culminating in the release of OS/2 1.0 in December 1987, which introduced basic DOS compatibility sessions on 80286 processors but supported only a single session at a time and suffered from poor integration due to the lack of advanced virtualization. Early attempts to run DOS applications on these multitasking systems often resulted in crashes or required reboots, as DOS programs directly manipulated hardware without memory protection, risking corruption of the host environment and highlighting the need for virtualized isolation. The partnership frayed by 1990 amid disputes over direction and licensing, leading Microsoft to pursue Windows NT independently, released in 1993, while IBM advanced OS/2 2.0 in 1992—both paths relying on 80386-enabled emulation to sustain 16-bit DOS application support amid the shift to protected-mode architectures.

Early Implementations

Concurrent DOS 8086 Emulation Mode

The 8086 Mode in Concurrent DOS, developed by , enabled the execution of multiple real-mode DOS tasks within a multitasking operating system environment on 80386 processors emulating an 8086/8088 environment, serving as an early mechanism for concurrent program operation without full . This mode integrated PC-DOS and compatibility, allowing users to run standard DOS applications alongside native Concurrent tasks through a that managed processor time slices among active programs. Released as part of Concurrent PC DOS 386 in late , the mode leveraged the 80386 processor's capabilities to support up to four virtual consoles, each hosting an independent session via time-sliced scheduling at intervals of approximately 1/60th of a second. It permitted expanded allocation beyond the conventional 640 limit of standard systems, typically several megabytes per task when using compatible expanded boards such as those from , facilitating early multitasking on 386-based hardware. Device arbitration features prevented conflicts, such as simultaneous printer access, while background tasks like print spoolers operated without dedicating a console. The mode utilized the 80386's to emulate real-mode tasks within a environment, providing isolation between tasks and reducing risks from faulty applications compared to pure real-mode operation, though direct could still cause issues. Programs bypassing calls, such as those writing directly to video , often failed to coexist properly in windows, leading to display conflicts or instability. As a precursor to more robust virtual DOS machines, it prioritized compatibility and basic concurrency over comprehensive .

DOS-Based Virtual DOS Machines

DOS-based virtual DOS machines represent early attempts to introduce multitasking capabilities directly within the MS-DOS and PC DOS environments, enabling users to run and switch between multiple DOS sessions or applications without full operating system overhauls. These extensions relied on software-based techniques to simulate , primarily through task switchers that suspended and resumed programs, bridging the gap from single-tasking DOS to more advanced systems like OS/2. Key examples include the Task Swapper utility in 5.0, released in 1991, which integrated with the MS-DOS Shell to allow loading and switching between up to 13 applications by swapping their memory images to disk or expanded memory. Similarly, 6.0, released in 1991, incorporated TaskMAX, a terminate-and-stay-resident (TSR) program that supported switching among up to 20 tasks, including multiple instances of the same application or separate DOS command interpreters. These tools operated on non-preemptive multitasking principles, where programs ran cooperatively until manually switched or interrupted, often using TSR mechanisms to remain in and into DOS interrupts for context switching. In 5.0's Task Swapper, users activated switching via hotkeys like within the , which froze the current task and loaded another from a swap file, optimizing for systems with limited by leveraging expanded standards like if available. TaskMAX in extended this with enhanced management, moving tasks between conventional, expanded, and via XMS drivers, and supporting features like data copying between applications and customizable swap files for disk-based storage of inactive sessions. This approach provided pseudo-virtualization by maintaining isolated task environments, though it was limited to software without support, prone to conflicts from incompatible TSRs or overlaps. Microsoft's historical reluctance to fully integrate native multitasking into stemmed from challenges encountered in developing the multitasking variant of 4.0 in the mid-1980s, which supported preemptive tasking and but faced compatibility issues with existing software and lacked OEM adoption, leading to its abandonment in favor of the joint IBM-Microsoft project. As a result, 5.0's Task Swapper served as a lightweight, built-in solution reliant on third-party-like TSR techniques, while competitors like filled gaps with more robust tools such as TaskMAX until the shift to protected-mode operating systems. These DOS-hosted innovations acted as precursors to true virtual DOS machines, demonstrating the feasibility of session isolation on real-mode kernels but highlighting the need for in later implementations.

OS/2 Implementation

Multiple Virtual DOS Machines (MVDM)

The Multiple Virtual DOS Machines (MVDM) subsystem debuted with 2.0 in March 1992, developed by as a core component for running multiple applications concurrently within a 32-bit protected-mode operating system. This represented a significant advancement over the single-session Compatibility Box in earlier versions, enabling isolated execution of legacy software alongside native and Windows applications without compromising system stability. MVDM leveraged the 80386 processor's capabilities to provide a fully virtualized environment, marking 's independent evolution of the platform following the 1990 split from . At its core, each MVDM instance operates in a separate 8086 (V86) , emulating an 8086/8088 environment within to ensure isolation between sessions and the host . This architecture uses protected-mode tasks for and per-VDM state management, preventing one application from interfering with others or native processes. Sessions are preemptively multitasked by the OS/2 scheduler, supporting simultaneous execution in windowed or full-screen modes; within multi-application VDMs (MAVDMs), handles interactions among DOS programs. DOS interrupts are handled through software emulation via virtual device drivers like VPIC.SYS (Virtual Programmable Interrupt Controller), which translates hardware events and routes them at privilege level 3 for efficient processing. MVDM integrates seamlessly with OS/2's Workplace Shell, allowing users to launch and manage DOS sessions as desktop objects with customizable settings via the DOS Settings dialog, such as video mode and allocation. Each session supports up to 630 KB of base in , plus the 64 KB High Memory Area (HMA), Upper Memory Blocks (UMBs) from 640 KB to 1 MB, and via XMS 2.0 (up to system limits, often configured to 16 MB or more) and expanded via LIM EMS 4.0 (up to 32 MB). It emulates DOS APIs from versions 3.3 through 5.0, including all documented interrupts like INT 21h for services and INT 31h for DPMI 0.9 mode switching, while supporting terminate-and-stay-resident (TSR) programs and device drivers in UMBs. This preemptive design provided superior stability for DOS multitasking compared to Windows 3.1's model, where a hung application could disrupt the entire system.

Features and Capabilities

The Multiple Virtual DOS Machines (MVDM) subsystem in offers core features that facilitate the execution of applications alongside native OS/2 programs. It supports both full-screen and windowed sessions, allowing users to switch modes for optimal interaction, such as using Alt+Home for toggling in certain configurations. Printer and redirection enables output to route through OS/2's spooler or drivers, integrating legacy printing and communication needs with the host system's resources. sharing further bridges environments by permitting text and graphics exchange between VDMs, OS/2 Presentation Manager applications, and Windows sessions, with shortcuts like Ctrl+Esc for full-screen "Copy All" operations. MVDM's capabilities extend to robust and resource access, supporting EGA and VGA via drivers like VVGA.SYS and VEGA.SYS, which ensure compatibility for graphical DOS software in both single-plane background modes and foreground displays. Sound is managed through OS/2's native audio drivers, including PC speaker access (limited to one VDM at a time via toggles like HW_NOSOUND) and CD-ROM audio support with VCDROM. Networking integration occurs via NDIS drivers and named pipes, enabling DOS applications to utilize OS/2's resources, although exclusive adapter access may apply in multi-VDM scenarios. The system accommodates multiple concurrent VDMs through pre-emptive multitasking, with each session allocated isolated EMS and XMS memory objects, constrained primarily by overall system resources. Unique to MVDM is its tight coupling with the Win-OS/2 environment, where 16-bit Windows applications execute in separate or shared VDMs for seamless desktop integration, often mandating VGA mode to leverage full graphical fidelity. This architecture provides enhanced crash isolation over traditional DOS extenders, as VDMs run in with dedicated memory spaces and handling; a in one session impacts only that VDM, preserving system stability without risking the entire or other processes.

Windows NT Implementation

NTVDM Subsystem

The NT Virtual DOS Machine (NTVDM) was introduced in in 1993 as a user-mode subsystem that emulates the environment on the kernel, enabling the execution of 16-bit and Windows applications on 32-bit x86 systems. This component serves as a , allowing legacy software to run without direct access to the underlying NT , thereby maintaining system stability. Technically, NTVDM relies on the VDM.EXE process to create an emulated DOS session and employs WOWEXEC.EXE to initiate 16-bit Windows applications through the (WoW) layer, which translates 16-bit calls to 32-bit NT APIs. It provides support for 5.0 APIs, ensuring broad compatibility with DOS-based programs while operating within isolated virtual machine instances. NTVDM integrates seamlessly with the Windows NT security model, executing DOS applications under the invoking user's security context to enforce access controls and prevent unauthorized operations. Available exclusively on x86 32-bit editions of the family, it reflects Microsoft's post-OS/2 development priorities, where the NT kernel emphasized enterprise-level stability and portability over extensive consumer-oriented extensions following the 1990 split with .

Usage and Commands

In Windows NT environments, the NTVDM subsystem automatically launches the NTVDM.exe process as the host when a user executes a 16-bit DOS application, providing the necessary emulation layer for compatibility. Manual invocation of NTVDM occurs by running COMMAND.COM from a Windows command prompt, which initiates a DOS session within the emulated environment. The primary command for direct execution is NTVDM.exe followed by the target DOS executable, such as ntvdm.exe c:\dos\app.exe, allowing standalone launch of DOS programs outside of automated subsystem triggers. Environment configuration for each NTVDM instance is managed through CONFIG.NT and files, located in the %SystemRoot%\System32 directory, which parallel traditional DOS and AUTOEXEC.BAT files to set device drivers, paths, and variables like memory allocation. These files are processed upon NTVDM startup to tailor the virtual machine's setup for specific applications. For practical deployment, users can create shortcuts with the target path %windir%\system32\ntvdm.exe c:\dos\app.exe to streamline access to legacy DOS software, ensuring the application runs in a dedicated NTVDM session. Batch files (.BAT) execute seamlessly within an active prompt hosted by NTVDM, inheriting the configured environment from AUTOEXEC.NT. NTVDM integrates with 16-bit Windows applications through the (WOW) layer, which operates within the same NTVDM to enable Win16 program execution, often visualized as a "WOWBOX" subprocess in task management tools. Console output redirection is supported via standard DOS devices like CON, directing text to the hosting window for interactive use.

Security Considerations

The NTVDM subsystem in Windows NT-based operating systems presents several security risks, particularly due to its of 16-bit environments, which can lead to and other exploits when running or 16-bit Windows applications. A notable involves insufficient verification of execution permissions for 16-bit files, allowing local users to bypass access controls and run arbitrary code with elevated privileges, such as level. This issue affects , , and , enabling attackers with local access to execute unauthorized programs through the NTVDM loader without proper checks. Additional risks stem from flaws in NTVDM's interaction with the Windows , which can facilitate local or denial-of-service attacks. For instance, improper validation of calls in the VDM_TIB allows crafted 16-bit applications to trigger unhandled exceptions in the 's #GP trap handler, potentially executing arbitrary in . Similarly, handling errors in NTVDM enable local attackers to corrupt , leading to privilege elevation or system crashes via specially crafted applications. These vulnerabilities impact 32-bit versions of through , as NTVDM operates in user but relies on elevated I/O and hardware emulation that lacks the isolation of modern sandboxes like Windows Sandbox. Unpatched or legacy 16-bit applications running under NTVDM are also susceptible to attacks, as the subsystem's model for compatibility exposes processes to inter-app interference without contemporary protections like (ASLR). Direct hardware access emulation in NTVDM further exacerbates risks, as emulated and I/O operations can be abused to induce denial-of-service conditions by overwhelming system resources or triggering panics, especially from malicious or poorly written programs. Affected systems include and XP, where NTVDM's design prioritizes backward compatibility over strict isolation, allowing user-mode faults to propagate to kernel-level instability. Microsoft has addressed several NTVDM-related issues through security updates, such as MS10-015 for call validation flaws and MS13-063 for memory corruption vulnerabilities, which improve input validation and memory handling to prevent escalation. For systems not requiring 16-bit , mitigation involves disabling NTVDM via ("Prevent access to 16-bit applications" under Administrative Templates) or registry edits, such as setting a DWORD value to disable the subsystem under HKEY_LOCAL_MACHINE\SOFTWARE[Microsoft](/page/Microsoft)\Windows NT\CurrentVersion\WowExec, thereby eliminating the on non-essential setups.

Limitations and Architectural Constraints

The NT Virtual DOS Machine (NTVDM) subsystem imposes several core architectural limitations stemming from its reliance on the x86 Virtual 8086 (V86) mode for emulating 16-bit DOS environments. This mode is unavailable in 64-bit (x64) or ARM64 long mode architectures, rendering NTVDM unsupported on 64-bit editions of Windows, including all versions of Windows 11, which mandate x64 compatibility. Consequently, 16-bit DOS applications cannot run natively on these platforms without alternative emulation layers. Additionally, NTVDM supports emulated memory for DOS applications following standard DOS conventions, including extended memory (XMS) up to available system resources, though limited by the application's memory manager and configuration (e.g., via PIF files, often up to 64 MB or more for DPMI-hosted apps). In contrast to the OS/2 implementation, which supported multiple virtual DOS machines (MVDMs) for multitasking 16-bit sessions, each DOS application launches in its own separate NTVDM process, enabling multiple independent DOS environments to run concurrently within the same user session. This design choice simplifies resource management but may increase overhead for multiple apps compared to shared execution. Furthermore, NTVDM exhibits incompatibilities with (UAC), introduced in , where elevated privileges or UAC prompts can cause session instability or require disabling the feature for reliable operation of certain 16-bit applications. NTVDM's support lifecycle concluded with , the final 32-bit compatible edition, where mainstream servicing ended on October 14, 2025. Paid Extended Security Updates (ESU) are available through October 2028, offering security updates that may address NTVDM vulnerabilities. As of November 2025, no free updates or specific NTVDM revivals beyond ESU have been provided, aligning with the shift toward 64-bit-only architectures and modern application standards. These constraints, compounded by inherent security vulnerabilities that amplify exploitation risks in unpatched environments, have prompted users to resort to virtual machines for legacy compatibility, though such workarounds introduce additional overhead.

Other Implementations and Alternatives

WineVDM

WineVDM serves as the 16-bit subsystem within the Wine compatibility layer, enabling the execution of legacy 16-bit Windows applications and DOS executables on non-Windows platforms such as and macOS. Developed as part of the open-source Wine project, it translates calls to equivalents in user space, avoiding the need for kernel-level or full . This approach allows WineVDM to integrate seamlessly with the host operating system's resources while providing a virtualized environment for older software. Technically, WineVDM builds on Wine's internal thunking layer, which functions similarly to Microsoft's (WOW) mechanism, facilitating communication between 16-bit Win16 applications and the 32-bit Wine runtime. For DOS executables, WineVDM detects the file type and delegates execution to , an integrated x86 emulator, ensuring compatibility for both text-mode utilities and graphical DOS programs. This integration was initially implemented in Wine development release 1.3.12 in January 2011, marking the project's shift from limited native DOS handling to leveraging for broader support. The subsystem operates entirely in user mode, prioritizing lightweight API translation over comprehensive system simulation. WineVDM's design emphasizes x86 architecture emulation via , with no native support for ARM-based systems, limiting its portability to x86/x64 hosts. As a core feature of Wine since version 1.7 and later stable releases, it has evolved to handle diverse workloads, including early Windows 3.x applications. Key advantages include its cross-platform nature, enabling deployment across systems without platform-specific modifications, and its open-source status under the LGPL license, fostering community-driven improvements. Ongoing development as of 2025 continues to enhance game compatibility, with Wine 10.16 introducing 16-bit application support in the new mode for better performance and stability in emulated environments.

Modern Third-Party Solutions

In the absence of official support for the NT Virtual DOS Machine (NTVDM) subsystem in 64-bit versions of Windows, including released in 2021, third-party developers have created open-source alternatives to enable running legacy DOS applications on modern operating systems. These solutions address the architectural constraints of native VDMs by providing layers that mimic DOS environments with enhanced for x64, ARM64, and cross-platform use, often integrating seamlessly with contemporary and features. DOSBox-X, an enhanced fork of the original DOSBox emulator, serves as a versatile third-party option for isolating and executing DOS programs, including support for DOS-based Windows versions like 3.x and 9x. It offers accurate x86 emulation in a contained environment, suitable for both gaming and productivity applications, and runs on , , and macOS without requiring . Community-driven since its inception as a DOSBox extension, DOSBox-X has evolved to include features like integration and configurable hardware emulation, making it a popular choice for users seeking VDM-like isolation on unsupported platforms. vDOS provides a lightweight, Windows-hosted specifically designed to replicate NTVDM functionality on 64-bit systems, allowing text-based applications to run in a virtualized PC with direct access to the host and peripherals. Developed for non-gaming use cases, it automatically detects and launches or 16-bit Windows executables, optimizing for business and legacy software that previously relied on NTVDM. As of May 2025, vDOS version 2025.05.01 remains actively maintained, with updates ensuring compatibility with and later, filling the gap left by Microsoft's deprecation of 16-bit support. OTVDM (also known as otya128/winevdm) is an open-source port of WineVDM to 64-bit Windows, enabling the execution of 16-bit Windows applications (Windows 1.x to 3.x) and executables directly on modern Windows systems without . It emulates the Win16 environment using Wine's libraries in user mode, supporting graphical and text-based legacy software, and integrates with the for seamless launching. Actively developed as of 2025, OTVDM offers features like installer support and bug fixes for specific applications, serving as a lightweight alternative to NTVDM for Windows users. NTVDMx64, a of the original NTVDM initiated in , extends application execution to 64-bit Windows by the 16-bit subsystem natively, enabling users to run executables like .com and .exe files directly from the desktop. This tool integrates with the Windows environment, preserving behaviors such as console output and printer redirection, though it requires administrative installation and may exhibit performance limitations on high-end hardware due to its emulation overhead. Updated as of April 2025, it continues to receive fixes for with recent Windows updates. Similarly, the davidly/ntvdm project, active in the 2020s, offers a modern reimplementation supporting x64 and ARM64 Windows, as well as and macOS, with low CPU usage for running DOS BASIC interpreters and command-line tools. For more comprehensive setups, third-party solutions increasingly incorporate via tools like , where users can install complete DOS operating systems such as or in isolated virtual machines, providing VDM-equivalent separation without native OS dependencies. This approach has gained traction post-2021, as open-source communities emphasize containerized emulation to enhance security against legacy code vulnerabilities, reflecting a broader trend away from Microsoft's unsupported NTVDM toward portable, auditable alternatives.

References

  1. [1]
    Microsoft Security Bulletin MS10-015 - Important
    The Windows Virtual DOS Machine (NTVDM) subsystem is a protected environment subsystem that emulates MS-DOS and 16-bit Windows within Windows NT-based ...Missing: explanation | Show results with:explanation
  2. [2]
    Terminal Server startup, connection, and application - Microsoft Learn
    Jan 15, 2025 · Windows NT allows 16-bit applications (Win16) to run in a Win32 environment by creating a virtual MS-DOS-based computer (VDM) for each Win16 ...
  3. [3]
    CreateProcessA function (processthreadsapi.h) - Win32 apps
    Feb 8, 2023 · A 16-bit Windows-based application runs in a shared Virtual DOS machine (VDM). [in, optional] lpEnvironment. A pointer to the environment ...<|control11|><|separator|>
  4. [4]
    VDMEnumTaskWOWEx function (vdmdbg.h) - Win32 apps
    Feb 22, 2024 · The process identifier of the VDM. This should be the process identifier that the VDMEnumProcessWOW function returns. A pointer to a callback ...Missing: explanation | Show results with:explanation
  5. [5]
    Definition of virtual DOS machine - PCMag
    Software that allows a 16-bit DOS application to run in a 32-bit Windows or OS/2 computer. Throughout the various versions of Windows, virtual DOS machine (VDM ...Missing: explanation - | Show results with:explanation -
  6. [6]
    NTVDM and 16-bit app support - Compatibility Cookbook
    Nov 17, 2021 · NTVDM, or the NT Virtual DOS Machine, is a system component introduced in 1993 for all IA-32 editions of the Windows NT family (not included ...Missing: VDM | Show results with:VDM
  7. [7]
    [PDF] OS/2 Version 2.0 Volume 2: DOS and Windows Environment
    May 14, 1990 · This document describes both the Multiple Virtual DOS Machines (MVDM) com- ponent of OS/2 Version 2.0 and the implementation of Microsoft ...<|separator|>
  8. [8]
    [PDF] INTEL 80386 PROGRAMMER'S REFERENCE MANUAL 1986
    Virtual 8086 mode (also called V86 mode) is a dynamic mode in the sense that the processor can switch repeatedly and rapidly between V86 mode and protected mode ...
  9. [9]
    The 640 K Barrier - The Digital Antiquarian
    Apr 14, 2017 · In “real mode,” the 80286 would function essentially like a turbocharged 8086/8088, with no memory-protection capabilities and with the old ...
  10. [10]
    The 640K memory limit of MS-DOS - XtoF's Lair
    Mar 9, 2018 · All PCs running MS-DOS were limited to 640K of Conventional Memory. This article explains the origin of this limit and all the strategies ...
  11. [11]
    The Intel i386 turns 40 years old - Tom's Hardware
    Oct 19, 2025 · Introduced in October 1985, the third-generation x86 processor was the first 32-bit chip in Intel's PC line, the origin point for the IA-32 ...
  12. [12]
    [PDF] Introduction to the 80386
    Mode and Virtual 8086 Mode. Paging makes it im- possible to guarantee that repeated string instruc- tions can be LOCKed. The 80386 can't require that all ...
  13. [13]
    OS/2 Timeline
    Re OS/2 2.0, both dates are correct. OS/2 2.0 was officially released on March 31, 1992, so that IBM could say it was released in the first quarter of 1992.
  14. [14]
    Half an operating system: The triumph and tragedy of OS/2
    Nov 29, 2019 · OS/2 had the best DOS virtual machine ever seen at the time. It was so good that you could easily run DOS games fullscreen while ...
  15. [15]
    [PDF] Using Concurrent PC DOS - Bitsavers.org
    Digital Research recently announced a new version of Concurrent. PC DOS that takes advantage of the extended memory addressing feature offered by the Intel- ...
  16. [16]
    [PDF] 1126-2004-001_Concurrent_DOS_386_Users_Guide_Nov87.pdf
    Concurrent DOS 386 has been designed for Intel 80386 based computers and takes advantage of its 4 Gbyte address space. It will also support EMS application ...
  17. [17]
    CP/M-86 vs. concurrent CP/M vs Concurrent Dos - Google Groups
    (1986) and Concurrent DOS 386 version 1.0 was introduced in 1987 with ... Using memory boards from AST and others, memory up to 16 MB could be mapped, with ...
  18. [18]
    APPNOTES.TXT: Using Applications with MS-DOS Version 5.0
    ... Program Switch option when running it with MS-DOS Shell Task Swapper. 1.8 Keyboard Conflicts: Some software packages do not support the extended ROM BIOS ...Missing: utility | Show results with:utility
  19. [19]
    [PDF] DR DOS@ 6.0 - User Guide
    ... Switching between applications (TaskMAXrM). TaskMAX makes changing between applications quicker and easier. Using it you can switch from one application to ...
  20. [20]
    Myth Tested: DOS Can't Multitask - Hackaday
    Aug 9, 2023 · It's a piece of common knowledge, that MS-DOS wasn't capable of multitasking. For that, the Microsoft-based PC user would have to wait for the 80386, and ...Missing: VDM | Show results with:VDM
  21. [21]
    Open sourcing MS-DOS 4.0 - Microsoft Open Source Blog
    Apr 25, 2024 · Today, in partnership with IBM and in the spirit of open innovation, we're releasing the source code to MS-DOS 4.00 under the MIT license.
  22. [22]
    The History of Multitasking MS-DOS - starfrost.net - welcome
    Apr 25, 2024 · This article on Multitasking MS-DOS, MT-DOS, or MS-DOS 4.0 (it went by many names), the failed next-generation DOS successor from the mid 1980s.Missing: reluctance | Show results with:reluctance
  23. [23]
    OS/2 2.0
    But major parts of the system were completely new and fully 32-bit, such as the Multiple Virtual DOS Machine (MVDM) support or the memory manager with support ...
  24. [24]
    [PDF] OS/2 Version 2.0 Volume 2: DOS and Windows Environment
    This document describes both the Multiple Virtual DOS Machines (MVDM) com- ponent of OS/2 Version 2.0 and the implementation of Microsoft Windows appli-.
  25. [25]
    Guide to Multitasking Operating Systems:Overview of the OS/2 ...
    Jun 18, 2022 · However, the maximum size for process address spaces is defined at system initialization time and is somewhat less than 4GB, to allow space for ...
  26. [26]
    NT and OS/2 | OS/2 Museum
    ### Summary of Windows NT Development Post-OS/2 Split
  27. [27]
    ntvdm.exe Windows process - What is it? - File.net
    Rating 3.5 (79) It provides the "NT Virtual DOS Machine" (VDM) subsystem on 32-bit Windows machines to run DOS and 16-bit Windows applications.Missing: 1993 WOWEXEC 5.0
  28. [28]
    NTVDM - BetaWiki
    May 11, 2025 · The NT Virtual DOS Machine, otherwise known as the NTVDM, is the compatibility layer that exists to allow MS-DOS-based applications to run on Windows NT.Missing: introduction 1993 WOWEXEC 5.0 APIs
  29. [29]
    MSDOS subsystem and Autoexec.nt / Config.nt - Smallvoid.com
    CONFIG.SYS and AUTOEXEC.BAT are files essential to DOS. They also exist in Windows NT but they are called CONFIG.NT and AUTOEXEC.NT and reside in C:\WINNT\ ...
  30. [30]
    Editing config.nt for Win 10 32 Bit to enable EMS - Microsoft Learn
    Dec 17, 2018 · We are trying to get a legacy 16 bit application running on Win 10 32 bit which requires EMS memory. We have enabled NTVDM on Win 10.Windows 7 and 16 bit programs' problems. - Microsoft Learnconfig.nt and autoexec.nt - Microsoft Q&AMore results from learn.microsoft.com
  31. [31]
    CVE-2002-2401 - NVD
    NT Virtual DOS Machine (NTVDM.EXE) in Windows 2000, NT and XP does not verify user execution permissions for 16-bit executable files, which allows local ...
  32. [32]
    CVE-2010-0232 Detail - NVD
    Jan 21, 2010 · When access to 16-bit applications is enabled on a 32-bit x86 platform, does not properly validate certain BIOS calls, which allows local users to gain ...
  33. [33]
    CVE-2013-3198 Detail - NVD
    ... denial of service (memory corruption) via a crafted application, aka "Windows Kernel Memory Corruption Vulnerability," a different vulnerability than CVE ...
  34. [34]
    Microsoft Security Bulletin MS13-063 - Important
    Aug 13, 2013 · The Windows NT Virtual DOS Machine (NTVDM) subsystem is a protected environment subsystem that emulates MS-DOS and 16-bit Windows within Windows ...Missing: explanation | Show results with:explanation
  35. [35]
    [PDF] Windows Kernel Trap Handler and NTVDM Vulnerabilities - j00ru
    Dec 18, 2012 · A brief history of Real mode, Virtual-8086 mode and Windows. NTVDM. • Prior research. • Case study a. CVE-2013-3196(nt!
  36. [36]
    Vista limits DPMI servers to a max of 32mb - VOGONS
    Mar 31, 2007 · It appears that 32MB is the minimum allowed; the maximum has not been determined, but is almost certainly 2GB or less.Does VDMSound work under WinXP+SP3?Rayman 1More results from www.vogons.orgMissing: VDM | Show results with:VDM
  37. [37]
    NTVDM.EXE stopped working - Windows Vista and Windows 7
    Jan 1, 2009 · Try turning off User Account Control and also try running the program in compatibility mode. That solves most problems with compatibility issues ...
  38. [38]
    Windows 10 support has ended on October 14, 2025
    Windows 10 support ends on October 14, 2025. Upgrade to Windows 11 now to ensure continued security and feature updates. Learn more about the transition.
  39. [39]
  40. [40]
    The Wine development release 1.3.12 is now available.
    ### Summary of DOSBox Integration and Winevdm in Wine 1.3.12
  41. [41]
    Wine 1.3.12 Brings Initial DOSBox Integration - Phoronix
    Jan 21, 2011 · The support for DOSBox in Wine 1.3.12 appears to be limited to trying to execute DOSBox if DOS is not supported natively via the winevdm. A ...
  42. [42]
    Wine 10.16 - GitLab - WineHQ
    Fast synchronization support using NTSync. 16-bit apps supported in new WoW64 mode. Initial support for D3DKMT objects. WinMD (Windows Metadata) files generated ...
  43. [43]
    DOSBox-X - Accurate DOS emulation for Windows, Linux, macOS ...
    DOSBox-X is an open-source DOS emulator for running DOS applications and games. DOS-based Windows such as Windows 3.x and Windows 9x are officially supported.About the DOSBox-X project · DOSBox-X’s Feature Highlights · Release Notes · Wiki
  44. [44]
    Home - DOSBox-X Wiki
    Like DOSBox, it emulates a PC necessary for running many MS-DOS games and applications that simply cannot be run on modern PCs and operating systems. However, ...Guide: DOS games in DOSBox-X · Clipboard Support in DOSBox-X
  45. [45]
    vDos | Home
    vDos lets you conveniently run DOS applications by emulating an extended DOS PC in a window. Not in a nostalgic manner, as once in DOS or NTVDM, but optimized ...Download · FAQs · Reviews/links · Intro
  46. [46]
    [PDF] Getting started - vDos
    vDos will determine what it is supposed to be: A DOS or Windows program. And will start that inside the virtual PC (DOS program), or in a new window (Windows ...
  47. [47]
    leecher1337/ntvdmx64: Run Microsoft Windows NTVDM (DOS) on ...
    For the impatient ones, who don't want to read: ntvdmpatch\doc\autobuild.txt should be the fastest way to get NTVDMx64 compiled.
  48. [48]
    davidly/ntvdm: NT Virtual DOS Machine. Not the real one ... - GitHub
    NT Virtual DOS Machine. Not the real one, but this one runs on 64-bit Windows (x64 and ARM64). It also runs on Linux (32 and 64 bit) and MacOS.Missing: introduction 1993 WOWEXEC