A Neutral Look at Operating Systems/DOS
Introduction: what is a DOS?
DOS, which stands for Disk Operating System, is an OS that initially loads itself from disk. The boot PROM contains a trivial OS and a BIOS (basic input/output system) that is sufficient only to achieve that initial load. (Earlier OSs loaded from paper tape, punched card or magnetic tape. The first personal computers, such as the Altair did not have an operating system of any kind although they could be added later to use devices.)
In common with most other OSs, Disk Operating Systems consist of four primary modules:
- The extended input/output system which reads and writes to disk and tape, reads from keyboard and writes to screen and/or printer. (Hence the term "read-out" is a Hollywood nonsense neologism for "display"). Most DOSs are at least minimally open, so that third party developers can write hardware "drivers" (extensions to the I/O system) to support their hardware. Mac OSs are the most restrictive, Linux the least (fully open). Older Apple DOSs were actually fairly open.
- The Network connection. (This is just a special case of I/O but occasionally it is useful to treat it separately.) No early OSs had networking (ignoring the trivial case of attached terminals), but it was added during the 1970 to 1990 period.
- The task scheduler. Its function is to determine which process should run next and for how long. In early OSs, this was fairly rudimentary - one task had complete control and if an application crashed, the machine crashed. Interrupts were used to give control back to the OS and a different process takes over. A "grown up" OS needs pre-emptive multi-tasking, which came to the mainframe world with Exec 8 on Univac hardware in about 1970 and to the personal computer world in 1985 with AmigaOS.
- The file (and directory) system
- The User Interface - in early OSs, this is just a command-line environment.
All modern OSs are disk operating systems, but the term "DOS" has stuck to the first generation personal computers that used it.
Early proprietary DOSs
Well known DOSs include PC-DOS/MS-DOS (Microsoft), DR-DOS (Digital Research), and FreeDOS. These are all designed to be compatible with MS-DOS. In fact to the average computer user MS-DOS is DOS. The rest of this section discusses MS-DOS. The name that Apple gave to DOS for the Apple II was originally DOS 3.1, which went to 3.3, and was then completely redone for ProDOS.
Today, DOS is commonly used in embedded systems for low royalties, low memory usage, and ease of direct hardware access. DOS remains popular among nostalgists, hobbyists, and in corporate/educational environments where a legacy runtime is needed. Quite simply, DOS offers compatibility with DOS programs that need total control of the machine.
Foremost, there is no built-in graphical interface for DOS, which can make it intimidating to beginners.
Since DOS is without a default GUI interface, the user must rely on first-party interfaces (Microsoft's DOSSHELL and versions of Windows from 1.03 to 3.12) a non-standard 3rd-party interface (e.g. Gem/FreeGEM) or memorize how to type commands to control DOS.
It is widely accepted that the command-line environment that DOS provides is inferior to the one provided by UNIX-like systems. One example of this is that DOS systems lack a sophisticated scripting environment.
In addition to a comparatively limited user interface, relative to any modern OS, DOS has a few other notable limitations, including:
- CPU and memory usage cannot be managed separately for multiple simultaneous processes (multitasking)
- hardware invented after about 1995 - 1998 is not natively supported
As the name suggests, FreeDOS is a free implementation of the MS-DOS operating system. The project was started in 1994 when Jim Hall, a student at the University of Wisconsin - River Falls, was discouraged to hear that Microsoft would be moving away from their DOS operating system with the release of Windows 95.
For more information, visit the FreeDOS website at www.freedos.org.