浅谈对Linux进程0、进程1、进程2理解

​ 本文浅谈对内核中进程0、进程1以及进程2的理解。

1、进程0

​ 首先,进程0也叫做空闲进程,它不是一个用户进程,经过对内核代码的分析,发现进程0是一个内核进程,它的主要作用是进入一个死循环,在内核中它表现为一个函数idle,因为我们不可能让cpu像人一样没事干就歇着,只要晶振起振,它就必须不停的工作,而进程0就是为了解决cpu空闲时刻的问题,所做的工作就是在cpu空闲时给cpu一个死循环从而使cpu工作。

​ 它的特殊性在于它是系统创建的第一个进程,并且还是唯一一个没有通过kernel_thread以及它所创建的子类进程所创建的进程,在进程调度中起着重要作用。

2、进程1

​ 我们的进程1也叫做init进程,它拥有两种不同的状态,是通过kernel_thread创建的进程,开始时它在内核态所做的工作就是挂载根文件系统,将根文件系统挂载上之后,就开始寻找我们用户态下的一个程序,通常这个程序叫做linuxrc,只要运行了这个程序,我们就算是进入了用户态了,并且在机器未关闭或复位时不能再返回内核态。运行这个程序之后我们会进入用户交互界面,可以进行输入登录密码以及shell命令行等操作。

​ 进程1的最主要的作用就是对我们操作系统来说,其他所有的用户进程都是由进程1直接或间接创建的,也就是说所有的用户进程都是进程1的子孙进程。

3、进程2

​ 在内核源码中,kthreadd函数就是所谓的进程2,它是我们内核的守护进程,可以管理和调度其他内核线程。

如有理解中的错误请指出,在此感谢大家!

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值