Fedora 9 32 or 64 Bit - Which One?

Matthew Flaschen matthew.flaschen at gatech.edu
Mon Oct 27 21:22:35 UTC 2008


stan wrote:
> Alan Cox wrote:
>> On Mon, 27 Oct 2008 11:54:47 -0400
>> Matthew Flaschen <matthew.flaschen at gatech.edu> wrote:
>>
>>> Alan Cox wrote:
>>>
>>>> The moment you have more than about 900MB of RAM there are big
>>>> advantages
>>>> to running a 64bit kernel as it can keep all of physical and virtual
>>>> space mapped at the same time, which is a big performance win.
>>>>
>>>> Alan
> 
> Wouldn't you need twice as much memory to have the same memory for
> applications if you are using double the word size?

This is incorrect in general.  GNU/Linux 32-bit uses ILP32, meaning
integers, longs, and pointers all have 32 bits.  GNU/Linux 64 uses LP64,
which means longs and pointers have 64 bits.  Integers remain 32 bits,
and ASCII chars are still 8 bits (this is true of ILP64, another model,
as well).  Please read http://www.unix.org/whitepapers/64bit.html.

> Or does the OS somehow take that into account and split the 64 bit words
> into their components to get most efficient use out of them?

There is no need to "split" anything.  The base unit is still the byte.
 All 64-bit systems have 64 bit pointers, but there are no hard rules
for the other types.

> To clarify, I have 2 GBytes of memory in a 32 bit OS.  If I use a 64 bit
> OS, isn't that memory now effectively halved?

No.

> The same as if I use 16 bits to store a character instead of 8 bits.  It is my understanding
> that UTF-8 only uses the second 8 bits if it needs it.

There is no "second" 8 bits.  UTF-8 can use up to 4 bytes, but ASCII
will use only 1 for any (sane) 64-bit implementation of UTF-8.

Matt Flaschen




More information about the users mailing list