What do fork() internally call?
Answers were Sorted based on User's Feedback
Answer / sasidhar
fork internally calls sys_fork() where sys_fork() calls do_fork().
sys_fork() do the following functions
-> calls do_fork()
-> return PID
do_fork() does the following functions
-> creates a new process
-> Assign a new PCB
-> copies PCB of parent to new PCB with little bit changes in context.
-> return
so if any process calls fork() two number of returns occur and after returning from do_fork() to sys_fork(). sys_fork decides what value to be returned to parent process and child process
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / bhushan bachhav
Linux implements fork() via the clone() system call.
The clone() system call, in turn, calls do_fork().
The bulk of the work in forking is handled by do_fork(),
which is defined in kernel/fork.c.This function calls
copy_process() and then starts the process running.
If copy_process() returns successfully, the new child is
woken up and run. Deliberately, the kernel runs the child
process first.
| Is This Answer Correct ? | 4 Yes | 3 No |
What do fork() internally call?
what are Softirq's and how many major numbers be allocated in the linux kernel(2.4) ?
what is bus trap.
How to get microseconds of system time from Redhat Linux 4.0
what is iptabe on redhat linux?
what is segmentation fault?
what are different ways the context switch happens from user to kernel space or vice-versa ?
What is the use of proc structure?
How to give the root permision to users?
what is stored at /lib/modules ?
what are the different ways the Linux can swich from User Space to Kernel Space & vice-versa ?
why the kernel panic error was appering?