On 11/13/2011 12:45 AM, Duncan wrote:
James Tyrer posted on Sat, 12 Nov 2011 19:24:48 -0700 as excerpted:
But, I probably won't have to worry about it any more since I just
installed 4 GiB of RAM. System does run much faster.
=:^)
You can't use all of it with 32 bits -- KInfoCenter says it sees
3.22 GiBs. I haven't decided whether to do 64 bit. I will have
to read up on it. First question is whether I can have only the OS
as 64 bit.
Only the OS? Which bit do you consider the OS? Do you mean only the
kernel, not userspace? I've just never heard someone say they want only
the OS as 64-bit before, and it struck me as definitely odd and funny
sounding, because on Linux where most of the apps are supplied by the
distro, there really is no clear dividing line between OS and non-OS.
The clearest dividing line is kernel/userspace.
Actually, there is a clear dividing line if you don't run ONLY the
Kernel as 64 bit. You notice this when you first build the system from
scratch. There is a small list of libraries and apps that are necessary
to run the Kernel. Do I understand that these would have to be
installed as both 32 bit and 64 bit since some 32 bit apps might call them?
Most folks with any knowledge would probably include the libc (normally
glibc but occasionally a different alternative), a more or less POSIX
compliant shell (normally bash), the init system (traditionally a sysv
style init, but now days systemd is popular), probably udev, likely grep/
sed/head/etc, as often used in the initscripts, etc. Some would include
xorg and presumably a default desktop environment, tho others wouldn't.
But... there's really no clear dividing line in all that, only the one
between kernelspace and userspace, and really no easy place to divide
between 32-bit and 64-bit, except between userspace and kernelspace, so
seeing discussion of only the OS being 64-bit appears odd indeed, to
anyone who has even sideways-glanced at the situation.
Meanwhile, do I recall correctly that you run LFS, and compile everything
from sources yourself?
If so:
1) What you said about 32-bit isn't entirely correct. The 32-bit x86
Linux kernel has a number of different configuration options in regard to
memory.
First, there are the so-called "normal" modes, which split 4 GiB of
address space between the kernel and the apps. IDR which is considered
normal-normal since I've been on 64-bit amd64 (x86_64) since I had enough
memory to matter, but the split can be 2:2, 1:3 or 3:1 user/kernel.
These modes do indeed allow access to only ~3-3.5 gigs, due to the 32-bit
PCI-hardware I/O region at the top of the 4-gig memory address space.
Note that this hardware I/O region is taken from the address space
assigned to the kernel, so if split it 3 gig user, 1 gig kernel, that
forces the operating kernel into, in your case, about a quarter-gig of
address space, which isn't a lot for address randomization, etc. That's
rather tight.
And so, you have answered the question. I would want to run only the
Kernel as 64 bit so that it could address a full 1 GB of memory and
leave 3 GB for the applications. That is the main advantage of 64 bit
-- the ability to address more memory.
<Duncan's ramblings edited out to save bandwidth>
--
--
James Tyrer
Linux (mostly) From Scratch
___________________________________________________
This message is from the kde-linux mailing list.
Account management: https://mail.kde.org/mailman/listinfo/kde-linux.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.