The Process
On modern operating systems,processes provide two virtualizations:a virtualized processor and virtual memory
The Process Family Tree
iterates over the entire task list.On each iteration,task points to the next task in the list:
struct task_struct *task;
for_each_process(task){
}
Forking
The kernel runs the child process first.
In the common case of the child simply calling exec() immediately,this eliminates any copy-on-write overhead that would occur if the parent ran first and began writing to the address space.
Kernel Threads
Their mm pointer,which points at their address space,is NULL