Re: need for 3G/1G split

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

 



Hi Rick..

I hope my reply still can  catch up :)
Hi,

Why is kernel restricted to use virtual addresses of only 1 GB?
By design actually. For example, you can also use VM split like 3GB for kernel space and 1GB for user space, but that would limit the available address space for application, right?

Or
what is the need to split up the virtual address space into user
addresses and kernel addresses?
Recall that certain machine instructions can only be executed when you're in kernel mode. Also, interrupt handlers, DMA setup and so on can only be done in kernel mode. Thus we need kernel mode.. in other word kernel address space, a place to put this kernel mode code.

But, if all codes are put in kernel mode, that would be bad. Memory corruption happens without notice, user space application can freely tangle with interrupt table descriptor and so on. In short, you need a "less privileged" zone... and we call it user space. There, we put our day-to-day application code.

Mind you, there is a kernel patch named Kernel Mode Linux that enables you to run certain binaries located in "trusted" path to run as kernel mode. The author create it to speed up certain kind of app, usually applications that so frequently call syscalls.

regards,

Mulyadi


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