Linux内核进程管理架构图.pdf
文本预览下载声明
进程管理架构图
LK 版本:2.6.20
CPU 核:PowerPC E500
2013 年4 月9 日
Linux系统初始化
RQ、WQ、task_struct {}初始化
创建各类进程
将进程放入RQ
就绪态
中断/
异常返回 决定选择 进程切换
系统时钟中断处理程序 schedule
或返回原进程
时间片用完
中断/异常处理 自动放弃
CPU运行
运行态
时间到 中断信号
定时芯片 PIC
唤醒
挂入WQ 中睡眠
等待/ 阻塞态
不支持preemptible :返回原进程
核心空间 (内核进程;用户空间的核心空间,即系统调用):
支持preemptible :据进程优先级,选择合适进程
决策算法
用户空间: 无论支不支持preemptible,根据进程优先级,选择进程获得cpu资源
1
1、在 linux 系统中,当进程处于运行或就绪态时,task_struct{}.state 均为
TASK_RUNNING 。为了区分进程所处的状态为运行态或就绪态,Linux 中使用了一个全局
指针current,指向正在运行的进程描述符。
2 、TASK_INTERRUPTIBLE :可被信号/ 中断事件唤醒
TASK_UNINTERRUPTIBLE :只能被中断唤醒
WQ
信号/中断唤醒 中断唤醒
终结
RQ
schedule
如:kill 命令、^+C 中断、fg 激活后台进程
2
1、四类ID 号
显示全部