close this bookTidBITS#79   19910902
View the documentMailBITS/02-Sep-91
View the documentdBUGing
View the documentGot Those OS Blues
View the documentReviews/02-Sep-91
View the documentFoot Notes

Got Those OS Blues

During some of the information-free contemplation that I've been forced to perform recently, I've come to what might be an important conclusion. Alternately, it might be completely trivial, but I can't tell yet. I've realized that all this warring in the PC world primarily over operating systems is wholly bogus and might even be something of a ruse on the part of Microsoft and IBM to throw the FTC off the scent.

Look at it this way. An operating system provides certain capabilities to the application software running on top of it and arbitrates between the hardware and the applications. I'm sure that's a far too simple definition of an operating system, but I've never taken any Computer Science courses, so it's the best I can do. Now, DOS has numerous idiotic limitations, but it also has a number of good features. For one, it's small. Two, it's not very big. Three, it doesn't take up a lot of disk space. Four, it doesn't use a lot of memory. I could go on like this for a while because it's easy to slam on DOS. No challenge whatsoever. It's also fun to chortle loudly whenever you hear someone raving about how they managed to get another 3141 bytes of memory under the 640K barrier.

Now take Windows. It runs on top of DOS, so there are certain limitations it has to patch after the fact, most notably the memory problems. However, because Windows is only an environment shell and not a full operating system, it must by default be slower and clumsier than a true OS. Windows does provide multitasking, but in the cooperative form used by the Mac rather than the preemptive form used by Unix (a "real" operating system, if you talk to a Unix person). Curiously enough, although Apple had good reason to use cooperative multitasking to preserve old programs that wanted the entire machine, Microsoft didn't particularly, considering the fact that there was almost no software for Windows when 3.0 came out and most of that was heavily rewritten for 3.0 anyway. OS/2, in contrast, is a bit more real of an operating system in that it has its own, more efficient, file system, preemptive multitasking, no memory limitations, and RAM-hungry hardware requirements. Do note that although Microsoft has gone on an OS/2 diet, many programmers and power users at Microsoft still use OS/2 on their machines - they've got the memory and the processors to run it and prefer to avoid Windows.

The products waiting in the wings then, are OS/2 2.0 (primarily from IBM) and Windows NT from Microsoft. There's also been some talk about what Microsoft will put in DOS 6.0, and there's a 32-bit version Windows that will run on top of DOS 6.0 for the common person. OS/2 2.0 is in beta testing now, and provides all that previous versions of OS/2 did with the promise from IBM that it will run DOS apps better than DOS and Windows apps better than Windows. Windows NT, which is not quite based on the Mach kernel that NeXTstep uses, will run DOS and Windows apps too, as well as provide everything that OS/2 will. And, like OS/2, Windows NT will be power-hungry, requiring 8 MB of RAM and a fast 386 at minimum. DOS 6.0, similarly, is supposed to support preemptive multitasking, a flat memory model that removes the 640K barrier, a new, more efficient file system, and better networking support. Gee, does this sound familiar?

So here's my perhaps not so amazing revelation. All these operating systems are basically the same thing with several different names. Now I know that this isn't literally true since they have different kernels, but it makes it easy for Microsoft to take the hard line "There will be no OS/2 3.0 (unless we decide we like IBM again)!" Sure, there won't be an OS/2 3.0, but any of the code that was going to go into OS/2 3.0 that might be useful very well may make its way into Windows NT and perhaps DOS 6.0, and so on. Code transfers may not have specifically happened, but the concepts and high level utilities would certainly make the move. After all, Microsoft didn't dissolve the OS/2 group, they just transferred them to the Windows NT group (OS/2 programmers never die, they're just forced to work on Windows :-)).

Do keep in mind that IBM and Microsoft have heavy-duty cross-licensing agreements that basically give them free and constant access to each other's work. IBM has had Windows 3.1 betas for some time, and I'm sure Microsoft has picked through the source code to OS/2 2.0 to its heart's content. Neither company can surprise the other (and if it did happen, an immediate salvo of lawyers would be on the launch pad). The problem in all this OS confusion is that users may be hard put to decide which OS to use. They all do the same things and they all run the same software. Whichever operating system PC users pick, Microsoft doesn't much care at this point. Windows 3.0 and the soon-to-be-released 3.1 command the PC market so few developers will develop native OS/2 programs and for every sale of OS/2, Microsoft will probably sell a copy of Word or Excel and will pick up some royalties from IBM directly. Talk about getting 'em coming and going! My main point here is that given the similarities between these operating systems, there's not really all that much to worry about until they've all been out and the various pros and cons in specific situations become clear. Now I promise to shut up about PC operating systems for some time, or until something mildly interesting happens.

Information from:
Pythaeus