Surviving the Next Operating System

By Howard Gilbert (25 Mar 1996)

DOS RIP: 1981 - 1988, 1990, 1993, 1995, ...
In 1985 IBM and Microsoft began joint development of a system intended to replace DOS. Clearly they underestimated the durability of the old operating system. Over the next eight years, devious programming squeezed out just enough extra memory to keep DOS a viable choice. Though new applications were written to the Windows 3.x environment, there was still a requirement to have underlying DOS support.

As late as 1990, the vast majority of PC applications were based on DOS. The leading word processor was Word Perfect and the leading spreadsheet was Lotus 1-2-3. DOS was the system on which you got work done, while Windows was a new system with a rather snazzy Solitaire game. But while the other vendors were slow to adapt, Microsoft had developed a suite of applications that ran in the new graphic environment. Users saw the advantages and switched to Word and Excel. Not only did Microsoft benefit from operating system sales, but they also gained a dominant market share in applications. Today, Windows is the system on which you get work done, and DOS is an old operating system to which one escapes to play DOOM or snazzy CDROM adventure games.

For technical reasons, it was no longer reasonable to maintain a separate DOS system. Windows (3.1 or 3.11) can be installed on DOS (4, 5, or 6). Upgrade Windows, and CONFIG.SYS is changed to point to routines in the C:\WINDOWS directory. Upgrade DOS and they change back to C:\DOS. What is the right support for networking, memory management, or the sound card? Windows and DOS are too interdependent to indefinitely support independent installation.

First DOS is loaded into the system. Then Windows starts up. However, the DOS device drivers do not provide all the support that Windows needs. In many cases, Windows must replace or override the DOS support with drivers of its own.

The solution is to combine DOS and Windows in a single package. Windows 95 allows Microsoft to rearrange the initialization process. The Windows memory manager and device drivers can be loaded first. One memory manager supports both DOS and Windows requirements. One set of disk drivers support IDE and SCSI drives, higher performance FAT directories, long file names, and better caching. One networking package provides access to Microsoft, Novell, or Internet servers without clogging up the DOS 640K memory area. At the end, the usual DOS initialization proceeds through CONFIG.SYS and AUTOEXEC.BAT to load DOS drivers for odd devices that have no advanced Windows support.

It is incorrect to say that Windows 95 eliminates DOS. All the DOS components are included in the package. It is still possible to build a bootable diskette that runs the traditional command line interface. However, DOS loses its separate identity and packaging.

Windows 95 is an Interim System
Do not think that Windows 95 is the last conversion you will ever make. It is simply a transitional phase. It has enough power to run a new generation of applications written to the WIN32 programming interface. However, to satisfy current user requirements it can also run most of the old DOS and 16-bit Windows programs. To accomplish this, Windows 95 must compromise. It doesn't provide security. Programs can crash the system. It is not a good server platform. But it is the best that can be done now.

Nothing can be done with DOS and Windows 3.x programs. They were written to a vague and sloppy interface. They were free to break too many rules. They depend on features that are, in the long run, insupportable.

Windows 95 allows a new generation of WIN32 programs to gradually replace them. These programs can use a rich set of system services to accomplish any valid task. They can be constrained by security and integrity limits that protect the system, other programs, and data belonging to other users. At least, this will be possible on some other operating system. Windows 95 is a flawed and limited environment, because it has to be compatible with older systems.

As WIN32 programs replace the old DOS and WIN16 code, this compatibility will become less important. More users will move on to systems based on the Windows NT design. This will happen first in corporate applications, but it may trickle down slowly to ordinary end users.

Other Choices?
IBM's OS/2 was the first widely used 32-bit operating system for Personal Computers. It had a two year lead on Windows 95. If it was going to make a move, it had the chance. OS/2 doesn't support the new generation of WIN32 programs that have been written in the last year to run under Windows 95 and NT. There are few OS/2 native applications. It can be argued that OS/2 is a technically superior system to Windows 95, and that it is smaller and more efficient than Windows NT.

IBM has finally released a new version of Warp (4.0). It is reported to fix the problems created by the interim maintenance (FixPaks) that were distributed over the two years since the first version of Warp was released. It has integrated support for Java applications, an Object Rexx scripting language, and some OpenDoc support. The big feature is a voice recognition system that allows you to speak to your computer.

Warp provides enough maintenance to satisfy the requirements of customers who selected it originally and stuck with OS/2 during the previous two lean years. It is unlikely to attract back users (including PCLT) who started out on Warp but then were forced to move on to other systems due to lack of maintenance and support.

Warp never had the third party vendor support of Windows, and it lost a few of its most important products between the releases. At the same time, however, it picked up support from Netscape for a beta version of Navigator. Warp remains moderately successful overseas, particularly in Germany. There is a large body of Unix code that was ported to run on Warp through the EMX project.

Technically, Warp is a better system than Windows 95, but it has far fewer applications. It seems to compete more directly with Linux for market share than with Microsoft. Like Linux it is a real operating system with server capabilities and a moderate body of the common programmer and system administrator tools. If you want to develop applications, OS/2 is a possible choice. If you want to buy programs shrink wrapped at CompUSA, you won't find many.

Linux is a widely used free version of Unix. It is available on CD-ROM in a number of distribution packages. It is almost as easy to install as real software. It is almost documented (though this documentation may not be understood by ordinary users). It can be used to mount an inexpensive version of many Unix software packages.

Any programmer who already knows Unix and uses it on larger more expensive machines will be impressed by Linux. Its long term effect will be to drive down costs in the Unix part of the market. However, PC users will find it to be complex, cryptic, and slow compared to Windows or OS/2. Its Window Desktop is not quite right. Some icons are too big. Folders are sluggish to open. Not as much information is displayed. While this environment is better than DOS or other command-line systems, it is not as flexible or powerful as Windows 95, OS/2, or the Macintosh.

Nor is it reasonable to stay put. DOS has become nearly insupportable. Have you ever tried to squeeze Socket Services, Card Services, and a device driver for a Laptop PCMCIA Ethernet adapters into a DOS system? DOS has wide support for any single option, some pairs of options work, but it is unreasonably difficult to get a system running with a dozen different options for cards, drivers, and networks. Part of the problem is that DOS drivers are written by lots of different vendors. Both Chicago and Warp address this problem with a wide range of tested software that detects devices, installs automatically, and coexists cleanly.

Real History (not the Oliver Stone version)
The modern world was formed on April 15, 1987. Today we are simply living out the consequences of the events of that day. Revisionist historians funded by both Microsoft and IBM may try to confuse what happened, but this is the real story.

The Worlds Largest PC Software Company ..
In the quarter that just ended, the company with the largest sales total of PC software was, as it had been for several years, Lotus. Its 1-2-3 spreadsheet was the most popular application program. Microsoft might sell a copy of DOS with every PC, but DOS is a $40 program and 1-2-3 was a $400 program.

Microsoft's Primary Application Software Environment …
Microsoft dominated the application software marketplace for the Apple Macintosh computer. WordPerfect might be the leading PC word processing package, but on the Mac, Microsoft Word was the leader. Excel was the leading spreadsheet. Of course, the Macintosh market was destined to represent only 10-15% of overall PC sales. On the IBM/Intel systems, Microsoft had the DOS operating system and some programming languages.

Microsoft's Primary Software Direction …
Microsoft needed to translate its success on the Macintosh to the larger PC market. It needed to create enough of the Mac user interface on DOS systems to run programs like Word and Excel. Microsoft had no illusions that people wanted to run "a real operating system" on their desktops. Steve Jobs proved with the Macintosh that people wanted a system that was friendly. Mac OS was the worst, least powerful operating system ever widely used, except of course for DOS itself. People loved it.

IBM's PC Hardware Plans …
IBM was about to enter the Twilight Zone. On April 15 they announced the PS/2 line of personal computers. Its Microchannel bus was too expensive and did not have enough adapter support, compared to the clone's continued use of the ISA bus. Its ESDI disks were a dead end and would eventually be overwhelmed by IDE. The VGA standard was good, but at the high end a long string of technologies ending in the XGA would be overwhelmed by less expensive SVGA adapters. It would take IBM 5 years to admit defeat and, starting with the ValuePoint line, return to the mainstream.

IBM's Software Direction …
IBM knew what an operating system was supposed to do. It had experience with mainframes and minicomputers. It reasoned that the PC's were now big enough to support a real operating system. Of course the graphic user interface on the Macintosh was a good idea, but it would have to wait. On April 15, IBM announced that OS/2 would be distributed before the end of the year. It would have preemptive multitasking, a dispatcher, virtual memory, and all the usual stuff. Version 1 would just have a character mode interface, like DOS. A year later version 1.1 would add the graphic interface.

Microsoft Fiddled, IBM Burned
IBM had announced that OS/2 was the wave of the future, and most of the PC software companies believed it. Lotus produced versions of 1-2-3 and Freelance for OS/2. WordPerfect mostly ignored the graphic user interface. Companies with a big share of the DOS market emphasized compatibility with their existing products.

Meanwhile, Microsoft refined its products in the Macintosh market. It learned how to build real windowed applications. It continued to develop releases of Windows, but computers would not be powerful enough to run a GUI until the 386 was widely used.

IBM imagined it had a monopoly position. As usual, it tried to leverage that position to maximize revenue. Its license demands for the Microchannel were so unreasonable that no other vendor adopted the technology. It made sure that OS/2 could only run on PS/2 systems, nominally increasing demand for its own hardware but really dooming the operating system.

Windows 3.0 appeared in the spring of 1990 and was an instant success. It ran on all the clone machines, did not require too much memory, and Microsoft was able to offer a complete set of applications. Apple users might claim that the Macintosh was still better, but within a few months the sale of applications for Windows would be far more important than the Mac market. Clone vendors would continue to refine the hardware.

Lotus and WordPerfect were caught off guard. For years they had listened to IBM and ignored Microsoft. Now Windows was a success and OS/2 was going nowhere. There was no secrete here. Bill Gates had just demonstrated what Cassandra could have done with a few billion dollars and 15,000 employees.

Conclusions
Computer professionals are the best informed but worst sources of advice about future market trends. Consumers don't appreciate or understand features like multitasking and virtual memory. They want products that are friendly and easy to use, no matter how weak the underlying foundation. Large corporations are more likely to appreciate the importance of security, integrity, and reliability. They may be willing to pay a bit more to get such features. It is not clear how the actual market splits between personal and professional use.

It is no good to have the system without the applications, or the applications without the system. Success means bringing everything to market in a timely manner.

Microsoft can make big mistakes, as it did with the Internet. IBM had a two or three year lead at one point on Internet technology. It didn't exploit it and now the lead is lost. When Microsoft recognizes it has made a mistake, it attacks the problem and fixes it. IBM is not well enough organized to know when it has made a mistake, or when it has an advantage.

Microsoft tells everyone exactly what they think. People don't believe it. This is a big mistake.

IBM tells everyone what to think. People don't understand it, usually because it doesn't make a lot of sense. IBM may have lost the ability to explain anything to anyone without getting lost in meaningless marketing buzzwords.

PCLT not particularly concerned with the question about whether Microsoft's OLE 2 version of its COM architecture is better than IBM's SOM and Opendoc strategy. It is, however, dedicated to the proposition that under all this jargon there are important issues that need to be explained in terms that corporate planners and some ordinary users can understand.

What's the Problem?
If you ask for "a 32-bit, multitasking operating system that runs DOS and current Windows programs," then you might get a proposal for Chicago or OS/2. However, it is also fair to expect a number of suggestions for versions of Unix (32-bit, multitasking) with some kind of emulator (WABI, SoftPC). In extreme cases, they may propose a PowerMac with System 7.5 and Windows emulation. So the problem is not, as it is commonly suggested, that we need a "32-bit OS."

If you go to any Microsoft presentation, the first image will show the Windows Family with Windows 95 as the desktop operating system and Windows NT as the larger departmental server. An IBM presentation will talk about the Workplace, with traditional PC's running OS/2 and a jumble of other stuff (PowerPC, RS/6000, AS/400, mainframe) all running with DCE (Distributed Computing Environment), RDA (Relational Data Architecture), and various other open industry standards. Ask the customer's CEO what is important, and there will be some talk of "downsizing" or "reengineering" the corporate information system.

Like the Blind Men and the Elephant, each perspective sees a piece of the overall problem. Small companies with a few PC's see their information requirements growing to the point where they need elements of a professional data processing system, yet they cannot afford a professional staff. Large corporations compare powerful, intuitive, friendly desktop software with rigid, expensive central systems and seek a synthesis that combines the best features of both environments.

Microsoft's strategy envisions a portable family of operating systems and tools that span the entire range, providing seamless access to any needed service. In the 1980's, DEC had a similar strategy in its line of VAX computers. But DEC had only one operating system (VMS) that it sold on both large and small computers. Microsoft has no hardware product, and it does not assume that one system will work for everyone. The market has grown so large that it can support Windows 95 on the $1000 desktop machine, and Windows NT on the $50,000 multiprocessor Pentium Pro enterprise server. Implicitly, Microsoft is out control all aspects of the industry with similar, but not identical, products.

If Microsoft has a weakness, it appears to have inherited a bit of the arrogance that caused Apple so much trouble. Believing that Windows users wanted to view the network as an extension of the Windows desktop, Microsoft launched its own MSN network. Unlike Apple, Microsoft learns quickly when they make a mistake, and now they are integrating the Web into the Windows desktop. Microsoft provides a minimal level of interoperability with the DCE standards used on midrange and mainframe systems, but full DCE support must be purchased from third parties.

IBM sees a complex, diverse information system with desktop machines (Windows, OS/2), departmental servers (OS/2, NT, Unix, AS/400), and central corporate servers (mainframes, Power Parallel, large AS/400s). However users may feel about the idea of throwing it all out and starting over with a new architecture, IBM knows, "It ain't gonna happen!" People considered the same idea with VAX computers and with Unix open systems. There is no rational way to get from where you are to any completely new system in any finite amount of time. So IBM has a more modest strategy. The information system will remain a diverse collection of machines and operating systems. However, there will be a common user interface (the Workplace model) and a common set of application development tools.

IBM has been following this strategy for six years, and it has been a dismal failure. It is not that the goals were bad, but IBM management totally lacked a proper vision. SAA tried to define a common programming interface, but did so in terms of COBOL and FORTRAN. It is true that customers have legions of COBOL programmers, but nobody is going to invest good money to develop new major initiatives in COBOL any more. Microsoft, in contrast, seems to concentrate on the user interface, figuring that programming will follow. If the user needs a toolbar with hints as the mouse moves over the tools, then the programmers will simply have to learn how to fill in the programming needed to support it.

In recent years, both IBM and Microsoft began to realize that massive integrated applications, no matter how they are written, were no longer a reasonable model for software engineering. Programmers needed to develop smaller modular components that performed a specific function and could be reused in many applications. The spelling checker did not have to be different in a word processor from the one in a tool that builds graphic presentations.

It is generally agreed that Object Oriented technology (a phrase with many definitions) provides the best model for modular reusable programming. To build components that can be plugged into many different applications and into the operating system itself, the Objects in question have to be defined at the system level in a way that is not related to any given programming language or development environment.

Microsoft has developed its Common Object Model (COM) which defines a high level interface between a client program and sets of services provided by external modular program elements managed by the operating system. OLE is the name given to the implementation of COM within Windows.

IBM developed its System Object Model (SOM). Objectively, SOM is a cleaner, more powerful implementation of the Object Oriented idea. Apple and IBM are jointly working on SOM as the basis for the OpenDoc compound document architecture. IBM has been testing SOM and OpenDoc for years on OS/2, and is now releasing beta versions for AIX, Windows 95, and Windows NT with products promised before the end of the year.

A detailed discussion of OO, SOM, and OLE might be presented elsewhere. The technical details are less important than market success. Desktop software developers are betting on Microsoft and Windows and are writing to the OLE interface. The Sweeper package, which integrates Internet and Web access into Windows using OLE modules, will make this even more popular.

Other major vendors (Unix, mainframes, and Apple) are still lined up behind SOM and OpenDoc. Of course, most of these groups are competitors of Microsoft, and no major product is available based on OpenDoc technology. SOM and OLE accomplish the same thing in slightly different ways. They are not incompatible, and it is possible to supply gateways between components that use the two technologies. It may be that this, and not the operating system, becomes the important struggle over the next few years.

Objectives of this document
A customer brings his RV back to the dealer. "When you sold me this thing," he complains, "you said I could drive it around and see America. Well, I wanted to see Hawaii, which is part of the US, but now they tell me its an island and I can't drive there." Nobody would fault the dealer for being imprecise. It seems reasonable to assume that customers have some common sense and a basic understanding of Geography. Yet end users and a number of MIS managers make comparable complaints all the time about computer systems. They seem to assume that technology makes excuses for ignorance.

Most discussions over the next six months will probably compare current Windows to the new Graphic User Interface of Chicago and the Workplace Shell of OS/2. You want to know about interfaces?
 * Windows 3.1 uses one button of a two button mouse
 * Widows 95 and OS/2 use two buttons of a two button mouse
 * Unix uses three buttons of a three button mouse

When they go to buy a house, some people like a Ranch, some like Victorian, and some like Colonial. What is the right choice? In California, before worrying about appearance, it is wise to check that the house won't collapse in an earthquake, slide down the hill in a mudslide, or burn up in a brush fire.

It is unlikely that any major project will fail because of the GUI. Users can be trained, if necessary, to use any popular user interface. All of the operating systems will run the current suites of Windows applications. However, the new Order Entry System can collapse because of limitations in the underlying system structure that everyone should have understood from the start of the project. This discussion will examine the operating systems in the same way that a structural engineer examines the building. We will say a great deal about the foundation, plumbing, electrical service, floors, roof, and furnace. The user can worry about appearance.

Of necessity, a structural inspection will concentrate on potential problems. The advertising and sales hype will tell you why all the systems are wonderful. PCLT is interested in potential problems.