DOS NT: a plea. (proposed changes for MS-DOS) (Column)
by Mark Minasi
By the time that you read this, either DOS 6.0 will be out, or it will be out soon. Of course, it's just one more step forward; DOS could use a lot more growth.
As I see it, DOS needs to change in four ways:
* DOS must provide reason and incentive for PC software developers to move away from direct hardware access and move toward greater use of the operating system as an operating system. Once that happens, DOS will have a clear pathway to growth and improvement that could make it the standard operating system of the desktop into the mid twenty-first century.
* DOS must offer a command line-based, protected-mode multitasking facility that doesn't rely on a graphical user interface (GUI). GUIs don't make sense for much of what PC users do, and they require advanced hardware to run properly. There must be a better way to offer secure multitasking than with an operating system that recommends 16MB of RAM, a 33-MHz 486 processor, and a CD-ROM to load the operating system, as Windows NT does.
* DOS needs an optional new file system that supports long names, automatic file-system fix-ups, faster access, and more information about how files are being used.
* DOS must provide better power-user tools. QBASIC can't interface with DOS or BIOS functions directly, and there are none of the tools (such as awk, grep, and sed) that make working with UNIX a pleasure for toolmakers.
PCs with 286-, 386-, and 486-level CPUs have a processor mode, called protected mode, that allows access to 16MB or more of RAM. Protected mode not only supports more memory, it also provides much of the behind-the-scenes support for multitasking operating systems. Protected mode makes it possible for an operating system to load multiple programs.
Unfortunately, DOS and DOS programs don't use protected mode, which is why they're generally trapped in the bottom 1088K of your PC's RAM. OS/2 and Windows NT are built in protected mode and can access megabytes and megabytes of RAM. That points out a real problem with the Microsoft and IBM operating system offerings since 1986--that is, OS/2 and Windows NT. In order to get to the indisputable benefits of protected mode using OS/2 or Windows NT, you must accept the intrusion of a GUI.
Don't get me wrong--GUIs are good things. But they are processor hungry. Windows 3.1, which is probably less CPU intensive than either OS/2 or Windows NT, really needs a 25-MHz 386DX with 8MB of RAM to be useful. But if all I want to do is run a big spreadsheet program or sort a huge mailing list file, then I don't want a GUI. It slows me down and burns up precious RAM.
Instead, why not offer a DOS NT? In its simplest form, Microsoft could easily offer a text-based, command line-driven operating system that looks just like DOS and supports old DOS programs but could also run new DOS programs--programs written specifically for DOS NT By its nature, DOS NT would live in protected mode. But any time that it needed to shift back to real mode--the alternative to protected mode--it could do that. There's no rocket science involved in doing that, as operating systems such as OS/2, Windows, and Windows NT have been able to support real mode programs for years. Existing DOS programs would continue to run whenever you started them up.
New DOS programs would be built in protected mode, so they would have access to tremendous amounts of RAM.
Additional RAM wouldn't be the only benefit of a protected-mode DOS NT:
* It would bring about the timely death of memory management. You'd never have to worry about extended, expanded, or conventional memory again.
* It would provide an easy upgrade path to future operating systems. Once a program is written to work under protected mode, it's basically tamed. It no longer does things behind the operating system's back, mainly because it no longer can. As a result, making the program work under any new protected-mode operating system, or even a completely different processor and operating system, is significantly easier than converting from a current DOS real mode to another operating system.
* It would be less expensive and have a broader appeal than Windows NT or even Windows. Windows NT is a monster operating system that loads only off a 300MB+ CD-ROM. Windows uses as many as eight installation disks. Many people don't want to deal with that much stuff. They just want to run the programs that they're already using; they don't want to learn a pile of new stuff, particularly when the new stuff is often a bad adaptation of the old stuff.
One thing that Windows really needed was a good implementation of each of the most popular DOS programs: 1-2-3 in the spreadsheet category, WordPerfect in the word-processing category, and dBASE, Paradox, Foxpro, or Clipper in the database category. Unfortunately, 1-2-3 for Windows and Wordperfect for Windows suffer from serious problems, and, at this writing, there isn't a Windows version of dBASE, FoxPro, or Clipper, despite years of promises.
Why has there been so much trouble converting major DOS applications to Windows? I think that it's largely because the most successful DOS applications are often the fastest applications in their categories; that's certainly the case with 1-2-3 and Wordperfect. The way to make a DOS application fast is to break all the rules about working within an operating system and directly control the PC's hardware. That doesn't work in Windows. So software companies have to either retrain the lead programmers on their products or bring in green programmers and direct them in building a Windows program that acts like the big-selling DOS version. And sadly, it hasn't worked.
A conversion to DOS NT would certainly retain some of those problems, but not all of them. Conversion from a command line, text output, real-mode operating system to a command line, text output, protected-mode operating system is much easier than conversion to a GUI-based, graphical, protected-mode operating system such as Windows, Windows NT, or OS/2. And that means there's a better chance that the DOS NT versions of the major PC applications would appear on time at a reasonable price and look perhaps exactly like the familiar, popular DOS versions--except without any of the memory constraints and with multitasking possible.
This is perhaps the most important reason to create a new protected-mode version of DOS--because the software world can't move on until real-mode DOS fades away, and DOS ain't goin' nowhere until there's a decent mass market alternative. A DOS NT could run credibly on a 386SX computer with 4MB of RAM, even on a pen-based computer; that can't be said of Windows, Windows NT, or OS/2.
* It would easily support multitasking. Most of the pain and suffering of supporting DOS in a multitasking framework comes from the problem of having to keep track of several programs that are all trying to control the PC hardware directly.
* This could be the last new PC operating system, so it had better be good. Computing platforms are born; then they go through a period of rapid growth and change. Problems turn up, and work-arounds appear shortly thereafter. Then applications follow that are built upon those work-arounds.
Each change in the operating system brings with it costs and benefits. The benefits are the potential to create new applications that can do things that the old applications can't. The costs, on the other hand, are incompatibility or reduced compatibility with the older applications-the growing number of applications that we've already paid for.
At some point in an operating system's life, the sheer investment in machines and applications becomes so great that the potential benefits from any new operating system would have to be stupendous in order to justify a move to the operating system, whether it be OS/2, Windows NT, UNIX, DOS NT, or whatever. The designers of operating systems understand this, so they tend to overpromise features and underestimate development time.
Eventually, the computing public sees that the promises were unreasonably optimistic, and that, in turn, lowers user confidence and the perceived future value of the operating system. The public figures that the hardware and software that are currently in place are solid enough and well understood, warts and all. "Better the devil you know . . . we'll all say.
* At some point, it will be economically unacceptable to use anything but the most incremental of changes from the current operating system. This isn't science fiction; it's already happened in the mainframe and minicomputer worlds. For all its power, the core of IBM's MVS/ESA operating system looks an awful lot like OS/MVT, the mainframe operating system of over two decades ago. IBM tried to overhaul the mainframe's operating system in the late seventies with the Future Systems project, but IBM'S customer base said, "A new, better operating system that my existing programs won't work with? Thanks, but no thanks."
All of that is just a supporting argument to one of my premises here-we'll have maybe one more major operating system changeover and then the microcomputer world will be encased in amber forever after.
My nightmare is that the once-and-future operating system in the PC world will be a real-mode DOS. The jump to some kind of protected-mode DOS would be the last big jump necessary for DOS to continue to grow and change. Let's make it soon before it becomes impossible.