[haiku-development] Re: A 64-bit OS question...

  • From: George Greene <gdotone@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Mon, 18 Oct 2010 12:22:39 -0400

Thank-you.

g.
On Oct 16, 2010, at 1:15 PM, Urias McCullough wrote:

On Sat, Oct 16, 2010 at 9:57 AM, g g <gdotone@xxxxxxxxx> wrote:
Please excuse this question, but it's something I would like to know, what
is a 64 bit OS?
What makes an OS 64 bits? Is it that 64 bits can be addressed by the OS? Is
it that all instructions are 64 bits in nature?

It generally refers to the size of pointers to memory addresses. When
passing an address to a 64bit CPU instruction, one would use a 64bit
wide pointer. An unsigned 32bit integer (pointer) can only address up
to 4gb of memory (2^32 = 4,294,967,296 bytes) - essentially limiting
the amount of addressable memory that can be used in a 32bit OS
(although there are some additional caveats that can reduce this
amount, and some tricks that can increase it...)

you might find some insight here: http://en.wikipedia.org/wiki/64bit

and here: http://en.wikipedia.org/wiki/X86-64

Note that x86-64 isn't really a true 64bit architecture (like IA-64),
insomuch as it's basically just an extension on the x86-32
architecture to increase memory address sizes, some additional
instructions, and extra registers (at least, that's my understanding).
Processors supporting x86-64 still utilize all the older 32bit
instructions for compatibility.

Is a 64 bit OS created just by changing a compiler flag when compiling the
OS?

Would be nice if it was that simple, but all the code in the system
must be capable of handling a 64bit pointer... because Haiku was
started before x86-64 was mainstream (or even available for that
matter), there is a lot of code that is not yet "64bit clean" and
could fail until the code has been adjusted to no longer assume 32bit
pointers, etc.

HTH,

Urias



Other related posts: