32 and 64bit architectures

2010-06-04T10:39:22
Dave Pawson.  link
Home

64bit

As previously mentioned, I've moved up to a 64bit OS, Fedora 13. What has yet to sink in is the fact that I can still run 32 bit apps (some) on this architecture. According to Intel, in order to run the 64 bit code I must have: CPU, Chipset, BIOS, OS, Drivers and applications all lined up. Clearly for the majority of my apps that is the case. I seem to have a near full set up and running. The oddities are my Scanner software, which doesn't run on Linux, or at least my Linux. Nor does Canon provide a 64 bit driver. Bibble-pro, the photo processing software I use isn't available for 64 bit and I'm sure I'll find other oddities as I use seldom used software.

I even found a page telling me how to dump FF x64 here and install the 32 bit! The trick seems to be to use yum (great tool) to do it, since yum hunts out all the 32 bit libraries that I need. The other nice bit (at least I'm sure I wouldn't have thought of it) is that Fedora/Redhat keep all the 64 bit libraries separate from the 32 bit versions? Neat. Anyway, running 32 bit on 64 bit architectures. I think this is down to Intel. This tells me that,

"An Intel processor with support for Intel 64 can operate in either 32-bit mode or 64-bit mode."

I guess I should have realised that... since I've had two versions of Fedora (32 bit) running prior to running this 64 bit version. Sigh. How is my question. Again from Intel,

"With a 64-bit operating system the computer will either operate in 64-bit mode or what is called Compatibility Mode. In either mode all system drivers must be 64-bit. In 64-bit mode, 64-bit and 32-bit applications can be running in the system concurrently. Legacy 32-bit applications run in Compatibility Mode. 64-bit applications will have new executables not compatible with 32-bit apps. In other words 64-bit applications generally cannot share libraries with 32-bit executables."

So I still need 64 bit drivers (presumably hardware drivers) for all my kit... I.e. I can only run 32 bit apps. Elsewhere I learn I can only run 'standalone' apps, e.g. I can't install a 32 bit plugin into FF to let me read web pages having Flash content. Gets messy doesn't it.

This page tells me that it is down to 'IA32E' operating mode, an operating mode. Enables 64, 32 and 16 bit programs running together! This appears to be part of the EM64T tech from Intel. Ah, that's better. this tells me

"EM64T offers the same three operating modes: a standard 32-bit legacy mode, a compatibility mode for running 32-bit programs under a 64-bit OS, and a full 64-bit mode for both operating systems and applications."

Makes me wonder how the CPU is 'told' to swap modes? The OS says 'run this'. Does it add a mode switch first? Then a memory address for the first instruction? Who checks that the memory address is within the ~4gB limit? With an app on disk, how do I tell if it's 32 or 64bit?

More research required I think.

Keywords: 64bit

Comments (View)

Return to main index