Linux内核进程,线程,进程组,会话组织模型以及进程管理

news/2024/11/7 21:08:12/

Linux 内核创世与创生  

Linux宇宙诞生之时,创建了三个PID分别为0,1,2的进程, 你可以想象成成组件一个创业团队,第一步需要找到CEO,CTO,CFO,有管理,有技术,有钱,啥事都好办,可以继续发展壮大,三个角色就相当与LINUX内核的这三个初创进程。

创始成员的工号当然要从最前面开始选择,首先,由于初始从GRUB或者UBOOT跳入时刻没有进程存在,bringup阶段首先捏造了PID为0的swapper进程,之所以说是“捏造”,是因为创建0号进程没有依赖进程模板,0号进程之后的所有进程都有parent,但它没有parent,swapper对应task_struct对象init_task是静态分配,并且由bringup流程手动填充的,就好像凭空出现的一样,如同女娲造人一般创建的。有了第一个进程之后就好办了,新剩下的所有进程都是按照init_task swapper进程的样子clone的(通过内核fork),就不再是捏造了。swapper进程最后演化为内核idle进程,它是如此特殊,以至于用任何工具或者/proc文件系统,都找不到它的影子,但是它是却是实实在在存在着的。

swaper在完成自己的任务之前,创建了kernel thread init进程和kthreadd进程,然后就去养老了。把后面的工作留给了两个后继者。其中kernel_thread init进程完成了内核各类驱动的初始化,你看到的modue_init发起的内核驱动初始化调用,多半都是由处于内核态的kernel init进程发起的,kenrel_thread最终不满足于内核的禁闭,在内核态执行的最后阶段,完成了内核驱动初始化使命的init终于破土而出,成为了用户空间的第一个进程&


http://www.ppmy.cn/news/934399.html

相关文章

FUTEX_SWAP补丁分析-SwitchTo 如何大幅度提升切换性能?

作者简介 胡哲宁,西安邮电大学计算机科学与技术专业大二学生。 Google SwitchTo 由于协程本身对操作系统的不可见性,协程中出现的 BUG 往往不能通过一些已有的工具去排查。在谷歌内部有一套闭源的用户态任务调度框架 SwitchTo, 这个框架可以为谷歌提供延…

NOAA GSOD数据中 国家与地区缩写对应全称

CTRY英文中文AA ARUBA 阿鲁巴AC ANTIGUA AND BARBUDA 安提瓜岛和巴布达AF AFGHANISTAN …

JavaScript根据国家二字码获取国家全称

1 function getCountryNameByCode(code) {2 var countryName = ;3 switch(code) {4

深入解析浏览器Cookie(图文码教学)

深入解析浏览器Cookie 前言一、什么是 Cookie?二、Cookie的特点二、如何创建 Cookie?三、服务器如何获取 Cookie四、Cookie 值的修改4.1 方案一4.2 方案二 五、浏览器查看 Cookie六、Cookie 生命控制七、Cookie 有效路径 Path 的设置八、案例:Cookie 练…

2、程序的基本构成

上一节我们讲解了环境搭建的过程。这一节我们来讲程序的基本构成。 解决方案 首先是解决方案,即文中圈出的部分。 解决方案的本体,实际上也是一个文本文件 就是这个家伙 打开之后长这样,实际上就是表明了一些配置信息,解决方案中包含了哪些项目等 项目 然后是项目,跟解…

java se 下载

java1.8 下载网址 Java Archive Downloads - Java SE 8

电影下载全攻略 [初、中、高级]——老猫

电影下载全攻略 [初、中、高级]——老猫初级篇 出于保护版权的目的,RM和ASF这两种格式文件的播放器--RealPlay和MediaPlayer都没有提供SAVE AS选项。如果希望看完节目后在windows的临时文件目录找文件,也如同等待上天施舍一般,几乎不可能成功…

java程序 下载电影_用java实现的电影天堂,飘花电影网的电影的下载地址抓取

[Java] 纯文本查看 复制代码package downloade; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ExecutorService; i…