Everybody who uses a PC deals with some sort of operating system, or an "OS" in the hacker
vernacular. This is the program that runs all the other programs. I have programmed several
machines in my career that did Not have an OS, and I can tell you, it is not a lot of fun. An OS
takes care of a huge amount of work that otherwise you would have to deal with yourself. An
OS makes things much easier to use, and a whole lot more fun.
The very day that the IBM PC was introduced, it came with a choice of two different operating
systems, neither of them developed by IBM. There was Microsoft (actually, Seattle Computer )
DOS, and there was the University of California at San Diego P system. The former was
practically given away, or maybe cost twenty bucks, and the latter sold for over two hundred
dollars. The former was introduced with a full suite of programs that it would run right out of
the box, and the latter pretty much handed you a Pascal compiler and told you to have a ball.
The former was distributed by a company that really wanted to make some bucks, and the latter
was a government run university with all kinds of committees and political strings to deal with.
The former still exists, and the latter has been extinct for about a decade.
Over the years, there have been quite a number of OSes developed to run on the Intel family
platforms. DEC tried to make its Rainbow system a standard, and practically lost the company.
Microsoft started a second company named the Santa Cruz Operation to distribute Unix for the
PC, and that company is still viable, and now is more or less independent of Microsoft, and even
owns the Unix trademark and development rights (originally owned by AT&T).
There are several OSes designed specifically for the Real Time Control world that run on Intel
platforms. I had reason to make a search for what was out there last year, and found over five
different ones that were not DOS based, although most of them do recognize the DOS file
structures, and are generated by the DOS compilers. A Real Time OS is characterized usually by
the ability to run several different processes, or tasks, at the same time, using either a timeslicing
technique, or a priority based system, or some combination of both. They contain several
different mechanisms for one task to communicate with another task, such as message queues,
semaphores, and shared memory regions. Because these OSes serve a rather nitch market, they
are often quite expensive. The cheapest that I found was about $500 (produced by some crabby
guy in a garage), and this can range quite easily up to about $50K for the top of the line Wind
River. You get some idea of the size of the company if you call the sales line and the president
of the company answers the phone.
Microsoft enhanced DOS for about 10 years while it was developing Windows. When Windows
3.0 finally became ready for prime time in what? About 1990, they had a reasonably stable
product that would do what it was asked to do, most of the time, in the commercial marketplace
where the system would be distributed to something like 50 million sites, running on computers
from a thousand companies, put together in maybe 100,000 configurations.
What it didn't do was two things. First, it still ran in the older 286 mode of operation, which
means that no matter how much physical memory you had in your computer, the programs could
only make effective use of a small amount of it. First, you had to deal with the segmented
addressing scheme imposed by the 286 architecture. Second, you had to deal with the 64K stack
into which went all the operating system defined widgets. This latter was improved to 128K in
Windows 3.1, but my biggest beef in dealing with Windows was that I would crash a couple of
times a day if I was not exceedingly careful, and those crashes were created by the nature of the
16 bit OS.
Microsoft of course recognized the problem, and came out with two fixes. First there was NT,
and then there was Windows 95. I use both, and they each currently have their respective uses.
And that is what I want to talk about for the rest of this epistle.
First, some gossip. The trade rags are constantly atwitter about what is Microsoft really trying to
do with these two products. Some believe that in a year or so, only one of them will still exist.
Some believe that they really do have their respective nitches. I personally think that both of
these statements are true. The second piece of gossip has to do with the name NT, or more
precisely, Windows New Technology. The development of it was headed up by one David
Cuttler, who earlier in his career worked at Digital Equipment Corporation, and developed their
flagship OS named Virtual Machine System, or VMS. The really weird thing about all this is, if
you take the letters VMS, and replace each of them with the next sequential letter in the alphabet,
you get ... WNT.. Shades of HAL.
I will assert that W95 is best suited for the home, and (W)NT is best suited for business, most of
the time. NT is considered to be one of the most robust OSes ever developed. I have been using
it since before Christmas, and I have never really crashed it, although I did pull the plug on it a
couple of times before I better understood how to use it. I have personally never crashed my
home machine since it has been running W95 either, but then I am much more gentle at home
than I am in the office.
W95 was designed with games and compatibility in mind. If you are a home computer user, and
have already spent a small fortune on software and maybe even plug in boards, you are not going
to be interested in replacing them all just because you want a new operating system. The problem
and the advantage of NT is, they sacrificed compatibility for robustness. If you have a special
adaptor board, you better have a driver for it, written to the NT standards (known as VxDs) or
your board is going to be just a heat generator. NT is not going to allow any software to touch
the actual hardware of the machine without going through a VxD, because that is one simple way
to make a machine crash. While NT does support many many hardware configurations, it is
nothing like the support given by W95. W95 is going to take the risk and let your older drivers
twiddle with the hardware directly, if that is how they were written, although it is very happy to
accept the VxD drivers also, and it came with drivers for just about all current hardware out
there.
Both OSes are 32 bit systems, which mean that programs written under them can directly address
over a Gigabyte of physical memory without jumping through hoops. While W95 still does have
a stack space limitation, it is so expansive that I have yet to run into the problem. NT has
essentially an infinite stack, limited by the size of memory. For the programmer, you no longer
have to worry about arrays being more than 64K, or large memory segments exceeding some
other silly boundary, or the different memory models that the older systems made you deal with,
or near and far pointers. Not having to worry about all this should product less buggy code.
Both system can be set up to let you log in and identify yourself. W95 logins however can be
easily avoided. NT logins are mandatory, and there is a superuser account, named the
administrator, that can grant rights to all the other accounts on the system. What this can mean
for the home system, is a way to keep your stuff private and off limits from the other people who
use your system. For instance, you may have some kids who want to play games, but are maybe
a little too inquisitive about your personal finances, or maybe you don't want everybody using
your modem and surfing the net when you are not around. With NT, you can prohibit access to
these features on your system, while still giving yourself total access to everything there. In
industrial situations, where there are real security concerns, such as personnel or company
sensitive data, this data can be locked up pretty tight with NT, but short of encryption, it is as
open on W95 as it was on the older W3.1.
If you are going to put these systems out where the public is allowed to use it, there is always the
smart alec that knows enough about computer systems to start twiddling with menu settings and
resizing windows and maybe shutting the whole system down and starting up solitaire or
something. With an NT system, these features can all be locked out of the account that you give
the public, but you can still retain access to them yourself when you need to do maintenance to
the system.
The down side of all this, is NT is painfully exceedingly SSSLLLLOOOOWWW!!!!! I read a
lot of comments before I installed it about how slow it was, but I just thought that the people
griping were too type A, and were not willing to wait that extra 20 milliseconds for something to
happen. After all, all this security does come at some cost, and the OS has to evaluate every
request you make on it, to make sure you are not doing something that could be harmful to the
integrity of the system. The first couple of systems that we installed at work were quickly
deinstalled, with a lot of griping about how slow everything was. Well, I said to myself, those
guys just never got used to a teletype, they have been spoiled.
Now that it is installed on two systems, one a 90Mhz pentium with 24MB memory, the other a
66Mhz 486 with 16 Mb of memory, I can attest that these things are excruciatingly slow. You
never really have come to grips with the idea of slow, until you install NT on your system. When
you look in the dictionary for the word Slow, you should see a picture of NT there. My 486 NT
system responds at about the rate of a Windows 3.1 system on a 386 16Mhz platform with 2MB
of memory, and I can say that with some authority, because the first time I installed W3.1 on a
computer, that was the configuration, and off it came. The Pentium system is nowhere that bad,
but it is describably slower at doing simple things than W95 or W3.1 ever was.
One hears all the normal propaganda that just around the corner lies salvation, in the form of
Cairo, the next version of the NT OS, and it will be heavily optimized, and tweaked and we all
know what a piece of junk the current version is, but just you hang in there and ....
And, maybe that will happen. Which is why I indicated that I believed both earlier statements,
that there is now a need for two different OSes, and that maybe in a couple of years or so, we will
need only one. Maybe NT will get a performance kicker with some serious development, and
maybe we will no longer really need drivers for those obsolete cards out there, and most likely
when a 400Mhz P7 comes out, all these problems will magically disappear. Just like the
slowness of W3.1 on that old 2Mb 386 that I no longer own.
Read Next Article --> Return to Home Page ^
Afterwords:
Since this was written, I have deleted NT from my office computer and put W95 on it, as have almost all of the other people in our office. We still use NT for those areas where a computer will be in a plant environment where we need the security that NT contains.