Introduction:
When a computer is turned on an Operating System must be loaded into the computer's
memory before the user can begin using it. IBM compatible machines use an operating
system called MS-DOS. MS stands for "MicroSoft" (a trade name), while
DOS stands for "Disk Operating System", which tells us that it's original
purpose was to provide an interface between a computer and its disk drives.
Technically, DOS is a high-level interface between an application program and
the computer.
DOS has been extended further, allowing programs to handle the likes of simple
memory management, disk operations, assorted system tasks (e.g. date/time),
user input commands and managing input/output (i/o) devices (i.e. it provides
operating instructions for the computer to manage both hardware and software).
Versions 3.1 and up also provide basic networking functions.
Beyond this, DOS provides the user with the important facility of file and
disk management (often referred to as disk-housekeeping). This part of DOS is
particularly crucial to the user as it was specifically designed for him or
her to interact with.
With the advent of installable device drivers and TSR (Terminate but Stay Resident)
programs in DOS v2.0, the basic DOS functions could be extended to handle virtually
any scale of operations required. This was the first instance of multiple programs
being run at once in DOS. Some TSR's can however interfere with the running
of programs. When a program is loaded into memory it assumes that it has exclusive
use of this memory and will not take into account the fact that another program
(the TSR) is also using this area. Thus a conflict can arise causing the program
to hang (hang means that the screen freezes and the task being executed stops
responding forcing the user to either switch off or reboot the computer).
History:
The development of MS-DOS/PC-DOS began in October 1980, when IBM began searching
the market for a suitable operating system to go with their soon to be released
IBM PC's (commercial Personal Computers). IBM had originally intended to use
Digital Research's industry standard operating system - CP/M (Control Program/Monitor
or Control Program for Microcomputer - originally written in 1973 by Gary Kildall
in his PL/M language). This was never implemented due to uncertain reasons,
the most likely being poor diplomatic relations between the two companies. Later,
IBM approached a relatively small company called Microsoft, which specialised
in language vending. Bill Gates and Paul Allen had written Microsoft BASIC and
were selling it on punched tape or disk to early PC hobbyists.
Earlier, in April 1980, Tim Patterson began writing an operating system for
use with Seattle Computer Products' 8086-based (S100 bus micros) computer. Seattle
Computer Products decided to come up with their own disk operating system, due
to delays by Digital Research in releasing a CP/M-86 operating system. By August
86-DOS or QDOS v0.10 (Quick and Dirty Operating System) was shipped by Seattle
Computer Products. It was a 16-bit version of CP/M. Even though it had been
created in only two man-months, the DOS worked surprisingly well. A week later,
the EDLIN line editor was created. EDLIN was supposed to last only six months,
before being replaced, but it endured for longer.
In September Tim Patterson showed Microsoft his 86-DOS, written for the 8086
chip. At this stage Microsoft had no 8086 real operating system to offer, but
capitalized when, in October, Microsoft's Paul Allen contacted Patterson, asking
for the rights to sell SCP's DOS to an unnamed client (IBM). Microsoft paid
less than $100 000 for the rights. Patterson's DOS v1.0 was approximately 4000
lines of assembler source. This code was quickly polished up and presented to
IBM for evaluation.
An agreement was reached between the two companies and IBM agreed to accept
86-DOS as the main operating system for their new PC. In February 1981, 86-DOS
was run for the first time on IBM's prototype microcomputer. Furthermore, Microsoft
purchased all rights to 86-DOS in July 1981.
In August, IBM announced the IBM 5150 PC, featuring a 4.77-MHz Intel 8088 CPU,
64KB RAM, 40KB ROM, one 5.25-inch floppy drive, and PC-DOS 1.0 (Microsoft's
MS-DOS), for $3000.
Thus, "IBM Personal Computer DOS v1.0" was available for the introduction
of the IBM PC in October 1981. IBM heavily subjected the program to an extensive
quality-assurance test and found there to be well over 300 bugs and decided
to rewrite the programs. This is why PC-DOS is copyrighted to both Microsoft
and IBM.
Some early OEM (Original Equipment Manufacture) versions of DOS had different
names such as Compaq-DOS, Z-DOS, Software Bus 86, etc. By version 2.0 Microsoft
had succeeded to persuade everyone but IBM to call it MS-DOS.
It is interesting to reflect on the fact that the IBM PC was not originally
meant to run MS-DOS. Instead it was supposed to use a (not yet in existence)
8086 version of CP/M. On the other hand, DOS was originally written before the
IBM PC was created. CP/M-86 would have been the main operating system except
for two things: Digital Research wanted $495 for CP/M-86 (considering PC-DOS
was basically free) and many software developers found it easier to port software
from CP/M into PC-DOS than into CP/M-86.
The IBM PC was first shipped without an operating system. IBM only started
including DOS when the second generation AT/339 came out. A user could order
one of three available operating systems: IBM PC-DOS, a version of UCSD p-System
(type of integrated Pascal operating system - like the improved BASIC operating
systems used by the Commodore 64,) and CP/M-86, which was officially an option
even though it was unavailable until later on. Since IBM's $39.95 DOS was much
cheaper than anyone else's it soon became the most popular.
An upgrade from DOS v3.3 to v4.0 was solely done by IBM, it was later licenced
back to Microsoft. In early 1990 IBM declared that it would be ceasing development
of DOS, handing the reigns over to Microsoft from then on.
Microsoft's Press' "MSDOS Encyclopaedia" illustrated an example of
a late DOS v1.25 OEM brochure. Microsoft was praising future enhancement to
v1.25 including XENIX-compatible pipes, process forks and multitasking, as well
as "graphics and cursor positioning, kanji support, multi-user and hard
disk support and networking". Despite these large aspirations, Microsoft
failed to produce the forks, multitasking and multi-user support (at least in
US versions of DOS).
The notice claimed: "MS-DOS has no practical limit on disk size. MS-DOS
uses 4-byte XENIX OS compatible pointers for a file and disk capacity of up
to 4 gigabytes."
For the record they actually delivered:
XENIX-compatible pipes:
DOS 2.0 ("|" operator)
---
process forks, and multitasking:
eDOS 4.0 (not delivered in the US)
---
multi-user:
never delivered
---
graphics and cursor positioning:
DOS 2.0 (ANSI.SYS)
---
kanji support:
DOS 2.01, 2.25 (double-byte character set)
---
hard disk support:
DOS 2.0 (subdirectories)
---
networking:
DOS 3.1 (file locking support MS Networks)
DOS 6.0 (bundled Interlink in with DOS)
---
Microsoft launched an aggressive marketing campaign for MS-DOS. Early Microsoft
advertisements promoted DOS' XENIX-like features and promised XENIX functionality
in future releases.
Microsoft had announced their intention of building a multi-user, multitasking
operating system since as early as 1982. They Shipped beta versions of "DOS
4.0" in 1986/87 before v3.3 was even announced. Microsoft UK had announced
that they had licenced v4.0 to Apricot Computers and the French Postal Service
was supposed to be running it.
MS-DOS and PC-DOS have been run on more than just the IBM-PC and clones:
Hardware PC Emulation:
Apple II |
TransPC 8088 board |
Apple MacIntosh |
AST 80286 board |
Atari 400/800 |
Co-Power 88 board |
Atari ST |
PC-Ditto II cartridge |
Amiga 2000 |
8088 or A2286D 80286 Bridge Board |
IBM PC/RT |
80286 AT adapter |
Kaypro 2 |
Co-Power Plus board |
Software PC Emulation:
Apple MacIntosh |
SoftPC |
Atari ST |
PC-Ditto I |
IBM RS/6000 |
DOS emulation |
DOS Emulation:
AIX (IBM RS/6000) |
DOS emulation with "PCSIMulator" |
OS/2 1.x |
DOS emulation in "Compatibility Box" |
OS/2 2.x |
executes Virtual DOS Machine |
QNX |
DOS window |
SunOS |
DOS window |
XENIX |
DOS emulation with DOSMerge |
|