2 Feb 1995

Surviving the Next Operating System

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 is no longer possible 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. Chicago (or 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 Chicago eliminates DOS. All the DOS components are included in the package. Chicago can still build a bootable diskette that runs the "DOS" user interface. However, DOS loses its separate identity and packaging.

Chicago or Bust

This creates a showdown between Microsoft and IBM. The overwhelming majority of PC users are running some version of Windows 3.x. They can upgrade to Chicago, or they can upgrade to OS/2 Warp. Conversion from Chicago to OS/2 means installing the new system from scratch.

It is common wisdom that Microsoft will repeat with Windows 95 the success it had with Windows 90 (Windows 3.0). However, the issues have all changed. Originally, Windows sold itself as a platform on which to run better word processors and spreadsheets. Today, all the functions that most people need are already built into the 16-bit Windows 3.x programs that run on all operating systems. There is a claim that 32-bit programs run faster, but the difference can only be seen when a program processes large complex data areas (such as the compressed graphics in a Web Browser). Thus, applications will not drive users to convert from one system to another.

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.

Windows 95 has the "inside track" because many users expect that it is just the next release of the Microsoft systems. Chicago certainly maintains more of the original Windows design and much of the 16-bit Windows code. This doesn't, however, make it the more conservative choice. There are several problems, some structural and some incidental.

Today, if a DOS game doesn't run under Windows, the user can simply exit to DOS and run it. IBM designed OS/2 Warp to run most programs, but the "dual boot" option allows the user to switch over and run plain DOS and Windows when necessary. However, current Microsoft strategy calls for Windows 95 to completely replace DOS 6.x and Windows 3.x. Microsoft discourages the idea of a "dual boot" or really any fallback path to the old systems. Microsoft is also pressuring the other software vendors to convert unambiguously to Chicago-only software immediately. Rather than a long conversion, MS seems to want to force an immediate, unambiguous, and irreversible decision. If it works, there are clear advantages. If anything that can go wrong does go wrong ...

To simplify the coding and maximize compatibility, Windows 95 reuses a lot of the old Windows 3.x programming. However, the environment will have changed substantially from old 16-bit, synchronous, real-mode DOS. Superficially, using good old tested code should improve reliability. However, this runs against one of the earliest discoveries about software engineering (see Mythical Man Month by Frederick P.Brooks, 1975). Programmers tracked the number of bugs reported against a system year by year. When a system was new, there were lots of bugs. As it matured, the problems were worked out and the bugs declined. However, past a certain point the number of bugs started to rise again. Change one thing, and three other things break. There are problems when an old system is run under conditions that differ greatly from its original design. At some point it is better to start over again with a more modern design. OS/2 and Windows NT are both based on newer designs that accommodate the old DOS and Windows programs. Chicago, by trying to adapt the old Windows instead of simply accommodate it, runs against the accepted wisdom of the last twenty years. That doesn't mean that MS can't pull it off, but it also explains why the ship date keeps slipping.

The next generation of system software will not be driven by desktop applications. Nothing that either IBM or Microsoft proposes for system software has a serious impact on word processing or spreadsheets. Instead, the next generation of systems will be defined by their networking options. Business applications need a network to implement Client-Server. Home computer users want to be connected today to the Internet and tomorrow to the Information Superhighway.

Windows NT, Chicago, and OS/2 Warp have some version of built-in networking. IBM offers a one- button dial in access through its possibly overpriced Advantis network to the Internet. Microsoft has even bigger plans, its own proprietary network to replace the Internet.

In this environment, the vulnerable company is Novell. Today it is still the dominant network vendor. However, Netware has been slow to adapt to the new technologies. It is expensive, unnecessarily complicated, and limited. Microsoft's Windows NT 3.5 is positioned today to repeat against Novell the success that Word and Excel had against a similarly outmoded Word Perfect and 1-2-3 four years ago.

It is difficult to make centralized decisions about a Personal Computer. The individual user should have considerable influence about the choice of applications. The organization can, however, make central decisions about networking and database. This produces the confusing environment in which all of the new systems contend for customers.

The most common justification for a decision is also the worst basis for choice. People try to select the system that they think will acquire the largest market share. Without any serious analysis, the safest position may be in the middle of the largest crowd. On the other hand, someone going into the garbage collection business should buy a four door sedan to pick up the garbage just because Ford sells 1000 cars for every garbage truck it builds.

The success of Windows 3.x came because of a combination of factors that will not be repeated:

Hardware -- With the development of the 1 megabyte memory SIMM, new computers were typically shipping with 4 megabytes of memory. DOS programs were unable to add additional function within the limitation of the 640K memory limit. Windows programs could use all the RAM in the machine. Therefore, Windows programs delivered more function than their DOS counterparts.

Applications -- Microsoft delivered Word, PowerPoint, and Excel. There were applications to run on the new system that were demonstrably better than the old DOS counterpoints.

Tools -- Microsoft created DOS and its operating system business originally as a sideline. Their first business was writing compilers. As a result, they were able to deliver a full set of application development tools. They have refined those tools with class libraries and Visual Programming environments. This creates a large body of third party packages and shareware. The Web viewer you are using right now to read this document was developed or derived from free software written with one of the Windows toolkits.

Just as the United States is not likely to repeat "Vietnam" anytime soon, the software industry is not likely to repeat the mistakes of 1990. However, though Microsoft will not be unopposed, it is still a formidable competitor. While each of the other companies concentrates on isolated applications and components, Microsoft can deliver a strategy that combines systems, applications, networks, database, distributed management, and messaging. The synergy of complimentary products may provide its major advantage.

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 Chicago 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 Chicago on the $1000 desktop machine, and Windows NT on the $50,000 multiprocessor RISC enterprise server. Implicitly, Microsoft is out control all aspects of the industry with similar, but not identical, products.

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.

The new IBM strategy, based on packages like "VisualAge", recognizes that new applications will be built as end users (or at least casual programmers in the end user departments) use drag-and-drop techniques to combine prepackaged modular components. Some of those components may be purchased, and some may be customized by professional IS staff. Just as the spreadsheet eliminates the need for many reports that might previously have been written in COBOL, so simple visual programming may eliminate the need for central coding and maintenance of simple transactions.

While a C language programmer sees an enormous difference between the Windows API and OS/2's Presentation Manager, someone coding in Smalltalk or Object REXX can ignore the system environment. IBM has had great difficulty getting anyone to commit to OS/2-only applications. However, it is simple to persuade users to accept high level, portable application development. If the applications do not depend on Chicago, then OS/2 can compete on its own strength.

Even saying all this, IBM has a proven track record of getting 90% of the way to success, only to fail from lack of follow-through. Even when they deliver code, they seem unable to explain it. Admittedly, it is difficult to get a particularly good explanation from Microsoft about what "OLE 2" really means, but MS is good at delivering a small set of strategic products and showing how they work together. With Excel, Visual Basic, and Access on the front end, and Back Office technology on the server, Microsoft can show quick results from low cost, powerful tools.

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?

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.

Topics to be Covered:

Microsoft and IBM

There is no Hotel in Chicago

The Bare PC

DOS

Windows 3.1

Windows for Workgroups 3.11

OS/2 2.x

Windows NT

Summary

Copyright 1995 PCLT -- Surviving the Next Operating System -- H. Gilbert

This document generated by SpHyDir another fine product of PC Lube and Tune.