1

Possible Duplicate:
Can a 32 bit OS run in a 64 bit processor?

I am buying a PC and installing Linux on it. Apparently, I can install either 32 or 64-bit Ubuntu on it. Why is that?

I thought that the architecture of the operating system depended on the processor. For instance, AMD 64-bit processors support 64-bit Ubuntu instead of 32-bit, right?

1
  • What are the PC specifications? Apparently, you have a 64 bit processor. Which allows for running both. As in being able to run 16 bit OS on 32 bit processors. You can go down, but not up. Jan 21, 2013 at 1:42

1 Answer 1

4

x86 processors operate in one of several modes. 64-bit "long" mode is an additional mode introduced on top of the plethora of modes already present among 32-bit CPUs. 64-bit CPUs still retain all the old modes, just as 32-bit CPUs retain the older 16-bit mode of the old 8086.

Oversimplifying just a bit, as the x86 architecture has progressed through the years since the original 8086 CPU from the late 70's (itself a derivative of an even older CPU, the 8080), additional modes have been tacked on to it.

The 80386 supported something called 32-bit or "protected" mode. However, it boots up in the original 16-bit 8086 mode, for compatibility. One of the tasks of an operating system initializer is to switch it to this 32-bit protected mode, on a 32-bit CPU.

Beginning with AMD's 64-bit extensions to this (Intel for a short time had a competing standard), there is yet another mode tacked on called 64-bit "long mode". However, at least on BIOS-based systems (UEFI might be different), such CPUs still boot up in that old 16-bit mode. When the OS gets everything set up, it needs to switch the CPU into 64-bit mode to run 64-bit code.

So every 64-bit CPU is also a 32-bit CPU, and a 16-bit CPU as well. Just depends on what mode you put the CPU in.

Not the answer you're looking for? Browse other questions tagged .