首页 > 系统相关 >linux --- 0号进程,1号进程,2号进程

linux --- 0号进程,1号进程,2号进程

时间:2023-02-04 22:00:58浏览次数:43  
标签:task struct idle --- PCB init linux 进程

0号进程

0号进程称为 idle 进程,每个进程都有一个进程控制块PCB(Process Control Block),PCB的数据结构类型是struct task_struct。idle进程对应的PCB是 struct task_struct init_task,其 pid 等于0。

idle进程是唯一一个没有通过fork或者kernel_thread产生的进程,因为 init_task 是静态变量(初始化了的全局变量),其他进程的PCB都是fork或者kernel_thread动态申请内存创建的。

每个进程都有对应的一个函数,idle进程的函数是 start_kernel,因为进入该函数前,栈指针SP已经指向 init_task 的栈顶了,处于什么进程,看SP指向哪个进程的栈。

 

 

 

 

 init_thread_union + THREAD_START_SP 即为栈顶

 

1号进程

 

 

2号进程

 

标签:task,struct,idle,---,PCB,init,linux,进程
From: https://www.cnblogs.com/god-of-death/p/17092485.html

相关文章

  • 21-CMOS门电路的逻辑式
    CMOS门电路的逻辑式通过CMOS门电路,写出门电路的表达式。方法只看下方,因为电路上下是对称的;先找L(输出)的非,找的输出到地的通路,以原变量进行书写。最后将表达式取非,即......
  • C/C++图书管理系统[2023-02-04]
    C/C++图书管理系统[2023-02-04]设计并实现一个学校图书馆的图书管理系统。具体要求:1、图书信息和借阅信息等保存在文本文件中。2、系统运行时从文件中读取相关信息,保......
  • go-fastdfs断点续传功能
    1)安装go-fastdfs:可以从GitHub上获取go-fastdfs的源码,然后使用goget命令安装:gogetgithub.com/sjqzhang/go-fastdfs2)安装tus:可以从GitHub上获取tus的源码,然后使......
  • SQL注入- 堆叠注入
    SQL注入-堆叠注入1.堆叠查询注入​ stackedinjections(堆叠注入)从名词的含义就可以看到应该是一堆sql语句(多条)一起执行。而在真实的运用中也是这样的,我们知道在mys......
  • SQL注入-SQLmap-不同数据库注入
    SQL注入-不同数据库注入-注入工具的使用简要学习各种数据库的注入特点access,mysql,mssql,mongoDB,postgresql,sqlite,oracle,sybase等1.access注入Access数据库......
  • SQL注入-waf绕过
    SQL注入-waf绕过网络资源https://www.cnblogs.com/cute-puli/p/11146625.htmlhttps://www.cnblogs.com/r00tgrok/p/SQL_Injection_Bypassing_WAF_And_Evasion_Of_Filte......
  • 写sql的这样子这样子的设置的话,timestamp (2023-01-04 00:00:00)可以直接等于pdate(2023-
         ......
  • LInux crontab
    crontab 内容简介一、crontab的基本介绍二、crontab语法三、crontab常用工具四、crontab的坑 一、crontab的基本介绍crontab是用来定期执行程序的命令,当安......
  • 20-逻辑门电路习题
    逻辑门电路习题1.输入和输出之间电压的关系前一级的输出作为后一级的输入,满足的输出电压和出入电压之间的关系。2.多余门电路端子处理3.扇出系数计算高电平--扇出......
  • Linux系列教程(一)——Linux系统简介
    本系列教程将完整的讲解整个Linux相关的知识,这是楼主学完兄弟连的Linux教程之后重新对Linux知识体系的整理。个人感觉兄弟连的Linux教程可以很好的入门,从最基础的知识开......