An Open Letter To Microsoft: A 64-bit OS is Better Than a 32-bit OS

By | June 8th, 2017

Windows 32 Bit vs. 64 Bit

Editor’s Note: Our co-founder & CTO, Brian Wilson, was working on a few minor performance enhancements and bug fixes (Inherit Backup State is a lot faster now). We got a version of this note from him late one night and thought it was worth sharing.

There are a few absolutes in life – death, taxes, and that a 64-bit OS is better than a 32-bit OS. Moving over to a 64-bit OS allows your laptop to run BOTH the old compatible 32-bit processes and also the new 64-bit processes. In other words, there is zero downside (and there are gigantic upsides).

32-Bit vs. 64-Bit

The main gigantic upside of a 64-bit process is the ability to support more than 2 GBytes of RAM (pedantic people will say “4 GBytes”… but there are technicalities I don’t want to get into here). Since only 1.6% of Backblaze customers have 2 GBytes or less of RAM, the other 98.4% desperately need 64-bit support, period, end of story. And remember, there is no downside.

Because there is zero downside, the first time it could, Apple shipped with 64-bit OS support. Apple did not give customers the option of “turning off all 64-bit programs.” Apple first shipped 64-bit support in OS X 10.6 Snow Leopard in 2009 (which also had 32-bit support, so there was zero downside to the decision).

This was so successful that Apple shipped all future Operating Systems configured to support both 64-bit and 32-bit processes. All of them. Customers no longer had an option to turn off 64-bit support.

As a result, less than 2/10ths of 1% of Backblaze Mac customers are running a computer that is so old that it can only run 32-bit programs. Despite those microscopic numbers we still loyally support this segment of our customers by providing a 32-bit only version of Backblaze’s backup client.

Apple vs. Microsoft

But let’s contrast the Apple approach with that of Microsoft. Microsoft offers a 64-bit OS in Windows 10 that runs all 64-bit and all 32-bit programs. This is a valid choice of an Operating System. The problem is Microsoft ALSO gives customers the option to install 32-bit Windows 10 which will not run 64-bit programs. That’s crazy.

Another advantage of the 64-bit version of Windows is security. There are a variety of security features such as ASLR (Address Space Layout Randomization) that work best in 64-bits. The 32-bit version is inherently less secure.

By choosing 32-bit Windows 10 a customer is literally choosing a lower performance, LOWER SECURITY, Operating System that is artificially hobbled to not run all software.

When one of our customers running 32-bit Windows 10 contacts Backblaze support, it is almost always a customer that did not realize the choice they were making when they installed 32-bit Windows 10. They did not have the information to understand what they are giving up. For example, we have seen customers that have purchased 8 GB of RAM, yet they had installed 32-bit Windows 10. Simply by their OS “choice”, they disabled about 3/4ths of the RAM that they paid for!

Let’s put some numbers around it: Approximately 4.3% of Backblaze customers with Windows machines are running a 32-bit version of Windows compared with just 2/10ths of 1% of our Apple customers. The Apple customers did not choose incorrectly, they just have not upgraded their operating system in the last 9 years. If we assume the same rate of “legitimate older computers not upgraded yet” for Microsoft users that means 4.1% of the Microsoft users made a fairly large mistake when they choose their Microsoft Operating System version.

Now some people would blame the customer because after all they made the OS selection. Microsoft offers the correct choice, which is 64-bit Windows 10. In fact, 95.7% of Backblaze customers running Windows made the correct choice. My issue is that Microsoft shouldn’t offer the 32-bit version at all.

And again, for the fifth time, you will not lose any 32-bit capabilities as the 64-bit operating system runs BOTH 32-bit applications and 64-bit applications. You only lose capabilities if you choose the 32-bit only Operating System.

This is how bad it is -> When Microsoft released Windows Vista in 2007 it was 64-bit and also ran all 32-bit programs flawlessly. So at that time I was baffled why Microsoft ALSO released Windows Vista in 32-bit only mode – a version that refused to run any 64-bit binaries. Then, again in Windows 7, they did the same thing and I thought I was losing my mind. And again with Windows 8! By Windows 10, I realized Microsoft may never stop doing this. No matter how much damage they cause, no matter what happens.

You might be asking -> why do I care? Why does Brian want Microsoft to stop shipping an Operating System that is likely only chosen by mistake? My problem is this: Backblaze, like any good technology vendor, wants to be easy to use and friendly. In this case, that means we need to quietly, invisibly, continue to support BOTH the 32-bit and the 64-bit versions of every Microsoft OS they release. And we’ll probably need to do this for at least 5 years AFTER Microsoft officially retires the 32-bit only version of their operating system.

Supporting both versions is complicated. The more data our customers have, the more momentarily RAM intensive some functions (like inheriting backup state) can be. The more data you have the bigger the problem. Backblaze customers who accidentally chose to disable 64-bit operations are then going to have problems. It means we have to explain to some customers that their operating system is the root cause of many performance issues in their technical lives. This is never a pleasant conversation.

I know this will probably fall on deaf ears, but Microsoft, for the sake of your customers and third party application developers like Backblaze, please stop shipping Operating Systems that disable 64-bit support. It is causing all of us a bunch of headaches we do not need.

Brian Wilson
I completed my undergraduate at Oregon State University in 1990, then completed a Stanford Masters degree in 1991. Ever since then I've worked at various companies as a software engineer, in the last few years starting my own software startups called MailFrontier (started in 2002) and most recently Backblaze (started in 2007).

I have a personal web site at that I started in 1999 (it was originally just for one vacation, but it kept growing) where I put up my vacation pictures and videos. Nothing professional, it's all just for fun.

In my spare time I enjoy skiing, motorcycling, and boating. I have been lucky enough to travel to a few countries, and I enjoy scouting out new places for the first time.

Follow Brian on:
Twitter: @brianwski
YouTube: brianwski
LinkedIn: brianwski
Google+: brianwski
Reddit: brianwski
Category:  Backblaze Bits · Tech News
  • Pingback: An Open Letter To Microsoft: A 64-bit OS is Better Than a 32-bit OS()

  • multilis

    64 bit windows will often run 32 bit apps worse, have to do the translation between 32 and 64 bit repeatedly including fancy glue to convert structures.

    64 bit pointers are 2x as big as 32 bit, which means more ram may be used, and less likely to all fit in cache.

    Microsoft has such a big market share that 32 bit windows is bigger than most other 64 bit OS shares, Apple with much less market share harder to get 3rd parties to support 2 different versions.

    32 bit Windows is capable of exceeding 2 or 4GB ram, just needs fancier tricks to do so.

    Of course lot of benefits with 64 bit version of Windows, but there still exist some advantages with 32 bit. (there is a small chance that in future processors and OSs will flip back to 32 bit with more cores/processors and the 100s of GB of ram divided up between the 100s of processors, as conventional approach gets more complicated the more processors you add, and sometimes having twice as many workers that each only are a little slower is better. In the transistor space of modern processor with 4 cores we could stick 100s or 1000s of older generations of 32 bit processors )

  • Rick75230

    You’re just not being realistic. For instance, I work at a small law firm. We still have DOCUMENTS that were drafted using programs like WordPerfect 5.1 for DOS. They simply don’t port to Windows programs without the formatting getting massively screwed up. And nobody’s going to pay us to do massive changeovers of old documents “just to do it”.

    And in other cases, companies have old documents that were drafted using wordprocessors that had a proprietary format, never had a 32-bit Windows version and never were popular enough that conversion programs were created. The same for other types of legacy products.

    And then there are the old “this program COMBINES features that do EXACTLY what I want” and there is NOTHING equivalent.

    What Mac users do or don’t do is completely irrelevant. Most small- to mid-size companies use PCs and wouldn’t consider buying Macs because of the SUBSTANTIAL cost difference.

    Regarding “use DOSBox”, “set up virtual machines”, etc., the AVERAGE user and small company doesn’t have a clue about those and if they DID try it would cause more headaches than it would solve. Those wouldn’t be handled by a competent IT person, they would be done by “whoever” who happens to know how to set up wi-fi, so he’s “an expert”.

    Let’s see an emulator that can run 16-bit WINDOWS applications and NETWORK them. For instance, I have several 16-bit Bible study programs with maps, notes, and all sorts of “goodies” unique to the program. I keep a copy of Win10 32-bit so I can run those sorts of programs when needed.

    • Rick Cody

      Why does it need a version of Windows it was never targeted to run?

      It seems far more unrealistic for your law office to expect MS to release crippled software because you’re running old software. Moreover, it’s quite selfish.

      • Rick75230

        Win 32 isn’t “crippled”–it just can’t use massive amounts of memory. AND it can run 16-bit legacy software. You wouldn’t expect libraries to throw out all their books because “we have COMPUTERS now.” Nor would you expect “Okay, spend HUNDREDS OF THOUSANDS OF DOLLARS scanning all the books “just to have ‘latest and greatest'”.” We still DO use various old documents now and then but no one is going to PAY us to do a mass conversion.

        The fact is that MOST business users now DON’T NEED “latest and greatest”. We buy Dell refurbs the same model as we bought new in 2009, running 32-bit Win 7 with 4GB DDR3 and they’re fine. Like most businesses, we do wordprocessing and spreadsheets and do research on the Web. UNLIKE most businesses, we also run a lot of VPN’s into our clients’ systems running virtual Win 7 desktops on their mainframes.

        At home I normally use a 64-bit/8GB Win 10 Pro machine with 2 SSD boot drives (32 bit and 64 bit) and Classic Shell and at work I use a 32-bit Win 7/4GB HDD with Classic Shell. Performance is pretty similar for routine work, so I don’t see any point in putting an SSD in the work PC.

  • Eric Frederich

    If they dropped 32 bit Windows would BackBlaze be able to support a Linux client?

  • Eric Frederich

    Ha… they do this to drive people away from native code and to develop for .NET

  • Caspian Will

    Funny that you claimed this will fall on deaf ears at Microsoft, when you’re seemingly doing the same thing and not editing the article. Several people have told you already, but let’s ignore 16-bit software for now. Zero downsides is absolutely, factually, wrong.

    A 64-bit OS uses more RAM and much more disk space than a 32-bit OS. That’s a fact. Since pointers are 8 bytes instead of 4, that’s a waste of RAM when you can’t even take advantage of it (machines with low RAM). Code is also larger (just inspect most binaries and you will see) due to REX prefix on pointers (the extra registers don’t really help that much with code density).

    Plus, if you want to use VMs with less than 4GB each, what sense does it make to use a 64-bit OS? If you run multiple VMs at once then the differences in RAM use will tend to add up. And of course you need the OS to be available to be able to install it in a VM in the first place.

    32-bit software can use up to 4 GB (a bit less due to fragmentation) in a 64-bit OS *each* (per application). Why 32-bit software in 64-bit OS? Because, again, it uses *less RAM*. Using 64-bit software, when it uses less than 4GB RAM, is nothing but a waste (unless it deals with tons of 64-bit or larger integer calculations) and lazy developers who can’t even flip a switch and recompile for 32-bit won’t admit it. Yes sometimes it’s not as easy as flipping a switch, but in that case, the software is poorly coded — don’t bash old software that can’t be ported easily when you’re doing the same and not writing it with clean portability in mind.

    Lastly, a 64-bit OS also uses more RAM than a 32-bit OS, and again, an OS is used everywhere, not just as “primary OS on a desktop”. Run 5 instances of a VM in your desktop and you probably lose 1-2GB of RAM just like that by running a 64-bit OS… loss for no reason, really. VMs need an OS to install too, you know. In this case, 32-bit is clearly the superior choice for such “light” VMs.

    I’d argue that even with a 64-bit OS, 32-bit software for *most* usages is more than enough and superior since it uses less RAM. Really integer-computing intensive software that doesn’t make use of vectors (32-bit has those available as well just like 64-bit) might benefit from 64-bit, and those using more than 3GB of RAM or so, but that’s it.

    So why compile software for 64-bit when it won’t help, not even in a 64-bit OS? Is it because it’s “cooler” or what? Seriously, dumbfounded why some devs are so adamant on “64-bit” hype train even for the simplest of software, when it does more harm than good.

    So again, please edit the article because zero downsides is factually wrong. Unfortunately, I know this will fall on dead ears, like you said.

    As for 32-bit OS not able to run 64-bit software: ever thought that software *should* be compiled for 32-bit if it clearly doesn’t use enough RAM to justify it being 64-bit? Problem solved. If it uses more RAM than a 32-bit OS can handle then you can’t run it anyway, even if you could.

    I see all this nonsense trend of making every little app 64-bit and devs don’t see how much of a waste that is? Maybe if all software using less than 3GB of RAM was compiled *only* in 32-bit, this problem would *not* exist, since it runs fine on 64-bit OS *anyway* (I’d argue, even better than 64-bit version, like certain Chrome benchmarks)

  • Chris

    FF222 gave a good description of the downsides to going 64-bit. Part of me wishes Microsoft would stop making 32-bit versions so companies would be forced to do something. I work for a state transportation agency. They have expensive, old communications and other kinds of equipment that use 16-bit drivers, so don’t think they would work in a VM. It would be great if they just bought new equipment that has new drivers, but it’s out of my hands. One thing I have noticed lately though is for new computers sometimes 32-bit Win10 drivers aren’t even being offered for them.

  • kin0025

    I would also like to point out, that in addition to losing 16 bit support, the older atom processors produced by intel, and pushed heavily around the time vista launched are 32bit only. Recently Atom CPUs have supported 64 bit, but drivers and BIOS support has not been implemented by OEMs. While this is a non-issue with devices launched with Windows 10, Microsoft does like their backwards compatibility though.

  • Kai-Chieh Ku

    I personally don’t use 32-bit Windows at all for a long time, and I love all of the benefits from 64-bit.

    However, I don’t quite agree your “zero downside” point. Technical speaking, there are certainly some downsides to 64-bit Windows.
    1. It requires about twice of storage and the storage is either not cheap or not upgradeable thanks to those thin and portable devices nowadays. Remember we still need 32-bit userland runtime to run many useful 32-bit apps, and that takes plenty of space.
    2. Intel Atom line got 64-bit support quite lately, I believe some people are still using them.

  • Pingback: Weekend tech reading: Cryptocurrency valuations still rising, 3 years on a Hackintosh – Used Laptops Guide Online()

  • Pingback: Weekend tech reading: Cryptocurrency valuations still rising, 3 years on a Hackintosh | Techlear()

  • FF222

    Contrary to what the author states, there are several downsides of running a 64-bit version of Windows over a 32-bit version of Windows on the same machine. The three most important of those are:

    1. Losing the ability to run 16-bit Windows applications
    2. Losing the ability to use hardware whose manufacturer has only provided 32-bit drivers
    3. Using more RAM for achieving the very same functionality (because of both code and data in a 64-bith app taking up up to 2x as much memory, as in a 32-bit version of the same app)

    Now, these might be or might not be important factors to some users, but for those who are affected negatively by them, using a 32-bit version of Windows is definitely an advantage or even a “must”.

  • Vince

    Other people beat me to the punch, but as Tim Sedlmeyer says, 16-bit applications are able to run in the 32-bit windows world, and that is still used *A LOT* – for example a well known shipping company has a shipping tool which is used for thousands and thousands of parcels a day in just one warehouse and it is 16-bit, so cutting it off is an issue – and that is just one of a huge number of examples.

    32-bit Windows still exists also because there are plenty of people with processors incapable of running 64-bit instructions, so again they’re being supported as it stands by Microsoft rather than those computers being cut off.

    Solutions such as vmware or similar aren’t always an option for all kinds of reasons, especially if you get into situations with obscure hardware support being needed.

  • The only part missing from this is, that the 32-bit version still supports 16-bit software, where as the 64-bit version still supports 32-bit software, but no 16-bit software at all. If people are still dead set on using 16-bit software, they should be installing a 64bit OS, and then installing the 32-bit previous OS in a VM (which is what Microsoft kinda-sorta did with the Vista/7 versions.) Or maybe throw some money at the DOSBOX developers and WINE developers to produce a DOS/16-bit Windows VM without the overhead of all the other box-in-box emulation that is supremely overkill for what people are really trying to do by running that old software.

    • Rick75230

      Multiple problems with that. Keep in mind that the vast majority of users don’t even know what a “virtual machine” IS, let alone how to install and manage one. Plus, the average user doesn’t BUY WINDOWS, they use whatever came with their PC. So they don’t have a copy of “the previous 32-bit OS”. And PCs nowadays don’t even come with an install disk, just a recovery partition.

      Try BUYING a PC nowadays with 32-bit Windows without special ordering–good luck. It’s almost impossible even to find REFURBS with 32-bit.

      We always have to keep in mind that “techno-geeks” are an EXTREMELY small portion of ALL Windows users. MOST Windows users expect their PC to be like their car–“Turn it on and it works.”

      For 15 years I’ve been the ONLY guy at a company that on average has about 15 women employees, from early 20’s to early 60’s, and LOTS of employee turnover, so I’ve seen over 100 “average users” who REGULARLY use PC’s for their jobs, which are similar to secretarial work. I’ve been absolutely amazed at how many of them have no idea what Windows Explorer is.

      DOSBOX is for running OLD DOS GAMES. It is NOT for NETWORKING. And it only runs DOS programs, not 16-bit Windows programs.

      • DOSBOX is not a VM, but it can run everything up to Windows 98SE, though Win95/98/98SE runs in a critically degraded mode. Windows 3.x runs good enough to play Win3.x games but again, I must stress the point that the Microsoft WoW (Windows on Windows) system utilizes hardware features to do the 16on32 or 32on64 that are built into the CPU where as DOSBOX re-emulates something half way between a 386 and a 486. OS/2 Warp has a Win 3.x subsystem as well that was better engineered than running Win3.x apps on Win95.

        But as I said, if your goal is to run the old software, there are ways of making it work, but it’s a huge hassle. There are people out there who still hang on to old hardware because that’s the only way they are guaranteed being able to open old software or play old games without the latency or emulation overhead despite the fact that the few things you can’t run on DOSBOX are largely hardware issues (eg requiring real serial or parallel ports to communicate with CNC equipment.) If you spent a small fortune on this kind of equipment and it’s perfectly good, you’re not going to throw it all away when the PC could be replaced with a 50$ Raspberry Pi with the GPIO pins mapped to a serial port. It’s the playing the software that is the stumbling block, and many a commercial or industrial piece of hardware has been sent to the landfill because the parts for the 30 year old computer died.

  • Glyn Roberts

    While this article makes some good points it also makes some ludicrous claims. I have numerous software packages which are 16bit with about a million lines of code in each of them. To suggest that it is a trivial overnight process to convert them is just absolute rubbish and shows total lack of understanding of the development and testing processes. Yes I am converting them to 32bit versions and should have done so a long time ago but it is a long and arduous process. There are also actually very few 64bit applications as this offers very little extra benefit over a 32bit application and most of those applications with 64bit versions also have 32bit versions so to run a 32bit os really only restricts the amount of RAM that you can access and the majority of users don’t need bucket loads of RAM because all they do is browse the internet and send emails with the occasional word processing and spread-sheeting tasks – none of which require ver much RAM.
    Of course the ideal would be for all computers to run only 64bit apps and to have loads of RAM but this is not the same thing as saying that they NEED to do this.
    Many people could easily get by with a tablet computer with a real keyboard, mouse and external screen for convenience of use and that would be all they ever needed.

    • Sniffy

      the real question is, why do you need to run those legacy 16-bit apps on Windows 10? Even if MS continues to support 32-bit OS, you are still risking compatibility problems by upgrading to the latest OS. you will be still be able to install older versions of windows on new HW for quite a while, I imagine.

      • Dan_Neely

        Win10 32 is the most secure 32 bit version of windows, and has a better UI than win8/8.1. While Win 7’s UI has a lot of fans who prefer it over newer versions, it’s also only 2.4 years from end of life. That means that any businesses running on W7 need to be thinking about their upgrade path to a newer version; and that new deployments of it shouldn’t be happening any more.

        • Sniffy

          Obviously the new OS is better in many ways, but if you’re still using 16-bit software it’s already pretty clear reliability is a lot bigger priority than security and ‘upgrade path’, because upgrading always risks breaking old stuff. For that use case, I imagine businesses just keep the old existing systems around until the HW starts to fail.

        • Rick75230

          Most business users realize that all the scare tactics about security are gross exaggerations. Go back and look at the ads on-line for the various past versions of Windows.

          Every time a new version comes out it’s the same story: “The sky is going to fall in and hackers are going to totally destroy your computer systems unless you get the NEW VERSION, which is SO much more SECURE.”

          Then 3 years later when the NEXT version comes out: “OH MY GOD! YOU’RE STILL RUNNING **THAT** ??? ARE YOU CRAZY ??? HACKERS will DESTROY your computer systems !!!”

          Rinse, spin, repeat.

          Regarding UI, there’s usually SOMEONE who knows about Classic Shell and will tell them, “Don’t worry, you can make it LOOK LIKE Win XP or Win 7 to the actual USERS, so they won’t feel uncomfortable and you won’t have to spend a fortune retraining. AND you won’t have a bunch of continuous videos hogging your company’s Internet bandwidth AND annoying people who find it distracting.”

  • Slingshot Wunderland

    32bit has or had value in legacy manufacturing systems. Old but vital tools and software have problems with the “Programs Files (x86)” directory. With thousands of seats to fill, stability and compatibility are core concerns so 32bit is the safe choice. Not sure why the average person would purchase 32bit because compatibility is something a single customer can work around one way or another.

    • Glyn Roberts

      I agree that for a person they could go with a 64bit os with (probably) no issues but many businesses still run 16bit legacy apps that provide core business functions and that is not a trivial obstacle to overcome.

  • Eric Towers

    One industrial control system I have managed is 16 bit software that requires sub-millisecond control of the serial port. There is as yet no viable VM solution to this problem. This machine requires a closed, proprietary driver from a defunct company. That control system will be running on OSs that support its needs for the remaining 11 years of its depreciation, and perhaps longer.

    Relatedly, I still play time-critical 16-bit (only) games. These are also tricky to play on modern hardware since the craptastic options for USB/serial conversion make no latency promises (because they cannot). Fortunately, I still have a 16550 card with, you guessed it, 16-bit drivers. No 64-bit option there either unless GoG starts providing some very niche titles.

    • Rick Cody

      Why does a 16-bit industrial control system from a defunct company need the latest and greatest version of Windows. The company’s been out of business longer then Windows 10 has been out, how does it require windows 10 to run?!?

      • Eric Towers

        You appear to be putting words in my mouth. They don’t fit there. Try something else.

  • Craig

    Do we really need to explain this, Brian? There are people out there who are still running 32-bit CPUs, and there are businesses out there who still use 16-bit legacy apps that won’t run in 64-bit Windows.

  • What about machines like this:

    this is a $100 tablet that runs Windows 10. It works pretty good for surfing the web, watching videos, etc. A 32 bit OS helps it make the most of its 2GB of ram.

    • Siana Gearz

      I too have a Windows 10 tablet that i bought for a rough equivalent of $100 2 years ago – it only has 1GB RAM and 32GB eMMC drive. I’m running Windows 10 32-bit quite happily on it, upgraded during free upgrade offer from Windows 8.1 that the device shipped with from the factory. Forcing me to install a 64-bit version, while it would run, would be truly disastrous – there isn’t enough storage, there isn’t enough RAM, there are no drivers for touchscreen and rotation sensor and other peripherals! And you can’t even buy a handbaggable Windows computer that is all that fit for 64-bit OS even if you had a larger budget in mind.

    • Rick75230

      I have bought 3 Azpen Android tablets–two 7″ units for $40 each, the second one about a month ago because the first one started having problems. The third one is 13.3″ and cost several hundred.

      Azpen tablets are SLOW. ALL computers are “built to a price”. What do you expect for $40? It works fine for reading books and watching lecture video courses stored on the microSD card and it’s light and easy to carry around. I wouldn’t consider trying to run GAMES.

      Regarding the 13.3″ tablet, the SCREEN is BEAUTIFUL. But the unit is still slow. I’ve never tried watching videos, but it can take a bluetooth keyboard and USB mouse and work for wordprocessing. They’re not practical for things like Web surfing because they’re too slow. Their $100 Windows unit is probably at the same level of performance.

  • Alec Martin

    Interesting history: the first version of Mac OS X that offered support for 64-bit applications was actually Mac OS X 10.3 “Panther” all the way back in 2003. The only hardware that could run 64-bit apps at the time was the PowerMac G5, because of its PowerPC 970 CPU(s). This was a year before the first x64-based Intel processors, and three years before the first x64 Intel-based Macs.

    Even stranger is that the first 64-bit version of Windows was released even before this, in 2001–it was Windows XP for the IA-64 (Itanium) architecture, which is not compatible with 32-bit x86, nor is it compatible with the 64-bit x64 Intel CPUs common in today’s PCs and all Intel-based Macs.

    But the rabbit hole goes deeper–Apple’s OS X, both the PowerPC version and the Intel version, ran 64-bit appications with a 32-bit kernel until 10.6 “Snow Leopard,” released in 2009! If you are curious about how a 32-bit kernel can run 64-bit applications, see

    • RosynaKeller

      Sadly, Panther couldn’t run 64-bit processes. But it did add support for a 64-bit address space. (userspace was still limited to 32-bits)

      • Alec Martin

        That’s a good point. As far as I can remember, Panther couldn’t run 64-bit GUI processes because of a lack of 64-bit versions of the Cocoa libraries, but it could run 64-bit processes that only depended on libraries with a 64-bit version available (which wasn’t much in 2003!). Memory-hungry GUI apps would “cheat” by running the 64-bit compute portion in a separate process with no GUI, and that would communicate with the 32-bit process that ran the GUI.

        • RosynaKeller

          The ability to write 64-bit “compute” daemons was added in 10.4. It was the first version with a 64-bit libSystem.

          • Alec Martin

            Cool, thanks for the correction! I remember there being 64-bit apps before 10.6, but I couldn’t remember how early that was.

  • Victor Bottacco

    I am an Apple user and consultant and all my clients are Apple users, but as a technology consultant in many areas I have to deal with PCs and Windows. As Nikko has pointed out one of the problems for users is driver availability for many still functioning and useful peripherals that only got 32bit drivers.

    But this inconvenience turned into problem for users can become a critical issue in the industrial world. I have many clients with a big range of machinery in factories, and many of those machines have an embedded PC running some flavor of Windows (95, 98, XP anyone?) and those requiere drivers that won’t be re-written or recompiled in 64bit. So, if I have a $100 printer at home or even a more expensive peripheral or program that only runs in 32bit mode and I have to change it, I will be annoyed or even mad thinking that this tech companies are stealing from me… but if I have a $100.000 or $1M machine that needs to run something in 32bit I really need that 32bit Windows version to support it.

    I am no Microsoft fan as I run macOS almost for everything (some Linux and Windows virtual machines on VMWare ESXi) but I have to recognize that Microsoft has gone over and beyond to support certain things and there is a type of user that is grateful… although I do agree with Brian on his article as a general rule for todays general user base.

    P.D. Brian, I just wanted to point out that 2009’s 10.6 OS X version was called Snow Leopard, not Tiger (which was 10.4)

    • > 2009’s 10.6 OS X version was called Snow Leopard

      Now corrected in the article, thanks! I thought I had looked that up but somehow got my name wrong.

      • RosynaKeller

        The first version to ship support for 64-bit CLI processes was indeed Tiger (10.4). 64-bit UI app support was added in Leopard (10.5)

    • Rick Cody


  • Manu

    For a ‘normal’ computer I tend to agree with you, but some dirt cheap computers have so few resources that they cannot meet the 64bit OS requirements. For example, I was once installing one of my Win10 licenses on my cousin’s laptop, a Lenovo with only 2 GBytes of RAM. Now, this is the bare minimum for 64 bit Win10, and it will install – but you end up with a veeeeeery slow computer. In the end I had to jump through so many hoops to get a 32 bit Win10 license. This worked fairly well – as well as it can with that amount of RAM, anyway.

    • Paul McGrane

      I bought a refurb 11″ MacBook Air with a 64GB SSD and 2GB of RAM about 6 years ago, and it runs macOS 10.13 High Sierra! And not even very badly if you stick to Tweetbot and Safari!

    • Josef Ludwig Boga

      You didn’t need a different license to activate the 32-bit version. The Windows activation is 100% independent of the architecture that you choose to install. You basically wasted one license in the same laptop.

      • Manu

        I didn’t explain myself properly. The issue was the image that came with the license – it was 32/64 bit, but it installed as 64 because the processor was compatible (resulting in a horribly slow computer). I had trouble finding a 32bit-only image.
        Note that I did not know of the Media Creation Tool by then, I was using the image that came with the license instead.

        Edit: I did not waste any licenses. Those were not OEM, and can be moved around at will.

        • Josef Ludwig Boga

          Oh, I understand now xD

          Anyway, here’s a cool page where you can download any oficial iso directly from Microsoft servers.

  • Jay T

    What Microsoft should do is have both OS’s on the disk, but only give users the option to install 32bit if they have a CPU that doesn’t support 64bit.

    For Enterprise customers with 16bit software, they can provide the LTSB in a 32bit flavour.

    • Victor Bottacco

      I do agree. +1

    • David Essam

      Except this would cost me an effin fortune… as I have an EXPENSIVE laser printer I’d have to replace outright, on the grounds drivers are only available in 32 bit.. and won’t load or work under 64 bit windows..

      So doing that would be unacceptable unless they ALSO have a way to force HP to issue updated drivers…

  • Colin Stuart

    Sure 32-bit programs work in 64 bit OS… but that’s not true about 32 bit drivers. There’s a reason why Vista came in 64/32 bit flavors… hardware compatibility. And that’s largely why Vista Pre SP1/2 failed (changes to how Vista did driver stuff compared to XP)… it was just an ugly time for hardware. However, when 7 was around… that pretty much was all fixed. Did MS need to release a 32bit 7? No.

  • I think the article does not clearly explain the differences between 32 and 64 bit quite clearly enough. There is a difference between 32 bit versus 64 bit memory addressing, and ability to support greater than 4 GB of physical RAM. All modern operating systems support virtual memory so the program thinks can cram data into any address space, up to the bit addressable limit, regardless of the amount of physical RAM installed. So a 32 bit program will call memory addresses from 0 to 2 GB (2 GB to 4 GB addresses are reserved for the operating system and video memory, BIOS, etc.). With multiple programs addressing 0 to 2 GB addresses, it’s up to the operating system and the CPU to translate these virtual memory calls to physical memory addressed locations. Analogously in 64-bit Windows computing, 64-bit programs can address 0 to 8TB of address space, with the Windows OS and kernel mode drivers addressing in the 8TB to 16TB range, even of your computer only has 12GB of physical RAM. It’s the job of the CPU silicon to then map Windows OS virtual memory addresses between RAM and the page file and intelligently swap memory pages between them to prevent an out-of-memory system crash… For backwards compatibility reasons, 64-bit Windows OS has a dedicated feature called “Windows-On-Windows” or SYSWOW64 that manages 32-bit programs running in 64-bit versions of Windows.

  • Pingback: An Open Letter To Microsoft: A 64-bit OS is Better Than a 32-bit OS – Akshaya IT Services()

  • Tim Sedlmeyer

    There is a downside to 64bit vs 32bit Windows. With 64bit Windows you lose support for running legacy 16bit applications and components. Unfortunately they are still out there and in use both by large enterprises and small businesses. Especially at the release dates of Windows Vista, 7 and 8 the number in use at large Microsoft customers was probably enough to justify releasing 32 bit versions of the OS. The frequency I see them in use today is significantly lower than 5 years ago when Windows 8 was released, so hopefully that justification for 32 bit versions has or is about to die.

    • That is an interesting point. The Macintosh shipped the very first Macintosh (in 1984) with a 32 bit clean architecture (pointers were 32 bits) and didn’t ever HAVE 16 bit applications to provide compatibility with.

      The solution I would advocate for these sorts of customers would be two fold:

      1) The best solution is to Windows 10 in 64 bits, and run a VMware
      (or other) virtual machine and run Windows 7 in 32 bits inside
      of that dedicated to running any 16 bit programs.

      2) Stay on Windows 7 in 32 bits for the next few years. What I’m
      against is Microsoft releasing NEW versions of Windows 10, 11, 12
      all in 32 bits.

      It would be really interesting to find out what is really left running in 16 bits?
      Hilariously somebody could write a full 16 bit emulator in Javascript in a
      few months of work – then any web browser could run the 16 bit application.

      I think the last 16 bit application must have been written around 1987 (?) which is 30 years ago! Computers were lucky to have 640K of RAM and an 8086 running at 5-10 MHz. I can’t imagine having any problem hiring somebody to rewrite the original functionality but in a modern 64 bit Python program. Probably take somebody a weekend for most apps?

      • Tim Sedlmeyer

        Windows for Workgroups 3.11 introduced a 32 bit kernel but had a 16 bit API. The Windows 32 bit API rolled out to the desktop in 1995 with Windows 95. Internet Explorer 5.0 released 1999 was available in a 16 bit version. Most of the 16 bit software I see still being used has last release dates in the early 2000s.

      • Paul McGrane

        The original Macintosh was not 32-bit clean. But it was essentially 24-bit clean. The top 8 bits were unused until the 68030 or maybe 68020, so programmers hid other values in those memory values, I think. It wasn’t that software was inherently non-32-bit, but that it had been hacked around in a pre-fully 32-bit memory environment. Recall all this nonsense about Mode32 extensions, and stuff like that around 1990.

        • Yeah, my brother and I wrote a video game for the original 68000 based Macintosh mostly in assembly language (“Continuum” – ) and I was wondering if somebody would bring this up. But from the beginning you could program using 32 bit pointers and it would have continued to run on future hardware that eventually provided a fully addressable 32 bits. I’ve heard some programmers decide to hide things in that top 8 bits but we never had to do it.

      • Kaedrin

        Your recommendation is flawed, because some older gear cannot work properly in VDI scenarios where 16-bit software is still used. In some cases 32-bit and 64-bit software are actually VDI/Virtualization aware and will disable themselves when virtual hardware is detected. Some programs will disable themselves if you just enable Hyper-V on Windows 10, and if you have only one network card, you cannot give Hyper-V network access without breaking software that refuses to uses virtual NIC’s.

      • John Foley

        I work in retail point of sale. I can tell you that there are sizable tier 1/2/3 retailers who rely on 16 but apps running in their front end to check you out every day. These are substantial apps written in archaic languages that woul take years to port.
        We developed a 386 emulator that emulates protect mode of the 386(not very common in x86 emus) to run these apps on 64 it OSs. 10x performance hit BTW. I just think you’d be surprised how much old code is it there.

        • RosynaKeller

          Doesn’t DOSBox support protected mode? And DOSBox doesn’t even incur a 10x hit.

          For POS, Microsoft still offers Windows XP POSReady, which supports 16-bit processes.

          However, you seem to have already found a solution to your legacy needs.

          Either way, the main request is for Microsoft to stop offering 32-bit Windows as a choice (especially a default choice) to consumers when all the software on said consumer’s machine is 100% compatible with 64-bit Windows.

          Windows 10 upgrader already has a compatibility checker. It already prevents installation on 32-bit PCs without support for the NX bit. It already prevents installation on some early 64-bit PCs running a processor lacking certain instructions.

          The questions then become, why doesn’t Microsoft have a data migratoion step to upgrade to 64-bit Windows on 32-bit installations? Why doesn’t Microsoft ship ISOs with a universal 32-bit and 64-bit installer?

        • Kael

          Why would a company leave a critical part of their infrastructure untouched for 30 years. (I work at a place that is doing the same thing sigh!) They have more then gotten their moneys worth. They should have been maintaining it all along, and growing with technology. They will eventually move, when they are backed into a corner and have to pay a huge programming staff overtime to get something half baked and rushed.

          • cartman94501

            In California, the state with the most liberal overtime rules, programmers don’t get overtime.

          • Andrew Holaway

            Yep, we are legally exempt from overtime at a federal level. It’s not too bad if you work for a reasonable employer who doesn’t take advantage of the law, as you only get hit with massive overtime a couple of times a year. But there are some companies out there that grind engineers for 60+ hours a week every week for a salary based on 40 hours per week.

          • paul mason

            Most non-IT people think that when something is written once it is written for all time in my experience…they don’t realise it’s like owning a car, which depreciates and falls apart all at the same time. And because software is very abstract and often follows sub-optimal business processes or is just complex because the business is complex, it’s expensive to refactor….so they leave it and hope that someone else picks up the bill once they’ve moved on to another company. It’s a sort of anti-musical chairs with a very crap present at the end. And then, like the law firm further down using Wordperfect 5.1 (!!!!! OMG !!!!!), they find that the task becomes so horrendously expensive that they will do anything to avoid making a change. I cannot imagine driving a Mk2 Ford Fiesta circa 1988 and claiming that the best way of carrying on motoring is to keep the old pile of junk on the road. Ultimately I agree with Mr Wilson that MS should develop some cahones and kill off 16bit for all time, regardless of the consequences to the fools still using 16bit software, and make windows 64bit by default. A bit fascist, but then the alternative is the choice between a number of rubbish choices.

          • Because it is critical part of their infrastructure – and you do not mess with something that just works for 30 or more years, and is critical to your business, why would you? ;-)

          • Kael

            Because it is critical you should maintain it! If it’s 30 years old it should have been updated in 1999 for Y2K, It should also be updated for new OS’s and checked that the new data is working. Otherwise you are living in a dream world thinking everything will be ok if I don’t look at it. You change the oil in your car. Why? It’s working perfectly, so why do it. The software was working in 1999, so why check it for Y2K. It should just work, right? If the software came on a floppy disk, do they still have the disk? Do they even have a floppy drive to test it? Do you have backups? Is they anyone that can support the software? The Voyager Spacecraft billions of km away from earth is still updated and continuously maintained. Why, because its critical!

          • Maintain? Fine. Backup? Sure. Rewrite for new OS? What for?
            How often do you upgrade firmware in your scientific calculator you had in high school, or in your fridge, or washing machine?
            If it is exposed to wild Internet – put a decent firewall in front of it. If it works – don’t touch it.

    • seahen

      I’m pretty sure this can be worked around using Windows XP mode (

  • Mathieu Longtin

    Some years back, I installed Vista 32 bits because some old software installer assumed 64 bits meant “Itanium” and refused to install. And we really needed that software, unfortunately.

  • Nikko

    A large part of the problem is OEMs. Microsoft wants Joe Blow and everyone else to be able to run Windows 10, but the HPs, Lenovos, and Dells of the world stopped releasing drivers for Joe’s PC in the Windows 7 days and back then they only supported 32-bit. Joe’s laptop can run Windows 10 x64, but he’ll have driver issues like goofy touchpad response, sleep/wake hangs, or battery drain.

    I’ve done the 32 to 64 upgrade on several PCs. I end up having to hunt down drivers from places other than the OEM. For example, if you’re dealing with a Synaptics touchpad or Intel GPU you can (usually) get good results using the driver from Synaptics/Intel. That’s not a guarantee though, if your OEM has customized the hardware, the generic driver may not work. My (least) favorite example is older HP EliteBook touchpads. The Synaptics and generic Windows drivers will have too much sensitivity in the y direction and not enough in the x direction. The correct solution (which Joe Blow would never figure out) is to import the 64-bit HP touchpad driver for Windows 7 from the Windows Update Catalog.

    On Microsoft’s end, if they could require new Windows-certified PCs to be 64-bit the problem would eventually go away—in 5+ years as you mention. I agree that this would be a good step.