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.'"

19 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. Why, oh why? by palegray.net · · Score: 4, Interesting

    Is there a good technical reason for 32-bit Windows 7 not supporting more than 4 GB of RAM, period? PAE has been in use for a long time now, and while you can't have a single process that exceeds 3 GB in Linux (tunable, I'm given to understand, can also be a 2 GB per process limit in some installations), you can definitely go past 4 GB of total system memory. Windows Server 2008 Enterprise supports 64 GB per 32-bit system...

    1. Re:Why, oh why? by shutdown+-p+now · · Score: 4, Informative

      Is there a good technical reason for 32-bit Windows 7 not supporting more than 4 GB of RAM, period? PAE has been in use for a long time now, and while you can't have a single process that exceeds 3 GB in Linux (tunable, I'm given to understand, can also be a 2 GB per process limit in some installations), you can definitely go past 4 GB of total system memory.

      PAE can break badly written drivers, which are more common on desktop versions of the OS than they are on server versions.

    2. 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
    3. 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
  3. limits by StripedCow · · Score: 4, Funny

    192GB ought to be enough for anyone...

    --
    If Pandora's box is destined to be opened, *I* want to be the one to open it.
  4. 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.

  5. Same boat here by RingDev · · Score: 4, Insightful

    Just got the word that the desktop team is pushing out Window 7. Unfortunately, there are "a couple" of printers that they couldn't get working 64b drivers for. So they are pushing the 32b version out to everyone...

    Blows my mind... It would cost at most a $5000 to replace those printers, compared to the cost of 600+ copies of Windows 7. Crazy.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
  6. Re:What about flash? by shutdown+-p+now · · Score: 4, Insightful

    We've only been waiting FOREVER for a Win64 version of Flash from adobe...

    They probably don't feel like they need to rush it, because, as it is, Win7 x64 still ships with 32-bit IE as a default browser (due to need to preserve plugin compatibility), and all other mainstream browsers only release officially supported Windows versions in 32-bit.

  7. Artificial limits R US (tm) by Twinbee · · Score: 4, Interesting

    Is there a reason they can't go above the artificial limit of 192 GB?

    64 bit CPUs should be able to access up to 18,446,000,000 GB of memory space, so I see no reason for the arbitrary limit.

    --
    Why OpalCalc is the best Windows calc
    1. 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)

    2. Re:Artificial limits R US (tm) by KarmaMB84 · · Score: 4, Insightful

      x86-64 can only address 48-bits and Windows only addresses 44-bits (16 TB). The Windows limitation is interesting because no windows release to date can even touch that address limitation.

      My best guess would be that OS releases are artificially limited to the amount of memory they actually test internally against. Home Premium probably doesn't get serious testing beyond 16GB while Ultimate might get tested against 192GB workstation hardware. High end server releases probably get tested with up to 2TB (probably the maximum amount of hardware available at time of testing). 32-bit desktops probably don't even get tested with PAE enabled at all since chances are desktop hardware drivers will crash and burn so they get a 4GB limit.

  8. Only half? by JustNiz · · Score: 4, Informative

    Everything I've ever thrown at 64 bit windows runs just fine, and usually somewhat smoother than 32 bit. Even some really old stuff. The only software I ever found that don't run on 64-bit are some really old dos games and utilities, but then they didn't even run under 32-bit XP either.

    It boggles my mind why so many people with 64-bit hardware would still install a 32-bit version of windows. I wonder how much of this is actually ignorance and/or just force of habit rather than actual knowledge that they have something that actually doesn't work under 64 bit.

  9. Re:In another news by Anonymous Coward · · Score: 5, Funny

    Compile time doesn't count.

  10. 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...
  11. Not sure why they do that by Sycraft-fu · · Score: 4, Informative

    But yes, it is an artificial limit. Their lower end products are limited on purpose. For example Home Premium is limited to 16GB which is as much as you are likely to see in a home system, but pros might want more. Hence 7 pro (and ultimate) has a higher limit.

    As to why they choose to limit it to 192GB? No idea.

    The actual limit for The Windows NT 6.1 setup is 2TB. I don't remember the particular technical reasons for that, but they are there. There is no reason to process addressing for the full 64-bits of memory when no system exists that can take it. You'll also find that CPUs have memory limits lower than the 64-bit cap. They don't have all 64 address lines because it is not needed. I don't know what it is currently, but it is still below 64-bit. Again, no system could possibly have that much (never mind space, a memory controller couldn't handle the electrical load) so no sense in adding hardware you don't need.

    Thus are ARE real limits below the actual 64-bit space but you are correct, 192GB is not one of them. That is an artificial limit and I don't know why they chose it. Doesn't really matter, I do not see people using more than that in a desktop system (144GB is the most I've seen workstation hardware support) and they can always up the limit.

    However you are correct that it seems odd.

  12. Yes by Sycraft-fu · · Score: 4, Insightful

    It gets circular like that because developers are lazy fucks. So MS includes 32-bit IE, 32-bit Windows Media Player and so on as compatibility measures. Your old plugins will keep working in your new OS. They also have 64-bit versions so that when they upgrade you can use that, but they maintain old versions for compatibility. So, the lazy fucks at Adobe say "Well 32-bit is there, so we'll just keep that since that's what people use." People then say "Well Flash isn't out for 64-bit so I'll keep using 32-bit." You do get a circular situation. You can't blame the users, they use what is available, you need to blame the lazy shit devs.