Hi,
The normally addressable kernel memory region (< 896MB) is called low memory. The kernel memory allocator,
kmalloc(), returns memory from this region. Memory beyond 896MB (called high memory) can be accessed
only using special mappings.
1. Why only 896 MB and why not full 1 GB i.e 1024 MB?
2. I read that out of 4 GB addressable space only 1 GB is available to kernel and 3 GB to user.
What if the main memory i.e RAM that we have is only 2 GB.
How would the memory be divided between user space and kernel Space?
2. kmalloc returns contiguous memory in physical space. i.e minimum of one page.
How do we decide the maximum number of pages that can be allocated in one call to kmalloc. What if the pages are free but are not contagious?? 4 MB in multiple of 128 KB page size is what I read. Please clarify.
Thanks & Regards,
Amrit Pal Singh.
Thanks,