Re: Kernel Virtual Memory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Am Freitag, den 14.10.2005, 09:00 +0200 schrieb Roy Smith:
> Hi all,
>  
> I understand what is the virtual memory of a process.
> every process gets 4Gb, in which its data, code, stack, etc.. resides.
> every process can access only its 4Gb via its page tables,
> which maps the virtual memory to the real physical one.
>  
> but what is the KERNEL's virtual memory ?
> how come the kernel has a virtual memory, too ? like a process ?
> what does the /dev/kmem show ?
> isn't the kernel just a bunch of asynchronous functions,
> working without a memory descriptor ?

First of all, the kernel adminstrates the devices. The device memory
needs to be accessed via the memory interface, as e.g. the PCI bus is
mapped into an address range. Remember: Virtual memory does not
necessarily mean RAM.

Second, the kernel can access all of the computer's memory via its own
address space (and in the HIGHMEM case a window mapping), while a
process is limited due to memory protection.

Thirdly, the kernel has data structures to maintain, most notably
buffers, caches, memory management and page tables. This requires
memory.

Etc.

I recommend you "Understanding the Linux Virtual Memory Manager" - it's
an enlightening read.

With kind regards,
Oliver Korpilla


--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux