
NEW MS IMPOSED 'STANDARD'
The PC97 spec is a multi-vendor hardware-based initiative designed to reduce
the complexity and number of options that need to be supported in today's
PC's. Most of the code-bloat in MS OS products (Win95 checks in at over 15
million lines of code) is due to the "need" to not only support thousands of
devices that have been manufactured by dozens of vendors over the last five
years or so, but also to do so in a way that does not require manual
intervention, that is, via "plug-n-play". See
http://www.zdnet.com/pcweek/news/0715/15winpc.html
for an (old) review of the spec in Computer Shopper magazine, or search the
MS WWWeb site for more details (the spec is several hundred pages in size,
or I'd have stuck it in here for you!).
Let me say that I am most emphatically *not* a MS supporter, yet as a
software engineer, I can't help but feel for them at times. I have done
operating systems design work, and understand some of what they face in
trying to support everything. They tried to simplify the code base, reduce
complexity, and increase stability and security in Windows NT ("only" about
5 million lines of code), and look at all the criticism they get when a
driver for such-and-such is not available.
For all of the "advancements" that have been made in microcomputer
technology in the last 25 years, especially since 1981 when IBM introduced
its original PC, the changes in the underlying architecture have been
minimal. Sure, we have processors that provide advanced memory management
features, but that still (for backward compatibility) segment RAM. The CPU
runs at insane clock speeds (the "revolutionary" IBM PC in 1981 ran at a
mind-numbing 4.77 MHz; as late as 1987, there was not a production
microprocessor on the planet clocking faster than 20MHz), but there are
still only 4 COMM ports and 2 LPT ports available. Networking? ISDN and
cable modems? 1024x768 at 16 million colors? These were all unimaginable in
the late '70's, yet all of them (and much more) have been shoehorned into or
tacked onto the original PC specifications. Know why you have so much
trouble getting all of your IRQ's straight? There are still only 15 IRQ's
available, and that number was achieved only when the AT architecture
piggy-backed two interrupt controllers onto each other (read your
documentation carefully; ever wonder why they say that IRQ's 9 and 2 are
equivalent? That's where the "bridge" occurs). The BIOS, keyboard
controller, mouse, PCI controller, and various other system devices have
already taken most of them before you even open the box and try to connect a
modem, sound card, network card, and who knows what else. Intel, MS, and
others are so paranoid about upsetting the boat that has kept them so
profitably afloat for the last 15 years that they are scared stiff to change
anything about the underlying design, even to jettison archaic baggage that
no longer serves any useful purpose (the 15-channel, piggybacked IRQ
controller, the one-byte serial UART, and the segmented memory model -- in
the world of 32-bit virtual-memory operating systems -- come immediately to
mind).
The point of this diatribe is that, as a programmer and occasional tech
support specialist, I am in favor of any effort that will reduce the
complexity of these machines and make them easier to use. Again, I'm not a
MS fan, but the PC97 spec is not theirs alone. I'm also not particularly a
MAC fan, so please don't write back to me to tell me how you never have any
trouble with your trusty SE or IIcx. I'm just a guy who is getting tired
trying to keep sticking new technology onto an aging platform. I understand
the marketing forces behind the concepts of an "installed base" and
"backward compatibility", but I feel that the time has come to streamline
things at least a bit. If we have to "cut our losses" here and there, so be
it. I work with clients all the time who are reluctant to abandon stuff that
has been working for them for years, but who want the advanced features of
new technology; it's my job to find and implement a migration path that
allows them to get what they want.
MS is a hog, and uses monopolistic practices to control the market. However,
even that does not automatically qualify any initiative they propose as
"evil". The PC97 spec will make it easier for MS to develop OS products and
support its customers. It will also mean that consumers will have much
better odds of getting a system that "works", especially if they upgrade
after purchase. And yes, it will mean that some products from some vendors
(maybe even your favorite graphics card or RAM manufacturer) are not
"certified" and will probably disappear from the market. Hey, read the
Windows 95 box: already, certain "perfectly good" computer systems are
excluded by virtue of the minimum processor, RAM, and HD specs. MAC? SPARC?
Amiga? Don't even ask. MS already *has* minimum "certification" specs; PC97
just tightens things up some more. Want a system that doesn't meet the PC97
spec? Go ahead; you can always choose OS/2, Solaris x86, or Linux; they all
have both excellent "native" applications as well as passable Windows
emulators.
In the '70's, if you had a working computer system and someone introduced a
new feature that you "had to have", you trashed your existing system
(hardware, software, the works) and got the new one. Every time. Just like
the old days with IBM mainframes; nothing was compatible, because everyone
was innovative and invented their own solutions to users' problems.
Nowadays, users expect to buy a computer from one place, a monitor somewhere
else, and later add a new sound card and extra RAM, maybe a bigger hard
drive and a faster CD-ROM. Then they want to plug it all in and have it
automatically work. Who cares about IRQ's? I don't want to have to fool with
all those floppy disks; why do I need "driver" anyway? That's the lure of
"compatibility", and since the burden has fallen on MS to provide that
functionality, they have proposed a specification that would simplify the
job of getting that jumble of plastic, copper, and silicon to work.
As to your final comment, I'm not aware of anything in the PC97 proposal
that specifies an operating system. The idea is that the OS vendor(s) will
have the option of saying that the OS was designed to run on any system that
meets or exceeds the PC97 specs, and that the vendor will not promise any
results or provide support if you choose to attempt to run the OS on a
non-compliant machine. Hardware vendors can still make non-compliant
components, any OS vendor can opt to build a product that will (or at least
might) support non-compliant machines, and you can still have a choice of
OS, even if all hardware becomes compliant and all OS vendors restrict
support to only compliant machines.
As a counter-example, during its warranty period, I took my Ford mini-van to
the Ford dealer to have Ford-certified mechanics install Ford brand-name
parts. These days, I do most routine maintenance myself, using parts that I
pick up at the local auto parts store. The manufacturers of these parts
claim that they will work in my Ford van, but Ford does not "certify" Fram
filters or the brake pads that Sears installed; Ford would have voided my
warranty had I done that when it was new, because they could not guarantee
support for my vehicle since I had installed parts that they had not
certified themselves. Most people would agree that it is prudent to honor
that system; why is MS' attempt to do the same thing seen as such a crime?
Lucien
--
+----------------------------------------------------------+
| If the purpose of feet is to walk and run, and the |
| purpose of painting is to make signs, then ballet and |
| Rembrandt are equally useless. |
| All art springs from the non-obvious use of tools. |
+----------------------------------------------------------+