Why are still not at 64 bits [was Can't figure out Firefox Plugin Requirement ]

Ben Scott dragonhawk at gmail.com
Thu Feb 15 11:52:10 EST 2007


On 2/14/07, Paul Lussier <p.lussier at comcast.net> wrote:
> I find it mind-boggling that the Alpha came out what, 16-18 years ago
> with 64 bit technology and it *still* hasn't caught on in the
> mainstream.  Why is that?

  Well, AMD64 (64-bit address space only became available on
"mainstream" hardware a year or two ago.  So there isn't that much
hardware out there.  That alone discourages closed-source vendors from
building 64-bit binaries.

  Next, 64-bit support with Microsoft Windows absolutely sucks.  For
Win XP, you have to get a special build of the OS, which is available
only by buying a new PC, and is supported only though the PC OEM --
call Microsoft, and they tell you to drop dead.  The situation is
little better with the "server" flavors of Windows.

  With Windows, 64-bit drivers are very hard to find.  Most hardware
not made in the past few years does not have drivers and never will.
Even newer stuff is poorly supported.  This is partly because nobody
wants to write drivers for an OS with almost no support.  However,
there's also the fact that the 64-bit versions of Windows will not
permit an "unsigned" driver to be loaded.  Period.  I guess you have
to submit everything to Microsoft for an expensive certification
process.  Microsoft "innovation" at work again.

  AMD64 (and Intel's clone) doesn't support Virtual Mode (running old
so-called "16-bit code") when switched into Long Mode (64-bit mode).
So anyone running old DOS or Win16 crap (and there's still a lot of
that) cannot even use the AMD64 stuff.

  Then there's the fact that every moron programmer in the world (and
there are legions of moron programmers) assume integers and pointers
are 32-bits, and their code breaks horribly if recompiled for a 64-bit
architecture.  So even if you have source, it's not just a matter of
recompiling, in most cases.

  I suspect Microsoft still has a lot of 64-bit unclean code.  Linux
has been dealing with this since 1995 on the Alpha, and most good
Linux programs (and quite a few bad ones) are 64-bit clean these days.
 Think how bad the average Windows program is, and then realize that
half of them are worse.  (With apologies to George Carlin.)  In the
'doze world, it's a horror show.

  Meanwhile, most programs don't need a 64-bit address space at all.
They rarely need more than 24 bits of address space.  Sure, the
additional registers can yield a speed improvement for some code, but
not enough to make it overwhelmingly compelling.

  So there's little benefit, and lots of problems.

  This affects Linux mainly because there's a lot of stuff that isn't
really Linux software, but rather, 'doze software shoehorned into
'nix.  Adobe (nee Macromedia) Flash is "supported", but only as a
closed-source, somewhat buggy, 32-bit binary.  Then there are things
like mplayer, which rip 32-bit binaries from the 'doze land and hook
them into Linux.  (Things like this are one of the many reasons closed
data formats are even worse than closed code.)

-- Ben


More information about the gnhlug-discuss mailing list