magreen
Golden Member
- Dec 27, 2006
- 1,309
- 1
- 81
tcsenter: You're bringing some good facts to the table I wasn't aware of. Thank you. But I think that some of your argumentation is flawed, and if we recast my argument in a more nuanced way, it still has validity.
My point is that Microsoft showed a remarkable lack of foresight in enforcing that 640k barrier at the operating system level, since computer hardware was bound to grow and the 1MB hardware limit could be easily predicted to disappear.
Second, even the other products which only required minor driver tweaks would still require nearly as much cost, time, and overhead for companies to produce. The product development and delivery cycle for corporations does not just consist of software development. True, the development cycle would be much shorter. But the QA/QC cycles and full regression testing would be the same, if not longer, to validate the new tweaked drivers on a brand new operating system. And the product delivery cycles would be just as long, to bring the new drivers to market. It's no small feat to release a newer tweaked version of a software package, even if that package only requires a small change on the actual development end. Had Microsoft had the foresight to not release the vista 32-bit, companies would have had to develop brand new 64-bit drivers for these devices. But the overall time to market and costs for developing these new drivers may have not been significantly longer -- perhaps 30%, or even 50% more -- than the time to market and overall costs for releasing tweaked drivers.
Not to mention that most of these companies were anyway creating 64-bit drivers for vista 64. They could have combined the resources being used to develop and deliver them, instead of two parallel lines of development, testing and delivery, one for 32-bit drivers and one for 64-bit drivers.
In short, Microsoft majorly screwed up on this one and set us back years, as taltamir succintly said.
Fine, the original 8086 was limited to <1MB. But certainly by the 386 era, and I believe even the 286 as well (correct me if I'm wrong), that 1MB limitation was removed. But we were still stuck with the 640k barrier artificially created by MS-DOS, and we had no recourse except silly games like extended and expanded memory spaces. Meanwhile, linux could address all that memory normally and made ms-dos look laughable.Originally posted by: tcsenter
No, Intel's 8086 20-bit external address bus was limited to 1MB addressable memory. This wasn't an MS thing, it was a CPU design limit.Originally posted by: magreen
Nope, it was MS. There's nothing in the IBM PC hardware that limited it to 640k. It's microsoft that decided they'd give you 10 times 2^16 in addressable memory, because who could ever use more than that?Originally posted by: poohbear
640kb limitation was IBM was'nt it? they created the PC. and at the time 640kb was a huge amount of memory, kinda like 4gb is now (software at the time simply didnt need more).
My point is that Microsoft showed a remarkable lack of foresight in enforcing that 640k barrier at the operating system level, since computer hardware was bound to grow and the 1MB hardware limit could be easily predicted to disappear.
I'm wasn't suggesting that Moore's law regulates the memory address space. I was invoking Moore's law to describe the growth over time of the amount of physical memory that can be cheaply put inside a normal computer. Memory is made of transistors, so I believe Moore's "law" applies to it. However, my point really doesn't depend on whether memory capacities fit the narrow, technical definition of Moore's law. I was saying that just like computer power and performance will predictably grow quickly in many different ways, of which Moore's law is one example, it was easily forseeable that memory capacities would quickly grow, and any operating system design had to plan for the immediate future and take that growth into account.Moore's law has nothing to do with useful or convenient memory address space resources. It has to do with transistor or gate counts in integrated circuits, which can be (and typically are) dedicated to computational or execution (i.e. processing), I/O, and other resources just as well as memory address bus circuits or logic. In fact, memory address space does NOT follow Moore's law at all. There are several generations of processors released that dedicate all growth in transistors to processing resources or other features before the memory address bus width changes, at which point memory address space increases by orders of magnitude, not a mere doubling.And anyone who'd ever heard of Moore's law knew it was idiotic for them to do that.
True. That's why it's still up for debate whether he said the original alleged quote. However, there is no doubt that most of the computing world blames him for the 640k scourge and how long it lasted.There is a big difference between "I figured 640KB would carry us for about 10 years but it ended-up being only about five or six" and "I figured 640KB would carry us until the end of times".Now, whether Bill Gates actually said the infamous 1981 quote, "640k ought to be enough for anybody," which has been attributed to him for decades, is in dispute. He denied it in 1996, saying, "I?ve said some stupid things and some wrong things, but not that. No one involved in computers would ever say that a certain amount of memory is enough for all time." Of course in '86 he said, "It [640K] was ten times what we had before. But to my surprise, we ran out of that address base for applications within ? oh five or six years people were complaining." Text
Thank you for the information. I wasn't aware of these details. However, I don't believe they change the main point I'm making. First, graphics and sound cards make up a large percentage of hardware which require drivers. And as you said, those required a complete redesign for the new Vista driver model.No, they didn't. The only devices that needed a substantial architectural rewrite were graphics and audio. All other device drivers built or compliant with WDK/DDK and other relevant OS specifications for Windows XP/2003 that was current in 2006 could qualify for Vista WHQL with revision or changes to only minor portions of code. This is why a large number of XP drivers can be used on Vista 32-bit just fine if manually installed instead of using the installer executable. Many XP/2003 64-bit drivers would work on Vista 64-bit if it weren't for MS strict enforcement of driver signing that is unique to Vista.Yet here we see Microsoft doing it again. The whole reason to not transition the market to 64-bit was so legacy hardware would work without rewriting all the drivers. Yet they forced the entire market to rewrite all their drivers with Vista's new driver model, and they STILL didn't move to 64 bit.
Second, even the other products which only required minor driver tweaks would still require nearly as much cost, time, and overhead for companies to produce. The product development and delivery cycle for corporations does not just consist of software development. True, the development cycle would be much shorter. But the QA/QC cycles and full regression testing would be the same, if not longer, to validate the new tweaked drivers on a brand new operating system. And the product delivery cycles would be just as long, to bring the new drivers to market. It's no small feat to release a newer tweaked version of a software package, even if that package only requires a small change on the actual development end. Had Microsoft had the foresight to not release the vista 32-bit, companies would have had to develop brand new 64-bit drivers for these devices. But the overall time to market and costs for developing these new drivers may have not been significantly longer -- perhaps 30%, or even 50% more -- than the time to market and overall costs for releasing tweaked drivers.
Not to mention that most of these companies were anyway creating 64-bit drivers for vista 64. They could have combined the resources being used to develop and deliver them, instead of two parallel lines of development, testing and delivery, one for 32-bit drivers and one for 64-bit drivers.
In short, Microsoft majorly screwed up on this one and set us back years, as taltamir succintly said.