首页 > 系统相关 >linux进程

linux进程

时间:2024-07-23 17:41:42浏览次数:17  
标签:kernel thread idle init 内核 linux 进程

 

 

Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2)


* idle进程由系统自动创建, 运行在内核态

idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个没有通过fork或者kernel_thread产生的进程。完成加载系统后,演变为进程调度、交换


* init进程由idle通过kernel_thread创建,在内核空间完成初始化后, 加载init程序, 并最终用户空间

由0进程创建,完成系统的初始化. 是系统中所有其它用户进程的祖先进程
Linux中的所有进程都是有init进程创建并运行的。首先Linux内核启动,然后在用户空间中启动init进程,再启动其他系统进程。在系统启动完成完成后,init将变为守护进程监视系统其他进程。


* kthreadd进程由idle通过kernel_thread创建,并始终运行在内核空间, 负责所有内核线程的调度和管理

它的任务就是管理和调度其他内核线程kernel_thread, 会循环执行一个kthreadd的函数,该函数的作用就是运行kthread_create_list全局链表中维护的kthread, 当我们调用kernel_thread创建的内核线程会被加入到此链表中,因此所有的内核线程都是直接或者间接的以kthreadd为父进程
我们下面就详解分析2号进程kthreadd
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/gatieme/article/details/51566690

标签:kernel,thread,idle,init,内核,linux,进程
From: https://www.cnblogs.com/rebrobot/p/18319148

相关文章

  • Linux——DNS服务搭建
    (一)搭建nginx1.首先布置基本环境要求能够ping通外网,有yum源2.安装nginxyum-yinstallnginx然后查看验证3.修改网页配置文件修改文件,任意编写内容,然后去物理机测试(二)创建一台客户端1.模拟一下客户,用母机克隆一台作为我们的客户端然后只需修改地址,保证能够ping通......
  • linux内核源码阅读-初始化主程序
     来自:https://in1t.top/2020/03/26/linux%E5%86%85%E6%A0%B8%E6%BA%90%E7%A0%81%E9%98%85%E8%AF%BB-%E5%88%9D%E5%A7%8B%E5%8C%96%E4%B8%BB%E7%A8%8B%E5%BA%8F/main.c功能描述之前setup在0x90000~0x901FF保存了一些重要的机器参数,其中包括主内存区的开始地址,内存大小和......
  • ArchLinux使用笔记
    {%post_linkDistro/'免启动盘安装ArchLinux'%}{%post_linkDistro/'ArchLinux-TLP'%}安装NVIDIA驱动官方完整教程:https://wiki.archlinux.org/title/NVIDIA只要卡不是太老,一般情况下,如果用的是stable内核(linux),就安装nvidia,如果用的是LTS内核(linux-lts),就安装nvidia-lt......
  • linux 相关基础操作
    df-Th这个命令用于显示文件系统的磁盘空间占用情况。选项 -T 表示显示文件系统类型,-h 表示以人类可读的格式(如KB、MB、GB)显示大小。执行这个命令后,你会看到各个已挂载文件系统的总大小、已用空间、可用空间、已用百分比以及挂载点等信息。这对于检查磁盘空间使用情况非常有......
  • linux 内核版本
     来自:https://blog.csdn.net/qq_23084801/article/details/78795870有了这个Linux内核版本发布时间表(0.00到3.19,当然没有包含全部的版本),大家就可以看看自己用的版本是何时发布的了!做内核维护查看相关patchlog时大致做个参考。 版本号时间发展史0.001991.2-4......
  • 【待做】【攻防技术系列+Linux后门】alias
    alias用法系统默认别名:alias设置别名:aliasls='ls-laih'删除别名:unaliasls加参数:aliasls='ls-laih;pwd'❗注意系统启动默认加载的配置文件:/etc/profile切换用户就会执行/etc/profile/etc/bashrcbashshell~/.bash......
  • linux内核源码阅读-块设备驱动
     来自:https://in1t.top/2020/06/04/linux%E5%86%85%E6%A0%B8%E6%BA%90%E7%A0%81%E9%98%85%E8%AF%BB-%E5%9D%97%E8%AE%BE%E5%A4%87%E9%A9%B1%E5%8A%A8/ 开始fs模块之前,我发现如果对块设备/字符设备的驱动程序不了解的话,读fs代码时会困难重重。为了简化问题,本文及之后的f......
  • 快速理解进程与线程
    文章目录......
  • Linux Vim教程(五):搜索与替换
    目录1.基本搜索功能1.1向前搜索1.2向后搜索1.3重复上一次搜索1.4高亮显示搜索结果1.5区分大小写搜索2.高级搜索技巧2.1搜索并跳转到特定行2.2搜索并跳转到特定列2.3搜索并高亮特定模式2.4搜索历史2.5搜索并替换3.基本替换功能3.1替换当前行3.2替......
  • 史上最全的Linux常用软件安装教程【包含Docker安装】
    @目录1.系统版本2.已安装软件(1)常规方式安装的软件(2)docker安装的软件注意3.修改IP步骤4.Tips1.防火墙2.设置jar包开机自启动方式一(强烈推荐):service形式方式二:sh形式多服务同时启动/关闭3.编辑文件4.开机免密登录root5.设置禁止自动锁屏6.安装搜狗输入法7.环境变量配置汇总8.Doc......