Quote:
Originally Posted by shreshtha
Logical Memory Space of 4GB is divided in to 3GB User Space and 1GB Kernel Space. Always. Correct?
|
Not always. 3GB/1GB is the usual split for
virtual address space, but it can be configured at kernel build time.
Quote:
1. How can we change it? (just changing value of PAGE_OFFSET is okay?)
|
I don't remember how you configure it. What you just said might be right.
Quote:
2. If system have only 256MB of memory (embedded system) and suppose Kernel Modules eat away all the memory during boot. User space will be left will no memory. Is this case possible?
|
You seem to be confusing virtual address space with physical memory.
Adjusting the split of virtual address space should have no noticeable impact on an embedded system with 256MB of physical ram.
You probably want to recompile the kernel with carefully chosen options to tune it for your embedded system and to minimize the amount of memory (not address space) used by the kernel. But that 3GB/1GB split should not matter. There should be no reason to change it.
There is an option, usually enabled, (I forget the name) that allows a 32 bit kernel to support physical ram larger than 896MB. If you are building a kernel that never needs to support more than 896MB of ram, you can make the kernel a little smaller and a tiny bit faster by not enabling support for over 896MB of physical ram.