Hi, I have a few doubts regarding VMA. 1. According to the vm_area_struct there is a reference to only 1 mm_struct ? So is a VMA ever shared between processes or is restricted only to that process which owns it ? 2. If VMAs are not shared then how are shared memory implemented ? 3. If VMAs are not shared then how do processes share shared object text regions ? What are the advantages of the adress_space structure ? There is a flag called VM_NONLINEAR . What is it used for ? What does it mena when we say VMA is non-linear ? According to my understanding a VMA is a linear adress region in the process's user address space. Is this correct or wrong ? Thanks & Regards, Rajagopalan. -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/