On Fri, Dec 13, 2013 at 12:33, Jeff Simmons wrote:
> "Nobody will ever need more than 640k RAM!" -- Bill Gates, 1981
> 

I realize this is often quoted in jest, but I've taken to setting the
record straight because I think the truth is more interesting than the
lie. People who don't know the real history are doomed to repeat it
without even realizing it.

The 8088 CPU in the original PC, which was designed and built by IBM
before MS was involved, had a 20 bit physical address space. That's
one megabyte. So the most RAM the PC ever could have supported was
1MB, not so very much more than 640KB. But then out of that 1MB you
have to carve out some space for things like the BIOS and the video card
(and sound card, and network, and ISA whatever). So the engineers at
IBM said that the top 384K of the address space would be wired up to
peripherals instead of RAM, leaving 640K. It's a hardware limitation,
not one of software. OpenBSD doesn't use that 384K either.

And it's not a limitation that only happened once. If you stick 4GB of
RAM into your PC and boot OpenBSD i386, you'll see that you only get
about 3GB. Basically the same thing. Space has been reserved for
peripherals, so you don't get to use the RAM in that space. If you
boot amd64, you'll get to use it because the memory is remapped higher
up, above 4GB. (And if you bought a 80386 and booted 32-bit Windows,
you got to use the memory above 640K too).

Nobody ever proclaims "3GB of RAM will be enough for everybody!"
-- random dude at Intel, but that's exactly what happened. The same
"mistake" was repeated. And then came the various workarounds like
PAE, just like there were workarounds like expanded memory in the DOS
days. For that matter, nobody ever says "80 bytes of memory will be
enough for everybody!" -- John Mauchly (ENIAC)

There's a lesson in there about foreseeing future requirements, but
there's also a lesson that should be learned about real world products
being subject to real world constraints. You go to market with the CPU
architecture you have, not the CPU architecture you want. I'm reminded
of Bjarne Stroustrup's comment about there being languages people like
and languages people use.

Sorry to spoil the fun.

Reply via email to