Understanding the History and Impact of MS-DOS
MS-DOS (shorthand for Microsoft Disk Operating System) is a single tasking, single user, non-graphical command line operating system. Originally developed for use with IBM's earliest line of personal home computers, MS-DOS is one of the most successful operating systems of its kind. As an operating system, DOS is simple, compact, and remarkably robust; especially considering its age. While it may have been surpassed by the newer, and more user friendly, graphical user interface (GUI) operating systems, MS-DOS remains in widespread use by businesses and independent programmers throughout the world.
A History of MS-DOS
The origins of MS-DOS can be traced back to two earlier operating systems, CP/M and QDOS. CP/M (AKA Control Program for Microcomputers) was created in the mid 1970s by Gary Kildall of Digital Research. CP/M was an 8-bit operating system, and was one of the first to be widely used in the emerging line of commercial microcomputers. In 1980, Tom Paterson of Seattle Computer Products developed QDOS (Quick and Dirty Operating System) for Intel's new 16-bit 8086 central processing unit(CPU). QDOS was largely based on CP/M, and it is here that Microsoft entered the picture.
In 1981 Microsoft purchased QDOS from Seattle Computer Products, renaming it MS-DOS 1.0 and offering it to IBM for use in their new personal computers. In a prescient move, Gates retained the licensing for MS-DOS and it would become the most important factor in Microsoft's move from a simple vendor of computer programming languages to a giant in the computer software industry. The success of MS-DOS directly paralleled the growing popularity of the personal home computer, and remained Microsoft's most significant source of income even after the firm began to introduce its own GUI in the form of MS-Windows.
The Evolution of an Operating System
In many ways MS-DOS laid the groundwork for Microsoft's ongoing success, and over the years it remained a focus for research and development. From 1981 through to 1997 it would undergo several revisions and enhancements, resulting in a number of different iterations. Each new version of MS-DOS built upon its predecessor, evolving to meet the demands of lay-users and professional programmers alike.
The earliest revisions of MS-DOS addressed the need for larger hard disk drives, with support for multiple directories, networks, and foreign and extended characters. Later iterations would bring support for multiple HDD partitions, disk compression and fragmentation, enhanced memory management, and improvements in the operating system's text editing functions. The final versions, MS-DOS 7.0 and 7.1, were revised for close integration with Microsoft's newest operating system Windows 95. MS-DOS 7 eliminated a number of redundant utilities which were included in the Windows 95 OS, and brought in support for long filenames and the FAT32 file system.
Microsoft no longer uses MS-DOS in any of its iterations in their primary operating systems, though both Windows 2000 and Windows XP do contain an emulation layer which allows for the running of MS-DOS programs, thereby providing backward compatibility with legacy-styled software.
Clones and Imitations
Over the years the success of MS-DOS has inspired a number of imitators, and many so-called 'clones' of the operating system have been launched by independent software developers and computer enthusiasts. Some of the more notable imitators include DR-DOS, OpenDOS, and FreeDOS. Many of the systems were developed and released as a direct response to Microsoft's announcement that they were halting further development of MS-DOS and would no longer be supporting the system with regular updates and revisions.
The most successful of these clones has been FreeDOS. Developed by Jim Hall in 1994, FreeDOS is lean and robust and offers some improvements over its parent operating system. It can run on legacy hardware and embedded systems, and includes several additions to the command structure not found in MS-DOS itself.
The Future of MS-DOS
While the last iteration of MS-DOS was released in 1997, the operating system itself still forms a large part of the modern computing landscape. Many businesses and independent programmers still rely on DOS for many embedded applications. DOS survives, in no small part, because it is a highly compact and efficient operating system that performs well with a minimum of required maintenance. With the ongoing advances in hardware (specifically larger memories and faster CPUs) MS-DOS and its clones still have much to offer. Moreover, developments by hobbyists and independent programmers like Jim Hall are introducing new and improved utilities and applications to the system despite Microsoft's own disinterest.
MS-DOS has a fairly long history, and as such there is plenty of reference material available to anyone interested in learning more about the operating system and its many applications. Online tutorials offer a good starting point, and can provide insight into the development of DOS and its value and use as an operating system.
- An Inside Look at MS-DOS: from the Paterson Technology website, this article presents an overview of the fundamentals of MS-DOS. The website itself also offers a history of MS-DOS, its developmental roots, and a selection of archived manuals. There is also a short bio of Tim Paterson, the creator of QDOS and Paterson Technology's owner and managing director.
- MS-DOS Literacy — an Introduction to MS-DOS: from Silicon Mountain and Aames Production comes a video tutorial aimed at the early PC home market. Published in 1992, this tutorial looks more than a little dated. However, the fundamentals are presented in an easy to understand and interactive manner that makes this a surprisingly effective learning tool, particularly for the novice.
- Learning MS-DOS Basics — a Tutorial (PDF): This document was prepared by the staff at the University of North Carolina Wilmington, and it offers a comprehensive introduction to basic MS-DOS commands. This easy to understand tutorial covers command prompts, managing directories, managing files, and formatting floppy disks.
- Using DOS Commands with MS-DOS 6.22: Que Publishing provides this extensive guide to using DOS, specifically the 6.22 iteration. Topics include "Understanding the Elements of DOS Commands," "Issuing DOS Commands," and "Troubleshooting Program Files." Best suited to someone with a basic working knowledge of MS-DOS.
Many books have been written on the subject of MS-DOS and its various iterations. Some have been aimed at the mass market, acting as basic instruction manuals for first time programmers. Others have been more technical in their approach, appealing mostly to the professional programmer and the more experienced computer enthusiast.
- DOS for Dummies by Dan Gookin: one of the more popular books on MS-DOS and one of the most successful of the "Dummies" franchise. This book is specifically targeted to a mass audience, and as such is mostly suitable for beginners. There is also a follow-up, More DOS for Dummies, which goes into a bit more detail than the original.
- Running MS-DOS, the 20th Anniversary Edition by Van Wolverton: the original Running MS-DOS became a best seller, and this anniversary edition expands upon earlier editions with updated material. Special emphasis is given to MS-DOS 6.22 (the latest iteration upon time of publication). The book is informative and easy to understand, making it suitable for both beginners and experienced programmers.
- Using MS-DOS 6.22 (3rd Edition) by Jim Cooper: this is one of the most extensive guides to MS-DOS, and also one of the most highly regarded. The 3rd edition brings things up to date, with an emphasis on the latest iteration (6.22 at time of publication) of the DOS operating system. Cooper covers all aspects of MS-DOS, including its history and development. Ideal for experienced programmers and serious hobbyists.
- DOS: The Complete Reference (4th Edition) by Kris Jamsa: this book is not so much an introduction to DOS as it is a reference guide for those with some working knowledge of the operating system. The work itself is forthright and easy to understand, but is perhaps best suited to readers with some experience of DOS who need to refresh their skills.
- Advanced MS-DOS Programming: The Microsoft Guide for Assembly Language and C Programmers by Ray Duncan: this book targeted the professional programmer circa 1988. More than a 'how-to' guide, this is an in-depth look at MS-DOS as a programming environment, including best uses and applications. Not for the novice or inexperienced hobbyist.
Technically, MS-DOS has been retired and Microsoft has made it clear their will be no more iterations or updates to the operating system. But MS-DOS still has a place in the computing landscape, even beyond its attraction to hobbyists and niche programmers. MS-DOS continues to be used around the world, and is responsible for many of the embedded applications that we all take for granted. MS-DOS may not be the vital operating system that it once was, but it still has merit and deserves the attention of serious programmers.
Further Reading and Resources
We have more guides, tutorials, and infographics related to computer use:
- Network Programming with Internet Sockets: learn all about computer networking.
- Linux Programming Introduction and Resources: this deep dive into Linux programming gets down into the kernel where all the action is.
Unix Programming Resources
MS-DOS is very much Unix's simpler sibling. So if you want to move to Unix, we have a great place for you to start learning: Unix Programming Resources.