Re: vfork()

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

 



On Sun, 2003-02-09 at 11:11, Javier Guerra wrote:

> and avoid the copying of the process segment that would be overwritten by
> exec().  in modern OSs, the process is marked copy-on-write, so it's just as
> fast, without the restrictions.  that's why it's man page tells you not to
> use it anymore.

Actually, in modern Unix variants (Linux included) fork() marks the
process address space pages copy-on-write.  It also manually copies the
page table entries.

vfork() does not, instead the address space is actually shared but the
child is not allowed to touch it and the pte's are not copied.  That is
the bonus (not copying the pte's, really).  COW is not needed because
the child is not allowed to touch the address space.

	Robert Love

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