Could DOS Have Been a Scaled-Down Version of Xenix?
IBM PC did not run Unix. It simply was not powerful enough.
In early 1982, Byte Magazine (Volume 07 Number 01) published a review of the new IBM Personal Computer 5150. On page 48, it mentions its operating system:
The IBM disk operating system (DOS) (written by Microsoft with help from Seattle Computer Products) bears a superficial resemblance to Digital Research's CP/M operating system. (For example, the IBM DOS gives the prompt "A>".) However, the IBM DOS is a scaled-down version of Microsoft's 16-bit Unix look alike, the Xenix operating system.
Of course, the paragraph is inaccurate1. When IBM approached Microsoft in 1980 to secure the software for its upcoming personal computer, Xenix was already running internally at Microsoft on a PDP-11 machine but was never considered for IBM PC. Instead, a new operating system that was essentially a port of CP/M to Intel’s 8086 microprocessor was acquired from Seattle Computer Products, polished, and rebranded as both IBM PC DOS and MS-DOS; the former shipped with IBM PC, while the later was licensed to most of its clones.
There are a few Unix-like systems that could almost run on the original IBM PC 51502. In retrospect, the idea of MS-DOS being a “scaled down” version of Xenix sounds reasonable. So why was MS-DOS a CP/M derivative and not a Unix?
Difficulties of Porting Unix to Intel 8086/8088
Xenix was more than just a “Unix look alike”. With a wave of 16-bit microprocessors being announced, Microsoft decided to enter the operating system business and licensed Unix Seventh Edition from AT&T. Just like other companies that did the same, Microsoft was not allowed to use the name Unix, so it branded it Xenix and announced it in the summer of 1980. The plan was to port it to the most popular 16-bit microprocessors as they become available and license it to computer manufacturers rather than selling it directly to customers.
For most of its existence up to that point, Unix was developed on DEC’s PDP-11 minicomputers and became pretty much dependent on certain hardware features including memory translation and separate user and kernel operation modes. Intel 8086 (and its cheaper version 8088 that powered the IBM PC) did not support those features so most Unix ports to the CPU involved an external memory management unit (MMU). An article from AT&T Bell Laboratories Technical Journal (Vol. 63, No. 8 Part 2, October 1984) UNIX Operating System Porting Experiences offers some insight into the effort from 1978 that was probably the first port of Unix to Intel’s new 16-bit CPU.
Early ports of Xenix to 8086 also used external MMU chips. One of the best-known examples was Altos 586 - a multi-user Unix server that was not compatible with IBM PC. Xenix which could be run on a PC-compatible machine was not ready until 1984. By that time, its development was largely outsourced to SCO. SCO managed to release Xenix 2.1.3 which did not require an external MMU or any other specialized hardware3.
Unix Memory Requirements
In addition, Unix required far more RAM than was typically available on the early 1980’s microcomputers to run well, or at all. The AT&T Bell Labs article mentions that their port of Unix System III expected between 512 KB and 2 MB of memory. Altos 586 shipped five years later with 512KB-1MB of RAM, and its price started at $8,000 (equivalent to 25k in 2025).
The minimal configuration supported by Xenix 2.3.1 was an IBM PC XT with 128 KB. Other ports of Unix to PC platforms such as Venix 86 and PC/IX 1.0 had even higher requirements.
The original IBM PC started with just 16KB RAM. Barely enough for something like CP/M which was little more than a file system, and a few standardized I/O routines - definitely not enough for a Unix derivative with its rich multi-tasking capabilities.
Conclusion
In 1981 when IBM PC 5150 was released, it was not realistic to run a full Unix on a personal microcomputer. By mid 1980s RAM became cheap enough and memory management issues were solved, but MS-DOS already was well established, and people continued using it even when its limitations became painful.
For a while, Microsoft was committed to Xenix4 until it decided to focus on development of OS/2 and leave Xenix to SCO.
MS-DOS continued to be the most popular operating system well into the 1990s, when it was mostly displaced by Windows 95. Even then it continued being shipped as a part of Windows until the consumer versions of Windows finally switched to NT kernel in 2001.
Not bad for a “quick and dirty” replacement for CP/M coded by a single person in a few months in 1980.
Interestingly, in the editorial of the same Byte Magazine issue, page 6, there is a much more accurate description of MS-DOS and its relationships to Xenix.
QUNIX 1.0, renamed to QNX was first released in 1982 and could run on IBM PC, but with at least 96 KB of RAM;
Unfortunately, I was not able to find any technical details about the port.
There were plans to release XEDOS which was supposed to be a single-user version of Xenix and “upward compatible” with MS-DOS; it was never pulled off.