DOS (/dɒs/, /dɔːs/) is a family of disk-based operating systems for IBM PC compatible computers.
IBM PC DOS (and the separately sold MS-DOS) and its predecessor, 86-DOS, ran on Intel 8086 16-bit processors.
It was developed to be similar to Digital Research's CP/M—the dominant disk operating system for 8-bit Intel 8080 and Zilog Z80 microcomputers—in order to simplify porting CP/M applications to MS-DOS.
However, initial negotiations for the use of CP/M broke down: Digital Research wished to sell CP/M on a royalty basis, while IBM sought a single license, and to change the name to "PC DOS".
There, programmer Tim Paterson had developed a variant of CP/M-80, intended as an internal product for testing SCP's new 16-bit Intel 8086 CPU card for the S-100 bus.
Within a year Microsoft licensed MS-DOS to over 70 other companies,[6] which supplied the operating system for their own hardware, sometimes under their own names.
The FreeDOS project began on 26 June 1994, when Microsoft announced it would no longer sell or support MS-DOS.
Within a few weeks, other programmers including Pat Villani and Tim Norman joined the project.
A kernel, the COMMAND.COM command line interpreter (shell), and core utilities were created by pooling code they had written or found available.
In 1995, Windows 95 was bundled as a standalone operating system that did not require a separate DOS license.
[citation needed] DOS's structure of accessing hardware directly allows it to be used in embedded devices.
There are a number of other emulators for running DOS on various versions of Unix and Microsoft Windows such as DOSBox.
[26][27] DOSBox is designed for legacy gaming (e.g. King's Quest, Doom) on modern operating systems.
As long as application programs used DOS APIs instead of direct hardware access, they could run on both IBM-PC-compatible and incompatible machines.
While these systems loosely resembled the DOS architecture, applications were not binary compatible due to the incompatible instruction sets of these non-x86-CPUs.
DOS provides the ability for shell scripting via batch files (with the filename extension .BAT).
[29] The DOS system files loaded by the boot sector must be contiguous and be the first two directory entries.
This limitation does not apply to any version of DR DOS, where the system files can be located anywhere in the root directory and do not need to be contiguous.
Therefore, system files can be simply copied to a disk provided that the boot sector is DR DOS compatible already.
If the MSDOS.SYS BootGUI directive is set to 0, the boot process will stop with the command processor (typically COMMAND.COM) loaded, instead of executing WIN.COM automatically.
Lastly, DOS allocates letters for optical disc drives, RAM disks, and other hardware.
These names (except for NUL) have continued to be supported in all versions of MS-DOS, PC DOS and DR-DOS ever since.
DOS was designed for the Intel 8088 processor, which can only directly access a maximum of 1 MiB of RAM.
By 1985, some DOS applications were already hitting the memory limit, while much of reserved was unused, depending on the machine's specifications.
WinOldAp creates a virtual machine based on the program's PIF file, and the system state when Windows was loaded.
One makes a bootable floppy disk of the DOS, adds a number of drivers from OS/2, and then creates a special image.
Graphical user interface programs included Digital Research's GEM (originally written for CP/M) and GEOS.
Eventually, the manufacturers of major DOS systems began to include their own environment managers.
[53] Although DOS is not a multitasking operating system, it does provide a terminate-and-stay-resident (TSR) function which allows programs to remain resident in memory.
These programs can hook the system timer or keyboard interrupts to allow themselves to run tasks in the background or to be invoked at any time, preempting the current running program and effectively implementing a simple form of multitasking on a program-specific basis.