Fog Creek Software
Discussion Board




What the #$*()& is Dave Doing?

Do not question us.

We are Microsoft.

Conform.

Word
Wednesday, April 02, 2003

a.k.a. "You're too stupid to think for yourself" or "We know what you want, better than you do"

Joe Grossberg
Thursday, April 03, 2003

we should've known when he showed us the first sign:

'640K ought to be enough for anybody'

rexguo
Thursday, April 03, 2003

then came the second sign:

'There are people who don't like capitalism, and people who don't like PCs. But there's no-one who likes the PC who doesn't like Microsoft.'

rexguo
Thursday, April 03, 2003

What's wrong with the statement "640k should be enough for everybody"?  It was a statement about current and immediate future memory needs at the time, not about how much everyone will ever need in the future.

Plenty of software products describe their current memory requirements this way, but nobody laughs at them.

Brent P. Newhall
Thursday, April 03, 2003

I thought Bill G refuted that statement anyway.

trollbooth
Thursday, April 03, 2003

And anyway, it was after the fact and had nowt to do with MS. IBM designed the IBM PC. They put the memory mapped I/O and ROM in the top 384K of the address space. And, unlike the 68000 (let's say), the 8086 addressing is such that you can't just expand the number of available address bits and have it work.

So, effectively, you're stuck with 1MB of memory, and even if you extended it slightly (expand size of segment registers, say) you're still stuck with this silly 640K at the bottom.

Anyway, how long before 4GB becomes insufficient? That's going to be a problem soon, I should think...

tommyhl
Thursday, April 03, 2003

<<even if you extended it slightly>>

And I just said 'you couldn't do this' :)

What I was getting at is that if you write your programs correctly, they work correctly after expanding the 68000 address space of 16MB into 4GB. This expansion (as used on 68020 and later) happens by not ignoring (as the 68000 did) the highest 8 bits of the addresses. Net result is that the bottom half of the 16MB is at the bottom of the 4GB, and the top half is at the top of the 4GB, and you have another 4080MB inbetween.

Not so easily worked around on the PC.

tommyhl
Thursday, April 03, 2003

If BillG was referring to the 8086, then it is understandable, as (IIRC) the 8086 had only 10-bits of address space. When the 80386 came out, DOS extenders like DOS/4GW and PMODE/W became wildly popular to break the real-mode 640K limit. But there was some funky address mapping going on for the bottom 1MB address space, and it was hairy doing timer interrupts stuff and making call-backs to real-mode DOS and BIOS services. Actually, now that I think about it again, the whole PC design is quite silly...

.rex

rexguo
Friday, April 04, 2003

tommyhl: "how long before 4GB becomes insufficient?"

It's already insufficient for some applications. Hence, 64-bit memory architecture is available for just about any serious platform you can think of.

Now, I have doubts that we'll overrun the limits of 64-bit any time soon. ;)

Brad (dotnetguy.techieswithcats.com)
Friday, April 04, 2003

rexguo and Brent:

It was 64k, not 640.

It's easy to laugh at now, in the days of cheap and abundant memory, but MS had to make decisions in that context.

If you go on the record as saying *anything* statistical, you will look like a moron soon thereafter. If you underestimate (e.g. "64k ought to be enough ..."), you look like a fool. If you overestimate (e.g. "In the year 2000, everyone will have a personal flying car"), you look like a fool.

Joe Grossberg
Friday, April 04, 2003

Joe,

640K is what BillG said:

http://www.brainyquote.com/quotes/quotes/b/q103747.html

64K is the space addressable by a x86 segment register in real-mode.

Please get your facts right before correcting people.

.rex

rexguo
Friday, April 04, 2003

I don't care what BrainyQuote says, Bill Gates never made the 640k comment. It's an urban myth, and there is no news source that can be referenced that indicates he ever said that.

Tim Sullivan
Friday, April 04, 2003

In my very first job in 1980 I worked for a team building microprocessor based avionics systems. I was asked to write a report assessing the merits of two new microprocessors then just coming on to the market - the Zilog Z8000 and the Intel 8086. My conclusions were that the 8086 was marginally better, but that a whole megabyte of address space was totally unnecessary, and I couldn't imagine who would use it.

David Clayworth
Friday, April 04, 2003

As Tim Sullivan notes, it's not certain that Bill Gates ever made the statement "640K of memory should be enough for anybody" - it was more likely someone at IBM or possibly Intel. The 640K barrier was a hardware limitation (in the processor chip) at the time, as mentioned by tommyhl in an earlier reply.

The page http://www.urbanlegends.com/celebrities/bill.gates/gates_memory.html
contains an excerpt of a New York Times article where Bill Gates denies ever making the statement.

Philip Dickerson
Friday, April 04, 2003

Well given BillG's ability to avoid giving straight answers or deny things, as displayed during the anti-trust trials, he could be denying ever made that 640K remark after realising how silly it is. Anyway, this is pure fun speculation and it doesn't really matter to me.

But yeah you are right, the 640K is really a hardware limitation due to IBM's design. Though we should bear in mind that MS supplied IBM with the OS at that time, and they worked closely together.

The plot thickens...(calling anyone with anti-fog devices...)

.rex

rexguo
Friday, April 04, 2003

*  Recent Topics

*  Fog Creek Home