Layer 1 fork(); Layer 3 /usr/src/servers/pm/main.c --> get_work() --> do_fork(); /usr/src/servers/pm/forkexit.c --> do_fork() --> sys_fork(); Layer 4 /usr/src/kernel/system.c --> system_task() --> do_fork(); /usr/src/kernel/system/do_fork.c /* does a fucking kernel level fork */ Layer 3 /usr/src/servers/pm/forkexit.c --> returns at sys_fork();