0号线程是静态创建的。在0号线程启动后会接连创建两个线程,分别是1号线程和2和线程。1号进程最终会去调用可init可执行文件,init进程最终会去创建所有的应用进程。2号进程会在内核中负责创建所有的内核线程。所以说0号进程是1号和2号进程的父进程,1号进程是所有用户态进程的父进程,2号进程是所有内核线程的父进程。
1 0号进程
它是系统创建的第一个进程,我们称为 0 号进程。这是唯一一个没有通过 fork 或者 kernel_thread产生的进程,是进程列表的第一个。0号进程,通常也被称为 idle 进程,也称为 swapper 进程
init_task是静态定义的一个进程,也就是说当内核被放入内存时,它就已经存在,它没有自己的用户空间,一直处于内核空间中运行,并且也只处于内核空间运行。
linux内核中为0号进程专门定义了一个静态的task_struct结构,称为 init_taskinit_task定义在init/init_task.c
/*
* Set up the first task table, touch at your own risk!. Base=0,
* limit=0x1fffff (=2MB)
*/
struct
订阅专栏 解锁全文
5790

被折叠的 条评论
为什么被折叠?



