On Fri, Apr 15, 2011 at 12:12 AM, Haojian Zhuang <haojian.zhuang@gmail.com> wrote:
On Thu, Apr 14, 2011 at 11:43 PM, Andrzej Kardas <andrzej-kardas@o2.pl> wrote:
On 14.04.2011 17:09, Adrian Cornish wrote:
Just a thought - lower end graphic cards use system RAM as their own dont they
You right, devices like graphic card, ethernet cards etc. are mapped into memory, what cause some amount RAM is not available for system use. But as i've wrote before, i'm wondering why addresses in /proc/iomem (where the map of memory is) are not contiguous. I think, there should be info about what region of memory is mapped where (BIOS, PCI bus, for system use etc) for whole 4GB (Am I right??) address space (for 32bit OS). Instead of that, there are small "holes" in addresses and the total size of this holes (in my case) is about 400MB. So i wonder where that memory is.
What you see from /proc/iomem is virtual address. For the 32-bit system, it's 4GB size. Virtual address needn't be sorted one by one.
You have 4GB physical memory. But only a part is mapped linearly in virtual address. They're called lowmem. The rest are used as highmem what can be allocated by device driver or applications. Kernel needs to map it first before accessing highmem.
CPU's MMU manages the mapping table between virtual address and physical address.
Oh, my inputs are wrong. Please ignore it. I messed something. What we saw should be physical memory. I think the real hardware should be accessed by 36-bit, not 32-bit.
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies