Re: 32 bit vista can't address more than 3.1-3.5 GB RAM



"David Empson" <dempson@xxxxxxxxxxxxx> wrote in message news:1i9ryb1.1669v011axwx47N%dempson@xxxxxxxxxxxxxxxx
Daniel Johnson <danieljohnson2@xxxxxxxxxxx> wrote:
> How would the kernel benefit from being 64 bit?

It could use more memory for its own book-keeping. Also drivers could do
that too.

Remember, the kernel and kernel models share the *same* address space in OS
X: it's not like applications where each gets 4 GB for its own use.

For reference: the virtual memory size of my kernel_task (on a Core2 Duo
MacBook Pro with 2 GB of RAM running Leopard) is 1.14 GB at present.
(Its real memory usage is 77.96 MB.)

The VM size is of course what matters here. It may well be that lots of it is paged out, or being burned on memory mapped hardware, or something, but those are still addresses the kernel can't use for anything else.

It will be quite a while before the kernel needs anything close to 4 GB
virtual address space for its own use, so I don't see that this limit
will cause it any practical problems for a long time.

On the contrary, this shows that even OS X, with a 4 GB kernel, is actually getting kinda full. You're more than a quarter of the way there.

This also illustrates the advantage of a microkernel- the "kernel space" is just like a normal process, and can be 4 GB. On other OSes, the kernel is very special, and occupies a reserved chunk of address space that normal processes aren't allowed to use.

Other OSes do that because it makes trapping into kernel mode much faster- there's no need to switch address spaces, or flush the TLB.

Now, 32-bit Windows reserves 2 GB for the kernel by default, but can be configured to reserve only 1 GB, leaving more address space for programs. That's a number your OS X installation already exceeds, so you can see why Microsoft is further along in the move to 64-bit: they need to make that move more urgently than Apple.

.



Relevant Pages

  • 2.6.33 dies on modprobe
    ... The kernel starts up fine and mounts the root-filesystem, ... Freeing unused kernel memory: 408k freed ... # CPUFreq processor drivers ...
    (Linux-Kernel)
  • Re: [PATCH] intel-agp.c: Fix crash when accessing nonexistent GTT entries in i915
    ... has info that 256K is for GTT bar, so max video memory size is 256M. ... IGD DVMT/FIXED MEMORY: 32 MB ... Access kernel.org in iceweasel and the X server will crash. ... Sometimes, the kernel freezes. ...
    (Linux-Kernel)
  • Re: s2disk hang update
    ... This looks like we have run out of memory while creating a new kernel thread ... because the I/O doesn't work at this point). ... Keep 1 MB of memory free so that device drivers can allocate some pages in ...
    (Linux-Kernel)
  • kernel panic - not syncing: out of memory and no killable processes
    ... Kernel panic - not syncing: Out of memory and no killable processes... ... Re-tune the scheduler latency defaults to decrease worst-case latencies ... # Device Drivers ...
    (Linux-Kernel)
  • [UNIX] Linux Kernel do_brk() Vulnerablility (Explained)
    ... Get your security news from a reliable source. ... A critical security bug has been found in the Linux kernel 2.4.22 (and ... earlier) memory management subsystem. ... for the code working at the lowest privilege level. ...
    (Securiteam)