

Some machines, like the, were MS-DOS compatible but not IBM-compatible, so they could only run software written exclusively for MS-DOS without dependence on the peripheral hardware of the IBM PC architecture. Thus, there were many different versions of 'MS-DOS' for different hardware, and there is a major distinction between an IBM-compatible (or ISA) machine and an MS-DOS compatible machine. The would use a development kit provided by Microsoft to build a version of MS-DOS with their basic I/O drivers and a standard Microsoft kernel, which they would typically supply on disk to end users along with the hardware. To this end, MS-DOS was designed with a modular structure with internal device drivers, minimally for primary disk drives and the console, integrated with the kernel and loaded by the boot loader, and installable device drivers for other devices loaded and integrated at boot time. Each computer would have its own distinct hardware and its own version of MS-DOS, similar to the situation that existed for, and with MS-DOS emulating the as CP/M to adapt for different hardware platforms. This became possible because of the increased availability of RAM compared to what was typically available when CP/M was designed originally.) Originally MS-DOS was designed to be an operating system that could run on any 8086-family computer. (86-DOS, in turn, was a clone of 's (for 8080/Z80 processors), ported to run on processors and with two notable differences compared to CP/M, an improved disk sector buffering logic and the introduction of instead of the CP/M filesystem.
