Slashdot Mirror


Half of Windows 7 Machines Running 64-Bit Version

nk497 writes "Microsoft has said that nearly half of machines running Windows 7 are using the 64-bit version, up from just 11% of PCs running Vista. The 32-bit version is limited to 4GB RAM, while the 64-bit version allows 192GB, as well as added security and virtualization capabilities. While Microsoft is pushing 64-bit as a way to gain performance in the OS, it earlier this year advised users to install the 32-bit version of Office 2010, 'because currently many common add-ins for Office will not function in the 64-bit edition.'"

9 of 401 comments (clear)

  1. Statistics, statistics by mstefan · · Score: 5, Insightful

    The reality is though that 10% of Windows systems are 64-bit (there's actually still more systems running Vista than Windows 7 out there, although the gap is shrinking). The vast majority of Windows desktops are still running the 32-bit version of Windows XP, and that's not going to change until businesses decide they have a compelling reason to upgrade.

    --
    "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former." --Albert Einstein
    1. Re:Statistics, statistics by drsmithy · · Score: 5, Insightful

      64 bit isn't too far off. As a developer you'd be better off getting a copy soon and work on merging your projects over to work on 64 bit now, rather than wait for crunch time.

      Pro-active developers ? You've got to be kidding. It took the "annoyance" of Vista's UAC before developers finally started changing their Windows applications not to needlessly require admin privileges. They're not going to be implementing 64-bit support one second before "crunch time" arrived.

    2. Re:Statistics, statistics by Sycraft-fu · · Score: 5, Interesting

      It truly amazes me how lazy developers are when it comes to supporting new things. They whine and bitch and drag their feet and blame MS, rather than just admitting they have to learn something new and doing it.

      For example back in the Windows 2000 days I had a professional sound card. It had Windows NT drivers, but had some limits since NT wasn't good at sound. 98 was the preferred OS. Well when 2000 came out, the refused to release 2000 drivers. They claimed that the kernel mixer introduces 30ms of delay that you couldn't get around and that was unacceptable for pro work, etc, etc. Just use the NT drivers even though that caused some problems.

      I (and probably many others) found the MSDN page on kernel streaming and sent it to them, showing them they were full of shit. Finally, many months later, they released a WDM driver... That supported only 2 of the interfaces 10 inputs and outputs. They claimed that WDM could only support one stereo set, that's it. A built in limitation by MS, nothing you can do about it. In frustration I e-mailed MS and I think they were sufficiently surprised by the stupidity of the statement that a developer actually responded and showed me where to find the docs. Turns out that WDM support lots of audio devices, either enumerated as multiple stereo pairs (as old style drivers did) or as a single multi-channel output. in fact you could do both at once.

      So that went off to them and they ignored it for a long time and finally got out a real, full, WDM driver that was buggy as shit. The proceeded to work on the bugs and eventually had a nice driver. They decided they really liked WDM at that point, and quickly stopped supporting the older formats. It went from "We can't do it," to "This is the only way to do it.

      But it took like a year and a half.

      Many, perhaps most, developers are extremely, EXTREMELY lazy at updating to new technologies and fixing up their code. They want to keep doing shit the same way they always have, no matter how outdated that is.

  2. 32 at work, 64 at home by Monkeedude1212 · · Score: 5, Insightful

    We use the 32 bit at work for the compatability with old the old MS Access databases (don't ask... I just work here...)

    I use the 64 bit at home - even though it causes some odd glitches with various games here and there, for the most part it runs everything much smoother. I decided that I'd need more than 4 Gigs of RAM to run Visual Studio to Debug my modified Source game.

  3. Re:Why, oh why? by TheRaven64 · · Score: 5, Interesting

    PAE adds another layer to the page tables (as does 64-bit addressing), which makes TLB misses more expensive, so you don't want to enable it on systems that don't have more than 4GB of RAM. Given that very few machines ship with more than 4GB of RAM, but a 32-bit processor, it's likely that this would be a configuration that would get very little or no testing (especially from driver developers) so would be potentially very buggy.

    A lot of PCI devices are 32-bit, so drivers need to use bounce buffers to do DMA transfers to physical memory over the 4GB line. This is something that device drivers designed for 32-bit systems won't do, because they can just pass 32-bit physical addresses straight to the device on the systems they were written for.

    --
    I am TheRaven on Soylent News
  4. Re:In another news by Anonymous Coward · · Score: 5, Funny

    Compile time doesn't count.

  5. Re:What about flash? by Joe+Snipe · · Score: 5, Insightful

    Did you just say that we don't have 64-bit flash because Windows uses 32-bit IE because we don't have 64-bit flash?

    --
    Sometimes, life itself is sarcasm...
  6. Re:Why, oh why? by bernywork · · Score: 5, Informative

    You try accessing more than 2GB of RAM (or 3GB of RAM with the /3GB switch in boot.ini) in a single process. What you end up having to do is (firstly) your own memory management (Which sucks) and having to manage multiple 2GB "windows" so if you want to read data you have to swap in an out of these "windows" to be able to read them as the kernel itself is only 32bit and can only directly address 4GB of RAM.

    So you end up coding in what is known in Windows as "Addressable Window Extensions" and they are a pain in the arse. Doing this on SQL server and Oracle was basically a necessity, and when PAE was first thought of, this is exactly what was being thought about, database systems. They have been able to use PAE in VMware etc and other places as they give the upper and lower limits for memory address directly to the operating system (Windows, Linux whatever else is actually running in the VM) and then they address via the hypervisor that memory address space, meaning that the hypervisor doesn't have to do a lot of memory management (Certainly nothing like protected memory)

    So in effect, the biggest reason for 32bit Windows 7 not supporting more than 4GB of RAM is because the kernel itself is a 32bit app and doesn't have the 64bit address space to directly address more than 4GB of RAM itself.

    In the long term it's just too hard, and it's easier to code for 64bit than to deal with what are effectively kludges to make this work.

    If you need to know more about this, I would suggest Mark Russinovich's Windows Internals book.

    --
    Curiosity was framed; ignorance killed the cat. -- Author unknown
  7. Re:Artificial limits R US (tm) by Anonymous Coward · · Score: 5, Interesting

    18446000000 / 16GB = 1,152,875,000. Note at 400MHz(the minimum DDR3 speed) light travels about 1 meter per clock cycle. Such a memory array would be much larger than 1 cubic meter, making DDR latency numbers impossible to meet even with lightspeed interconnects.

    Yes, IAAAD(I am an ASIC designer)