Re: Question on MMU

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

 



Hi!

On 22:19 Fri 10 Sep     , Sri Ram Vemulpali wrote:
> Hi all,
> 
>       I have a question on MMU. Memory management is used to segregate the
> memory between process and make sure no process steps on each other. Also,
> it provides abstraction to whole available memory in a conceptual way called
> virtual address.
> Now my question is, we can do all this in software, I mean simulate and map
> the virtual address to physical address not taking hardware support. Now why
> is the hardware unit MMU is given with processor. Is there any special
> reason. Please clarify. Thanks.

Virtual memory is *not* a software feature. It is a hardware feature which may
used by operating systems as a base to implement safety and security features
and some other stuff like swapping, mmap(), fork() and so on. The hardware
implementation works by providing (among others) a register "cr3" which
contains the address of the page translation table. When a process accesses a
memory region, the processor will look the translation up in the table and do
the mapping by itself. For performance reasons, the translations are cached
in the translation lookaside buffer (TLB).

Emulating an MMU in software would be very slow. Even many "emulators" do not
do this by, but run the emulated code natively with the help of the hardware
MMU.

	-Michi
-- 
programing a layer 3+4 network protocol for mesh networks
see http://michaelblizek.twilightparadox.com


--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at 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