转载优秀博客(务必要看) https://www.cnblogs.com/alantu2018/p/8526970.html
1 .三个进程
进程 | 功能 |
---|---|
0号进程: idle进程 | 调度进程,也叫做交换进程, idle进程: |
1号进程:init进程 | 进程树的根,init进程 |
2号进程: | 管理内核线程: |
进程 | 诞生 | 特殊之处 | 备注 | |
---|---|---|---|---|
0号 | 由系统自动创建,运行在内核态 | 他的前身是整个系统创建的第一进程,也是唯一一个没使用fork或kernel_thread创建的进程 | 系统加载完成之后,0号进程进行演变 演变成进程调度,交换 | |
1号 | 由0号进程创建(通过kernel_thread) | 在内核加载完成后,加载init程序 | 进程树之根.始终处在用户空间,也就是用户态. | 进程树之根,守护进程,监控其他进程 ,“村长” |
2号 | 由0号进程创建(通过kernel_thread) | 始终运行在内核空间,负责所有内核线程的调度和管理 | 它的任务就是管理和调度其他内核线程kernel_thread, 会循环执行一个kthread的函数,该函数的作用就是运行kthread_create_list全局链表中维护的kthread, 当我们调用kernel_thread创建的内核线程会被加入到此链表中 | 因此所有的内核线程都是直接或者间接的以kthreadd为父进程 |
2. 电脑通电开机流程(centos)
系统工作四步走
第一步: 唤醒内核:内核是操作系统的核心,
第二步: 内核寻找并挂载根文件洗头 rootfs
第三部: 内核执行init进程
第四部: init进程,根据启动项及先关内核功能,自主的唤醒以自身为根的进程树