At my workplace, our servers have run 64-bit OSes for years. But the workstations are a problem. Very few applications and drivers work well on 64-bit OSes. Those few cases are enough to prevent the deployment of 64-bit OSes on workstations.
- Why does that happen? Is it the OS or driver/application's fault?
Additionaly:
If you have a similar problem please share your thoughts and problems you experienced.
When will 64-bit OSes be a majority?
The problem can't be easily summarized, but the main problem is that vendors are always reluctant to invenst time, and thus money, into developing drivers where they are not sure that they will achieve the necessary return value.
In short: if they don't think there's too many 64bit users, they won't develop for them.
Same goes for applications. Most applications are just written for 32bit operation and rely on upwards compatability through padding to work. But depending on what kind of arcane magic is performed in the source code, this can end up pear-shaped, even though it is not too common - for the most part, only complex applications like games really suffer from compatability problems.
The OS itself is rarely at fault for doing bad stuff with the architecture - most implementations of 64bit are sound.
As to when 64bit OSes will be a majority, well, it's probably going to be a slow, creeping process. The easiest way would be for a chip manufacturer just to wholeheartedly dump 32bit processing compatability. This would force OS developers to maintain 32bit application compatability layers, and these would be implemented so that it's okay to run old software this way, but actively discourages any users trying to write new software to go 32bit.
If Windows is your client OS of choice, and your hardware has strong 64-bit driver support from the manufacturer, and you've tested thoroughly. I don't think you'll see significant software issues.
The 32-bit software mode is quite good in Vista 64-bit, and I've been using that as a primary workstation at work and at home for nearly a year using standard apps (Office, VMWare, FireFox, etc.) My personal pain point is printer driver support with our local copier/printer, but such things should be found during testing.
As with all things, your mileage may vary AND you must test! test! test! Test line of business applications, test your peripherals and devices and verify they work on a 64-bit OS, but you could probably consider bringing it in as you replace old hardware.
Whether all this testing is worth your time is a decision only you can make, we only deploy 64-bit clients when the use of the system demands it (eg the need to address large quantities of RAM) but that will change over time.
You shouldn't have any trouble running a non-Windows 64-bit OS on your workstations. Solaris has had a 64 bit kernel for quite some time now, and most of the default linux installations have gone 64 bit as well.
Unfortunately for Windows users, many vendors have not created or updated drivers to work with the 64 bit OS versions. More specifically, vendors who do target Win64 have mostly targeted server hardware and not workstation devices.
64 bit OSes is the majority in my laboratory. we have only a few (old) machines running Linux 32 bits.
that laboratory is used to manipulate images and videos, in an university environment, and everything works fine.
It is a rare application that doesn't run fine in 64-bit Vista's 32-bit mode. Make sure you test and determine where exactly the problems are. If only a few people need to use it, you might be able to use VirtualPC or some other virtualization mechanism to allow those few to work.
Also take a look at Windows 7 and the XP-Mode that is part of Windows 7 Professional. If you can wait a little bit, that should allow you to run your 32-bit applications in XP mode while the rest of your system runs as 32-bit. This assumes that drivers aren't the problem. Unless you are using very old or very proprietary hardware though, 64-bit drivers should be available.
My experience is with the 64-bit Windows operating systems, so I'm going to constrain my statements to them only.
The only problem I've seen is with a couple of Customers who unknowningly had some 16-bit software still in use (some old tax-prep software, some relatively new but apparently still 16-bit land title software, and a DOS application that interfaces with a machine tool). 16-bit code doesn't run under Win64 at all, and you'll have to use a virtual machine (Virtual PC, VMware Workstation/Server/whatever, etc) in order to run 16-bit code on an Win64 operating system.
Other than that, the move to x64 has been pretty much uneventful.
Personally, I've had some frustration running Windows 7 x64 and trying to use VMware Server 1.x (I hate the 2.x version) and OpenVPN. Both those applications use kernel mode drivers and Windows 7 wouldn't run either until I booted with driver signature verification disabled.
Disclaimer: The comments below apply to what I use on the Windows platform.
Maybe it's just what I use but many, if not most, of the applications I use won't run properly, if at all, on the 64bit version of XP (no, I will not use Vista - ever). It could be argued that I should upgrade the applications but the way I see it, I've paid for what I have and am perfectly happy with the versions I have, so why should I spend a lot of money upgrading when 64 bits will give me little, if any, benefit? In some case I've been able to try out the 64 bit versions of the software on other people's computers but have never observed a noticeable difference in performance.