RayeR wrote on 2026-05-31, 13:40: I don't know how much the single task DOS would have to be modified to support this.
I actually looked into this around when Microsoft released the MS DOS 4.0 source and the Ozzie binaries, and the answer depends heavily on what someone means by multicore DOS. I see two main projects, each are a ton of work in their own right:
A native SMP DOS like OS using the DOS 4.0 source as a base/reference.
A modern SMP/VM host that runs legacy DOS programs inside VM guests, with a DOS personality layer handling DOS services.
These sound similar from the outside, but internally they are very different. I've included both lists for anyone who wants a starting point or an idea on how much work is required. FWIW I probably missed a bunch of stuff, so it's likely not conclusive.
Native SMP DOS like OS using DOS 4.0 code wrote: This is the make DOS itself multicore aware route. It is closest in spirit to modifying DOS, but it is also the hardest to make […]
Show full quote This is the make DOS itself multicore aware route. It is closest in spirit to modifying DOS, but it is also the hardest to make compatible because DOS was built around global state, single tasking assumptions, and non reentrant services. Core requirements Build a new boot path: UEFI, Multiboot2, or a custom loader.
Bring the BSP into protected mode or long mode with early paging.
Parse ACPI tables, especially RSDP/XSDT/MADT, to enumerate Local APICs and IO APICs.
Wake APs using INIT-SIPI-SIPI.
... continue reading