热搜:前端 nest neovim nvim

linux 0号进程的作用

lxf2023-06-06 18:30:01

在linux中,0号过程是指idle过程,是linux启动的第一个过程;其task_struct的comm字段为“swapper因此,又称swpper进程。0号过程是唯一一个没有通过fork或kernel_thread生成的过程,因为init_task是静态变量(初始化的全局变量),其他过程中的PCB是由fork或kernel_thread动态应用内存创建的。

linux 0号进程的作用

本教程操作环境:linux7.3系统、Dell G3电脑。

一、0号进程

0号过程,通常也叫idle过程,或者说swapper过程。

每个过程都有一个过程控制块PCBB(Process Control Block),数据结构类型为struct task_struct。与idle进程对应的PCB是 struct task_struct init_task。

idle过程是唯一没有通过fork或kernel_thread生成的过程,因为 init_task 它是静态变量(初始化的全局变量),其他过程中的PCB是由fork或kernel_thread动态应用内存创建的。

每个过程都有一个对应的函数,idle过程的函数是 start_kernel(),因为在进入函数之前,栈指针SP已经指向了 init_task 栈顶,在哪个过程中,看SP指向哪个过程的栈。

0号进程是linux启动的第一个进程,其task_struct的comm字段为