title: Why fork() system call copies parent process memory?
body: <p>When we execute a process from a terminal, The termainal process does a <code>fork</code> and then <code>exec</code>. During fork, it creates its own copy which contains process specific information which in this case is <code>Bash</code> for example. Copying this memory can take some time even for some small processes which can delay the execution then Why do we copy memory during <code>fork</code>? How does it make sense to copy a large amount of data from a big process for a small process?</p>