• 技术文章 >Python技术 >Python基础教程

    python swapper是什么

    爱喝马黛茶的安东尼爱喝马黛茶的安东尼2019-11-29 10:56:18原创2491

    id为0的进程通常是调度进程,常常被称为交换进程(swapper),该进程为内核的一部分,它并不执行任何磁盘上的程序,因此也被称为系统进程。

    id为1 init进程,在自举过程结束后由内核调用。

    id为2 页守护进程。

    对于父进程已经终止的所有进程,他们的父进程都改变为init。

    在一个进程终止时,内核逐个检查所有活动的进程,以判断他是否是正要终止进程的子进程,如果是,则将该进程id更改为1,这种方法保证了每个进程都有一个父进程。

    如果子进程在父进程终止之前终止,父进程如何能做相应检验得到子进程的终止状态呢?对此的回答是:内核为每个子进程保存了一定量的信息,所以当终止进程的父进程调用wait或waitpid时,可以得到这些信息。

    僵死进程:一个已经终止,但是其父进程尚未对其进行善后处理(获取终止子进程的有关信息,释放它仍占有的资源)的进程

    一个由init进程领养的进程终止时会发生什么?他会不会变为一个僵死进程?

    否!因为init被编写为无论何时只要有一个子进程终止,init就会调用一个wait函数取得其终止状态。这样就防止了系统中有很多僵死进程。

    Swapper 进程:

    进程0 :

    所有进程的祖先叫做进程0 ,idle 进程或因为历史的原因叫做swapper 进程。它是在 linux 的初始化阶段从无到有的创建的一个内核线程。这个祖先进程使用静态分配的数据结构。

    在多处理器系统中,每个CPU都有一个进程0,主要打开机器电源,计算机的BIOS就启动一个CPU,同时禁用其他CPU。运行的CPU 上的swapper进程初初始化内核数据结构,然后激活其他的并且使用copy_process()函数创建另外的swapper进程,把0 传递给新创建的swapper进程作为他们进程的PID.

    进程1 :

    由进程0创建的内核线程执行init() 函数,init() 一次完成内核的初始化。init()调用execve()系统调用装入可执行程序init ,结果 ,init 内核线程变成一个普通的进程,且拥有自己的每个进程内核数据结构。在系统关闭之前,init 进程一直存活,因为它创建和监控在操作系统外层执行的所有进程的活动。

    众多python培训视频,尽在python学习网,欢迎在线学习!

    专题推荐:python swapper
    上一篇:python 轮子是什么 下一篇:python pytz怎么安装

    相关文章推荐

    • 什么是网络协议• python中的去除重复项的操作• python中少见的函数map()和partial()• python的sort()排序方法• Python中的文件读写-理论知识

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网