views:

114

answers:

5

Firstly, what is this called? Is this the system's "platform"? If I want to know if a system is 32-bit or 64-bit, do I ask what "platform" it is?

Next, is what I wrote below correct:

-A 64-bit processor can run a 64-bit operating system or a 32-bit operating system (with a loss of efficiency).

-A 32-bit processor can run a 32-bit operating system only.

A: 

Assuming we mean on bare metal, the second statement is true. The verity of the first depends on the processor architectures. IA-64 processors cannot run IA-32 operating systems without emulation, whereas EM64T processors can.

Ignacio Vazquez-Abrams
+2  A: 

I'd strike the part about "with a loss of efficiency". 64 bit processors can run 32 bit OS's just fine; with exception to Itanium which require special OS builds.

Efficiency has nothing at all to do with it.

Chris Lively
There is a loss of efficiency, not necessarily compared to a 32-bit processor running the same code, but compared to 64-bit code which takes advantage of the more numerous registers.
Ben Voigt
The code can only take advantage of those registers if it is written to do such. If it's not, ie: running a 32 bit OS on a 64 bit processor, then there is no loss.
Chris Lively
+2  A: 

To give a partial answer: 32-bit or 64-bit is part of the architecture. I guess it is part of the platform too, but you're more likely to make an expert think of the 32/64-bit distinction by talking about architecture.

Honestly, if you want to know whether a system is 32-bit or 64-bit, just ask, "32-bit or 64-bit?"

David Zaslavsky
A: 

If you want to know if a system is 32-bit or 64-bit, you could ask what "bitness" it is.

Whether the statements about 64-bit and 32-bit processors running 64-bit and 32-bit operating systems are true depends entirely on which processors and operating systems you are talking about. You won't have much success running Windows XP on an 64-bit Alpha or SPARC processor.

bk1e
"Bitness"? That's... a new term to me.
JUST MY correct OPINION
+3  A: 

If I want to know if a system is 32-bit or 64-bit, do I ask what "platform" it is?

"Platform" is an overloaded term that can mean a great many things. It can mean the CPU family: x86 platform, IA-64 platform, x86-64 platform, ARM platform, MIPS platform, SPARC platform, etc. It can mean the underlying operating system: Windows platform, Linux platform, Solaris platform, etc. It can mean a combination of these: Wintel platform (Windows + Intel). It can mean specific distributions: Debian platform, Slackware platform.

If you want to know if a system is 32-bit or 64-bit, ask if it's 32-bit or 64-bit. And make sure that you also check the CPU for compatibility for your purposes. ARM cores are 32-bit too, but you can't run Windows on them (at this time). SPARCs can be 64-bit, but you won't be running your copy of Microsoft Office on it, I'd wager.

A 64-bit processor can run a 64-bit operating system or a 32-bit operating system (with a loss of efficiency).

This depends very much on the processor. Intel's IA-64 chips can't run 32-bit operating systems because they don't really have 32-bit instructions (if memory serves). About the only way you could run a 32-bit OS on one is if you emulated a 32-bit CPU of some sort. This would suck performance-wise.

On the other hand the x86-64 chips can run 64-bit OSes or 32-bit OSes with no loss of performance at all for the latter (when compared to a pure x86, I mean). I'm running a 32-bit version of Ubuntu, for example, on an x86-64 chip without difficulties. Of course the 64-bit system will run faster than the 32-bit if the underlying software was written to take advantage of the expanded capabilities! (You'd be surprised how little it matters for most day-to-day tasks, though.)

A 32-bit processor can run a 32-bit operating system only.

Again, it all depends on the processor. An x86 (not x86-64) can run 32-bit OSes, but can also run 16-bit OSes right down to plain old MS-DOS. On the other hand, ARMs tend to be 32-bit only. (There are some ARM cores that have 16-bit instructions, but most do not, again if memory serves.)

JUST MY correct OPINION
Windows CE runs fine on ARM processors. Also most ARM processors support 16-bit Thumb instructions, but these are just compressed versions of 32-bit instructions, the datapath and pointers are all still 32 bits. Unlike x86 processors, ARMs don't have variable-length instructions, so Thumb mode is provided to make better use of i-cache.
Ben Voigt
Windows CE is not Windows. It shares almost none of the code base of the Windows NT line nor of any earlier Windows line. It is a modular RMX that contains the word "Windows" in its name for marketing purposes.(*Anti*-marketing these days, it seems, but still.)
JUST MY correct OPINION
+1 This is probably the most complete answer.
Chris Lively
Nah, just most verbose.
JUST MY correct OPINION