working of fork and exec

Peter Teoh htmldeveloper at
Thu Jan 17 21:09:52 EST 2013

Hi Mulyadi,

Great to see you again!

Sorry, can I fork on your explanation to explain further about fork?

Yes, "fork" is at the core of process management, scheduling and all that:

a good picture of process splitting up (forking) is here:

what happened to all the IPC after forking?

Generally, the last thing u should read is the kernel source code, though
it also has the last word to be said for fork() :-).

On Fri, Jan 18, 2013 at 1:59 AM, Mulyadi Santosa
<mulyadi.santosa at>wrote:

> Hi :)
> On Fri, Jan 18, 2013 at 12:02 AM, Niroj Pokhrel <nirojpokhrel at>
> wrote:
> > Hi all,
> > I have been using fork and exec for sometime. But I have no idea about
> what
> > are the things done by the kernel when we fork or exec and how things
> work.
> > How the kernel load new program and what all things are done ....... Can
> > anybody please explain me this ? Thank you in advance.
> this is too broad to answer, but in general fork() does:
> - preparing new address space
> - preparing new task_struct
> - doing COW (copy on write), so newly born child initially simply use
> parent's pages
> in exec() case, instead of COW, you load the target binary. It does so
> by the work of loader in user space and ELF interpreter in the kernel
> space.
> --
> regards,
> Mulyadi Santosa
> Freelance Linux trainer and consultant
> blog:
> training:
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at

Peter Teoh
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Kernelnewbies mailing list