Re: init_task belongs to "process 0" or "process 1"?

From: Chris Friesen
Date: Tue Jan 05 2010 - 10:56:36 EST


On 01/05/2010 01:32 AM, Nobin Mathew wrote:
> init_task is the head of doubly linked list which holds all
> task_structs in the system. init_task is again the task_struct for
> process 0/swapper/idle task. This process is created manually (I meant
> to say not by copy_process() calls). Manually means they are static
> structures defined in the code (see INIT_TASK, init_mm, init_fs etc).
> There will be multiple idle task if there is more than 1 cpu core.
> Idle task is the one which is scheduled if there is no other task
> ready for scheduling.
>
> Init task is process 1 which is initially a kernel thread created from
> process 0 using copy_process(), then it does an execv() (/sbin/init )
> or similar one to create the normal process init.
>
> Name given to process 0 is swapper.
> .comm = "swapper"

Oddly enough, this name makes no sense anymore. Why don't we call
process 0 "idle"?

Chris
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/