进程管理2---进程描述符及任务结构

本文详细介绍了Linux系统中进程管理的核心概念,包括进程描述符(task_struct)的内容,如PID、状态、优先级、程序计数器、内存指针等;描述了进程描述符的分配方式,通过slab分配器动态生成,并在内核栈中存放;讨论了进程状态的变迁,包括运行、阻塞等状态及其转换;强调了设置进程状态的函数set_task_state()的重要作用;还阐述了程序上下文的概念,以及进程家族树的结构,所有进程都源自PID为1的init进程。
摘要由CSDN通过智能技术生成

(一)进程描述符及任务结构

内核把进程的列表存放在叫任务队列双向循环链表中。链表中的每一项都是task_struct(进程描述符或进程控制块)

每个进程在内核中都有一个进程控制块(PCB)存放进程的管理和控制信息,在32位机器上他大约有1.7KB。

   task_struct包含以下内容:

(1)PID:又称进程标识符,每个进程都会被分配一个唯一的数字编号,用来区别其他进程,

ID为0调度进程(交换进程)1init进程,2页守护进程,
(2)状态:任务状态,退出代码,退出信号等。 
(3)优先级:相对于其他进程的优先级。 
(4)程序计数器:程序中即将被执行的下一条指令的地址。 
(5)内存指针:包括程序代码和进程相关数据的指针,还有和其他进程共享的内存块的指针。 
(6)上下文数据:进程执行时处理器的寄存器中的数据。 
(7)I/O状态信息:包括显示的I/O请求,分配给进程的I/O设备和正在被进程使用的文件列表。 
(8)记账信息:可能包括处理器时间总和,使用的时钟总数&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值