MS-DOS: Over seventy million users can t be wrong

9.2 MS-DOS: Over seventy million users can't be wrong

Before the advent of Microsoft's Windows NT and successive Windows generations, MS-DOS, was the operating system under the covers of the then current personal computers. At one point, over seventy million people used MS-DOS daily. If the number of users running your operating system solely determines your criterion for success, then MS-DOS can easily claim to be the most successful non-Windows operating system in history.[2]

The "herd mentality" largely accounts for the overwhelming success of MS-DOS in America. While small cars opened America's wallet and bank accounts in the early 1980s, small computers captured the hearts and minds of millions of people who needed to store and manage information on a personal level (i.e., just about everybody). When IBM built a capable machine and used its marketing muscle to hype it to a public ripe for a "personal computer," the herd quickly adopted it. What better company to fuel such a revolution than the General Motors of the business-machine industry?

So MS-DOS gained tremendous acceptance, not because it represented a giant step forward in the design of operating systems, but because it ran on a system considered a safe bet by the herd. As the saying goes, no one was ever fired for buying IBM. Combine this with Microsoft's aggressive marketing of MS-DOS to IBM PC "clone" manufacturers, and you had a formula for a phenomenon that the herd would consider a safe bet.

Over time, this phenomenon began to take on a life of its own. As more people bought MS-DOS machines, software application vendors began to recognize MS-DOS as the platform of choice. Additional MS-DOS applications became available as a result, making MS-DOS more attractive to more people.

This cycle continues today in a similar way with Linux, the new kid on the Unix block. The more applications become available under Linux, the more it becomes the operating system of choice.

So what is the philosophy behind MS-DOS? First, simplicity is paramount. If you're going to design an operating system for the herd, then you want it to be easy for most of the herd's members to use. Hence, MS-DOS has a concise, limited command language. There is little latitude for the sophisticated user. On the other hand, the limitations of the command set are offset by an often verbose set of help and error messages. For example, the following notice is typical under MS-DOS:

Warning 

ALL DATA ON NON-REMOVABLE DISK DRIVE C: WILL BE LOSTPROCEED WITH FORMAT (Y/N)?

Second, by limiting user input and increasing system output, the MS-DOS designers have made the user more passenger than driver. This helps preserve the illusion that the user is seated at the console of a huge mainframe machine. Unfortunately, this defeats the purpose of using a personal computer.

Unix has, by comparison, a fairly potent command language, so much so that even experienced users sometimes fail to take full advantage of its power. Whereas the command language may be nearly unlimited, though, its error message set is painfully concise. "Do you know what you're doing?" is about as strong a warning message as you'll get from mkfs, a potentially destructive Unix utility used to initialize new file systems.

Perhaps the most surprising aspect of the MS-DOS environment is that it incorporates some Unix concepts already. For example, MS-DOS provides a "pipe" feature much like the Unix pipe mechanism, as well as a tree-like directory structure. MS-DOS also contains the MORE command, which functions much like the more command found in Unix implementations. This suggests that there may have been some persons familiar with Unix involved in the early design stages of MS-DOS.

The Unix pipe mechanism allows the output from one command to be fed directly into another command's input without the use of temporary files. A quick example is

 find / | grep part 

This command is really two commands-find and grep. The find command outputs a list of the names of all files on the system. The grep command selects only those file names containing the string "part." The pipe symbol "|" is the "pipeline" that allows the data to pass from the output of find to the input of grep.

Both the find and grep commands are invoked simultaneously in a style of computing known as "multitasking." As data becomes available on the output of find, it is passed directly to grep.

MS-DOS pipes differ from Unix pipes, however, in that MS-DOS doesn't provide true multitasking capability. Only one command runs at a time, regardless of how commands are entered on the command line.

In the early 1990s, it looked as though follow-on versions of MS-DOS might contain additional Unix-like features. For example, MS-DOS Version 6 added the ability to support multiple configurations of CONFIG.SYS and AUTOEXEC.BAT files, a move clearly intended to provide greater flexibility. Unix has supported multiple configurations for years by allowing each user to specify a .profile file customized according to personal tastes. It became clear, though, that Microsoft was not interested in adopting the Unix approach, having chosen instead to tread down a path consisting primarily of GUIs based on Windows.

[2]Another measure for success is the number of nonhuman users of a program has. The more other programs execute a program, the better the program is. See Chapter 10.



Linux and the Unix Philosophy
Linux and the Unix Philosophy
ISBN: 1555582737
EAN: 2147483647
Year: 2005
Pages: 92
Authors: Mike Gancarz

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net