Re: Virtual and Linear addresses

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

 



pandari kashyap wrote:

1. Why can't Kernel access physical addresses?

Because the CPU runs in protected mode.

Then what kind of address is 0xffff0000 if we assume that the system has 2GB of RAM. Is it Linear or physical?. In case it is linear what if we want to store 'a' in physical address 0xffff0000??

That is a virtual address, which happens to correspond to linear
because segments are rarely used in Linux.

2. What is the difference and philosophy between kmalloc and vmalloc?

kmalloc gives you physically contiguous memory, which makes it
possible to use the memory as one chunk for device DMA or for
other special needs.

However, such physically contiguous chunks are much harder to
find and may not always be available.

Vmalloc gives you a memory allocation that is only virtually
contiguous, and may be virtually discontiguous.  This allows
for larger allocations.


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