DOS
DOS (pronounced Doss) has become the accepted name for the line of operating systems
whose names have included QDOS, 86-DOS, IBM Personal Computer DOS, and MS-DOS. At
its peak, DOS was by far the most widely used computer program in the world. While
at one time "DOS" was a generic term for "Disk Operating System", this is no longer
the case, at least within the personal computer industry. ("OS" is now the generic
term.)
Although DOS became popular by tagging along with the success of the IBM Personal
Computer, its origin actually goes back to an earlier generation of microcomputers.
The first widely used microcomputers were built around a chassis called the S-100
Bus. This began with the introduction of the Altair 8800 by Micro Instrumentation
and Telemetry Systems in 1975. The motherboard of the Altair had no active components
on it - just a row of 100-pin connectors. The connectors would accept a 5" x 10"
circuit board that added a specific function to the computer. The microprocessor
itself would be on the CPU card; additional cards would have memory (RAM) and interfaces
to a TeleType or keyboard and video display.
In 1978, Seattle Computer Products (SCP) of Tukwila, Washington, was a manufacturer
of S-100 memory cards. One of their customers was the only computer store in Seattle
at the time, The Retail Computer Store. The store's repair technician, Tim Paterson,
was a full-time student at the University of Washington and user of an IMSAI 8080
microcomputer since 1976. When the owner of SCP, Rod Brock, came by the store to
make deliveries and take orders, Paterson complained about some problems they were
having with the product. After Paterson graduated that June, he went directly to
work for SCP to fix those problems. Paterson was the only full-time engineer at
SCP, and all design was turned over to him.
In July of 1978, Intel released their new 8086 microprocessor. Brock sent Paterson
to an Intel seminar to find out what it was all about. Up until that time, almost
all S-100 computers used the Intel 8080 microprocessor or the newer and faster Zilog
Z80. Both were 8-bit microprocessors, and could run the same software. The 8086
was a 16-bit microprocessor with the potential to be much faster, although existing
8-bit software would not run on it.
Brock gave Paterson the go-ahead to begin designing an 8086 CPU card for the S-100
Bus, and the first prototypes were working in May, 1979. SCP contacted Microsoft
to see about getting 16-bit software for their new computer. As it turned out, Microsoft
was fully underway developing software for the 8086, and they were ready to test
it on real hardware. Microsoft had moved from Albuquerque, New Mexico, to Bellevue,
Washington in early 1979, just a 30-minute drive from SCP's offices. Paterson packed
up the prototype and set to work with Bob O'Rear at Microsoft to bring up Stand-Alone
Disk BASIC on it.
SCP began shipping their 8086 computer system in November 1979 with Microsoft Stand-Alone
Disk BASIC as the only software to run on it. Although BASIC was a suitable programming
language for hobbyists to use on their own machines, very little commercial software
was written with it. In order to get a software base for their machine that would
make it truly useful, SCP needed a general-purpose operating system for it.
Among 8-bit computers, the CP/M operating system from Digital Research had become
the standard. Digital Research was known to be working on a 16-bit version for the
8086 microprocessor, CP/M-86, and had expressed interest in using a prototype of
the SCP 8086 CPU card to aid in their development (SCP declined). CP/M-86 was expected
to be available by the end of 1979.
By April of 1980, CP/M-86 had not yet arrived and SCP was very concerned. Sales
of the 8086 computer system were minimal, since only developers or hobbyists who
wanted to be on the leading edge would be interested in computer with no real software.
Paterson proposed to Brock that SCP take control of the situation by writing their
own operating system instead of relying on someone else. Paterson had graduated
with a Bachelor of Science in Computer Science, Magna Cum Laude. Although he had
gone directly to work for SCP after graduation, he also dabbled in graduate school.
The coursework included a class in operating systems, and he wrote a multi-tasking
operating system for the Z80 microprocessor as a term project. He felt qualified
to write an operating system for the 8086, and thought he could make it better than
CP/M. Paterson proposed a two-phase software development project: first, a quick
and dirty operating system, to fill the immediate need for SCP's 8086 computer;
second (and never realized), a much more refined operating system available in both
a single-user and multi-user version. Again, Brock gave Paterson the go-ahead.
Paterson's primary objective in the design of DOS was to make it as easy as possible
for software developers to write applications for it. To achieve this, Paterson
sought to make the Application Program Interface (API) compatible with CP/M. While
a given 8-bit program written for CP/M could not be directly run on the 16-bit 8086,
it was possible for that program's author to translate it in a semi-automated process
so that it would. CP/M compatibility of the API was key to making the translated
program run correctly. Also, it was hoped that the familiarity of the CP/M-style
API would make it easier for developers to learn to write programs for DOS.
The secondary objective in the design of DOS was to make it fast and efficient,
so it was written entirely in 8086 assembly language. Paterson was particularly
concerned about the way files were organized on disk; he felt that the format used
by CP/M was a significant bottleneck. After evaluating techniques used by Unix,
ISIS, UCSD P-System, and others, he settled on a variation of the system used by
Microsoft Stand-Alone Disk BASIC. It used a File Allocation Table (FAT), which was
extremely compact. To Paterson, it seemed quite suitable for the 1.2 MB floppy disks
of the day, and could handle disks up to 64 MB, if microcomputers ever needed anything
of that size!
Over the months from April through July, 1980, Paterson was able to spend about
half his time working on QDOS, the Quick and Dirty Operating System. It began shipping
with the 8086 computer system in August. SCP approached Microsoft about adapting
their software to run under DOS, who said it was possible - for a price.
Shortly afterward, Microsoft came back to SCP with a different proposal. Microsoft
offered to market DOS for SCP, and they already had the first customer lined up,
although they couldn't reveal who it was. They made a deal: Microsoft would pay
SCP $10,000 for the right to market DOS, and $15,000 for each OEM customer. The
per-customer figure was half of what SCP figured was the going rate for a flat-fee
license, which was a common arrangement at the time. So SCP came away with $25,000
in cash, and Microsoft had obtained an operating system for their secret customer,
IBM.
Microsoft had been with working with IBM on their personal computer project since
the outset. Microsoft originally sent IBM to Digital Research for the operating
system, but IBM felt rebuffed when Digital Research would not sign a non-disclosure
agreement. So Microsoft offered them an alternative by striking the deal with SCP
for DOS.
In July of 1981, the month before the IBM Personal Computer was announced, Microsoft
offered to buy DOS (now called 86-DOS) from SCP instead of continuing to pay a $15,000
per-customer royalty. This would give Microsoft flexibility in pricing, and return
SCP back to its roots as a hardware company. Microsoft paid $50,000, plus a license
for SCP to include DOS with their computer systems. Five years later, Microsoft
and a struggling SCP fought a legal battle over the specifics of that DOS license;
in the end, it was settled by Microsoft buying the license back for a reported $925,000.
Thus Microsoft's payments to SCP for DOS ended up totaling an even $1,000,000.
In the early days of the IBM PC, DOS was viewed as IBM's proprietary operating system.
Microsoft set out to change that in 1982 by trying to interest their OEM customers
- who were primarily buying Microsoft's programming languages - to sign up for DOS
as well (now called MS-DOS), in direct competition with CP/M-86. Although Microsoft
had previously committed to developing CP/M-86 versions of their products, they
were eventually able to convert every customer to DOS versions instead - in one
case, by simply giving DOS away. That saved them considerable development effort,
and at the same time made CP/M-86 less attractive since it didn't run any of Microsoft's
software.
Microsoft's marketing combined with the success of the IBM PC and compatibles made
DOS a runaway hit for 15 years. Microsoft kept improving and evolving it, often
by including in DOS features that had been available in programs from third parties.
The beginning of the end came in 1995 with Microsoft's release of Windows 95, which
had the function of DOS built in. Microsoft stopped updating DOS after that, as
part of a strategy to move from the 16-bit DOS world to a new 32-bit world of Windows
95 and Windows NT.
|