Re: Kernel Virtual Memory

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

 



On 10/14/05, Oliver Korpilla <Oliver.Korpilla@xxxxxx> wrote:
> 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.
>

so does the kernel have page directory and tables of its own ?
where does it keep them ? does it have any replacement for task->mm ?

>
> I recommend you "Understanding the Linux Virtual Memory Manager" - it's
> an enlightening read.
>
> With kind regards,
> Oliver Korpilla
>
>

thanks !
Roy.

--
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