MS-DOS 6.22 and OS/2 Memory Sharing Explained
MS-DOS 6.22 contains no configuration entry or command that allows it to share physical memory with OS/2. Because both platforms are standalone operating systems designed around conflicting processor modes—16-bit real mode for DOS and 16-bit or 32-bit protected mode for OS/2—they cannot execute simultaneously on bare metal to pool or exchange memory. Understanding how these systems interact requires looking at the limitations of MS-DOS configuration files, the mechanics of dual-boot setups, and the way OS/2 handles DOS emulation.
The Architectural Limitation of MS-DOS 6.22
MS-DOS 6.22 operates in real mode, giving it direct, unmanaged access
to the first 1 MB of system RAM (conventional and upper memory). It
relies on drivers like HIMEM.SYS and
EMM386.EXE to manage extended (XMS) and expanded (EMS)
memory for DOS applications.
None of the standard CONFIG.SYS directives in MS-DOS
6.22—such as DOS=HIGH,UMB, DEVICE,
BUFFERS, or FILES—contain functionality for
multi-OS memory sharing. MS-DOS was engineered as a single-tasking,
single-user system that assumes full control over the hardware resources
granted to it at boot time.
Dual-Boot Mechanics vs. Memory Sharing
When MS-DOS 6.22 and OS/2 coexisted on the same physical hard drive,
users typically alternated between them using a dual-boot utility (such
as OS/2 Boot Manager or the BOOT /DOS and
BOOT /OS2 commands).
In a dual-boot scenario:
- Only one operating system resides in RAM at any given time.
- Rebooting from one system to the other completely flushes physical memory.
- The file systems may be shared (such as an FAT16 partition readable by both OS/2 and MS-DOS), but physical memory (RAM) is never shared.
Memory Allocation in OS/2 Virtual DOS Machines (VDMs)
Confusion regarding memory sharing often stems from running MS-DOS sessions inside OS/2. Starting with OS/2 2.0, IBM introduced Multiple Virtual DOS Machines (MVDMs), allowing DOS applications or specific versions of MS-DOS to run concurrently under OS/2's protected mode preemptive multitasking kernel.
In this environment:
- OS/2 manages all physical memory allocation.
- Memory limits for the DOS environment are configured through OS/2 session settings, not through MS-DOS 6.22 configuration entries.
- Key OS/2 DOS session settings include
DOS_RMSIZE(conventional memory limit),DPMI_MEMORY_LIMIT,EMS_MEMORY_LIMIT, andXMS_MEMORY_LIMIT. - If a native MS-DOS 6.22 boot image is loaded inside an OS/2 VDM (via
VMDISK), special OS/2 drivers such asFSFILTER.SYSmay be added to access host OS/2 file systems, but memory allocation remains strictly governed by the OS/2 host kernel.
Because MS-DOS 6.22 lacks the preemptive multitasking architecture
and memory-protection awareness required to negotiate memory with
another operating system, no setting in its native
CONFIG.SYS or AUTOEXEC.BAT enables cross-OS
memory sharing.