Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question

marked as duplicate by Keltari, Dennis, Tanner, Sathya Jan 21 '13 at 2:41

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
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. –  Fiasco Labs Jan 21 '13 at 1:42

1 Answer 1

up vote 4 down vote accepted

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.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.