Good reasons to keep 32-bit Microsoft Windows desktop OSes

8,189

Solution 1

  • 32-bit can be slightly faster in certain use cases -- the smaller addresses means sightly more compact code, which means greater cache efficiency. In the benchmarks I've seen, that efficiency tends to be be overshadowed by 64-bit's greater computational efficiency in heavy-computation environments. But 32-bit does in fact occasionally win on some benchmarks. YMMV. The age of your software matters, as newer builds take advantage of 64-bit stuff that older builds do not.

  • More compact code means less disk space. Just go download the ISOs for your favorite OS in 64 and 32 -bit flavors to see the difference. It's not trivial. It's also quite a lot more once you uncompress the binaries. As pointed out by OrangeDog: Much of this space consumption comes from the fact that 64-bit OSes ship 32-bit libraries in addition to the 64-bit ones.

  • You still get better compatibility with legacy components and software with 32-bit. This is particularly visible in systems that dynamically compile on the host machine but pull in 3rd-party binary libraries at the same time. Microsoft's .NET framework is a great example of this: while the programs are theoretically architecture-independent, anytime you link to a native binary you tie to one arch or the other. Many developers don't even know this is happening, and ship production components that will fail to run on 64-bit systems without some tweaking to explicitly instruct .NET to run in 32-bit mode. Most people don't know how to do this.

  • As pointed out by Daniel B: Windows .NET development on 64-bit machines leaves you open to a frustrating inconsistency where under certain circumstances exceptions are masked by the OS.

  • Legacy hardware. You can't run a 32-bit driver on a 64-bit kernel.

None of this adds up to a show-stopper for most people. Still, you have to decide how these factors affect your environment.

Solution 2

The only reason I can think of to keep a 32-bit desktop operating system is if you use old 16 bit (e.g. DOS) programs and you do not have the windows version which supports Windows Virtual PC.

(And even then I would install a 64 bit OS and use something like DOSbox).

Edit: There actually is another reason: Hardware which fails to cope with more than 4GB address space. E.g. FireWire trying to do DMA. Or any (old) hardware with no 64 bit drivers.

Solution 3

Anything that will run Windows 8 is already 64-bit capable, unless you happen to have some first-generation Intel Atom netbooks (and I doubt that very much). That's about the only thing I can think of.

AMD released its first 64-bit capable Opteron in 2003; and since then virtually every processor they have made has been 64-bit capable.

Intel was a year later, releasing its first 64-bit Xeon (Nocona) in 2004, and expanding to just about the entire product line by 2006. Aside from the aforementioned early Atom chips, every Intel processor today is 64-bit.

Wikipedia has a broken down processor list if you're interested in ancient history.

Solution 4

Compatibility with Ancient Software/Hardware.

If everything works under x64, I wouldn't bother with 32 bit.

Solution 5

Many people don't know that 64-bit programs and libraries occupy more memory than 32-bit equivalents.

For example, when using low-memory virtual machines, it is advisable to use 32-bit operating systems to maximize memory availability inside that VM.

Share:
8,189

Related videos on Youtube

MrGigu
Author by

MrGigu

Currently a Site Reliability Engineer at Take 2 Interactive. Formerly a Site Reliability Engineer for the Stack Exchange network. Prior to my work for Stack Exchange I worked for a small software developer in Sydney, Australia.

Updated on September 18, 2022

Comments

  • MrGigu
    MrGigu over 1 year

    This question is from 2012. If you are reading this in 2019 or later, then the answer really is: No. There is no good reason in 2019 to be maintaining 32-bit desktop operating systems.

    Original question below:


    Server software has been 64-bit only for a while now (Since Server 2008 R2 for Windows, even earlier for Exchange and Sharepoint) and even Ubuntu are pushing you away from 32-bit versions for their server OSes.

    But is there any good, quantifiable reason to keep a 32-bit desktop operating system maintained? We're preparing our Windows 8 images for the (unfortunate?) few that will be early adopters.

    The majority of our desktop computers have 4gb or less of RAM, but I would love to not have to bother supporting a 32-bit flavoured operating system any more.

    Any reason why I should?

    • Lukasz Madon
      Lukasz Madon over 11 years
      The all answers comes down to "to run software that runs only under this system"
    • MrGigu
      MrGigu over 11 years
      @lukas - it would appear to be. To which the answer to my specific scenario is "No, no good reason" as all our software is 64-bit compatible. Which is what I was hoping for, there's no major catch that will explode in my face in a few months (assuming we test thorougly)
    • Xeoncross
      Xeoncross over 11 years
      Some hardware needs it. Depends on your setup. First, and some second generation Atom netbooks only work on 32bit OS's.
    • Dan Is Fiddling By Firelight
      Dan Is Fiddling By Firelight over 11 years
      @Xeoncross It's not just older Atom systems. Intel's current D2500/2700 desktop Atoms have a powerVR GPU and only have win32 drivers.
    • Fergus
      Fergus over 11 years
      This is such a good question...
  • MrGigu
    MrGigu over 11 years
    Actually I think we do have a HP Mini 1st generation Atom, but it's still on XP and is way back in the "only touch if I have to" pile, so it's a bit of a non-issue.
  • Michael Hampton
    Michael Hampton over 11 years
    And 64-bit XP was such a nightmare that nobody ever ran it anyway. No problem there.
  • MrGigu
    MrGigu over 11 years
    Actually this is a very valid reason for keeping 32-bit around. I'd forgotten about this. Thankfully I don't think we have any 16-bit software left ;)
  • MrGigu
    MrGigu over 11 years
    I guess this is a more of a "What doesn't work under 64-bit" question...
  • Will Dixon
    Will Dixon over 11 years
    Printer drivers especially. "Standard paths" for programs become complicated when you have a mix of "Program Files" and "Program Files (x86)" too.
  • HopelessN00b
    HopelessN00b over 11 years
    I ran XPx64. It wasn't that bad. It just wasn't XP. If they'd called it what it actually was (Server 2003, lite edition) it probably wouldn't have been such a nightmare.
  • naught101
    naught101 over 11 years
    But there's free software to do that, so it's not really a good reason, is it?
  • Alan B
    Alan B over 11 years
    Non just MS-DOS based applications, also potentially Win16-based applications .
  • rib
    rib over 11 years
    Just FYI on performance. 64-bit code can be faster due to more registers, esp if doing a lot of integer work.
  • OrangeDog
    OrangeDog over 11 years
    64-bit OS ISOs are bigger because they also contain the entirety of a 32-bit system in order to support both kinds of executable. The massive size difference is not because 64-bit binaries are bigger (they are, but not significantly).
  • Hennes
    Hennes over 11 years
    @Naught101: Yes, there is free software for DOS. And for windows there is always Vmware player, Oracle virtual box, windows virtual PC, wine for windows (assuming it works without 16 bit stuff) etc etc. Alan: 1) Indeed, though I haven't seen any old win16 programs in ages. Maybe I am lucky though. :) 2) Yes, hence the example gratia DOS.
  • netdevnet
    netdevnet over 11 years
    An interesting behavioural difference between 64-bit and 32-bit applications is the way some exceptions can be silently swallowed in 64-bit environments, which would otherwise have bubbled up in 32-bit ones. Short example: if you have .Net code relying on a generic exception handler (Application.ThreadException), you will find that Form.Load swallows exceptions silently.
  • netdevnet
    netdevnet over 11 years
    The above behaviour is not considered an issue by the Windows team (instead, the old implementation is considered wrong), so it's unlikely to be changed in future. I mention this specifically because it can be an issue, especially with in-house software, if the developers weren't aware of this behaviour. A lot of in-house software is thus "legacy and not 64-bit compatible" under this definition.
  • pauska
    pauska over 11 years
    Upvoted for the mention of legacy hardware. The "compact code" point is honestly moot these days.
  • Philip
    Philip over 11 years
    -1 Only if the virtualization technology requires VT-x... Not all do. Beside that point, your "Answer" is little more than a comment on what might not work. That's not very helpful nor really qualifies as an Answer.
  • Ruben
    Ruben over 11 years
    @OrangeDog very good point. I'll update accordingly.
  • orlp
    orlp over 11 years
    64 bit programs generally also use more memory.
  • OrangeDog
    OrangeDog over 11 years
    @nightcracker a 2x increase in used memory is not significant compared to a x^2 increase in addressable memory.
  • orlp
    orlp over 11 years
    @OrangeDog: that's comparing apples and oranges. "Damn we have half the food, but at least the plate is big!"
  • Ruben
    Ruben over 11 years
    @OrangeDog: Whether or not the issues with 64-bit are outweighed by the advantages, the purpose of the question was to simply identify the drawbacks so that the reader can draw his own conclusions.
  • OrangeDog
    OrangeDog over 11 years
    @nightcracker No, we have twice as much food, but don't worry as there's enough space on the plate to store enough food to feed the entire population of the planet many times over.
  • OrangeDog
    OrangeDog over 11 years
    @tylerl Indeed, but you can only do that if you actually compare them to the advantages.
  • Aren B
    Aren B over 11 years
    Correct me of I'm wrong but if we eventually adopt 64bit everywhere, the OS can (eventually) stop shipping with 32bit compatible binaries, and the size will go down again? (I know 100% adoption or even 90% adoption will take a LONG time)
  • Ruben
    Ruben over 11 years
    @ArenB It takes a while for legacy software to die out, but it happens. There's not a lot of 16-bit software still kicking around, but you'll find it every now and then. (Did you know we did this once before with the 16 to 32-bit switch almost 20 years ago?)
  • user971102
    user971102 over 11 years
    @OrangeDog The size difference is still there if you exclude the compatibility thing. For instance, Arch Linux 64bit doesn't ship with 32-bit compatibility libraries. The size difference is that 64bit version is about 30M larger..
  • OrangeDog
    OrangeDog over 11 years
    @Earlz archlinux.mirrors.uk2.net/iso/2012.09.07/arch looks like only 3M larger to me
  • Ruben
    Ruben over 11 years
    @BlueRaja Looks like several were deleted. No, the bullet is not incorrect, and you said so yourself, you just said it was rare. There are several cases where code that loads a 32-bit lib will JIT to 64. Manual assembly loading is one of them. They're uncommon enough that programmers don't know to even look for them, so they show up in production.
  • Richmond
    Richmond over 11 years
    Do not forget the first-generation Intel Core CPUs that were NOT 64-bit capable: en.wikipedia.org/wiki/List_of_Intel_Core_microprocessors. I found out the hard way...
  • Ferrybig
    Ferrybig about 5 years
    Your link on the text "frustrating inconsistency" is broken
  • joshudson
    joshudson about 5 years
    I take it you haven't tried to use a 64 bit Windows on 2GB of RAM.
  • Hennes
    Hennes about 5 years
    2GB? My 2009 laptop (a dell E6500) has more. And that is the older piece of equipment still sensibly in use, now 9 years and 8 days old. Except for phones and tablets and similar 2GiB is a thing from the deep past.