Pretty much all modern OSes provide for very light weight forking, using Copy On Write as Broquaint mentions. What this means is that sections of the memory of the child process are references to the memory of the parent process, up until the point where either process writes to a particular memory section, at which point it is copied and the child process proceeds to have its memory references to that section refer to the copy. If this were not the case, then the fork/exec paradigm would be woefully expensive. As it stands, doing a fork/exec does not chew up any real overhead because the child process starts, and then is immediately wiped by the exec. I think that this is a reason for operating systems to favor giving the child process priority to run, since if it is going to exec some other program, this lets it get it off quickly, before the parent process can write to any memory, thus forcing the child to have a copy of it made.

In reply to Re: Creating Child without overhead of Parent by skyknight
in thread Creating Child without overhead of Parent by cxbast

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.