linux 内核进程管理子系统

本文详细介绍了Linux进程的组成要素及状态,包括进程的四要素、六种状态,并讲解了三种调度策略及其工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、linux 进程要素

程序是放在磁盘上的一系列代码和数据的可执行映像,是一个静止的实体,执行中的程序叫做进程,是动态的实体。

进程四要素:

有一段程序供其执行;

有进程专用的内核空间堆栈;

有task_struct 数据结构,即“进程控制块”;

有独立的用户空间;



linux进程状态:

(1)、TASK_RUNNING  :进程正在被CPU执行,或者已经准备就绪,随时可
以执行。当一个进程刚被创建时,就处于
TASK_RUNNING状态。

(2)、TASK_INTERRUPTIBLE  :处于等待中的进程,待等待条件为真时被唤醒,也
可以被信号或者中断唤醒。

(3)、TASK_UNINTERRUPTIBLE  :处于等待中的进程,待资源有效时唤醒,但不可
     以
由其它进程通过信号(signal)或中断唤醒

(4)、TASK_KILLABLE  :Linux2.6.25新引入的进程睡眠状态,原理类似
    于
TASK_UNINTERRUPTIBLE但是可以被
    致命信号(SIGKILL)唤醒。

(5)、TASK_TRACED  :正处于被调试状态的进程

(6)、TASK_DEAD  :进程退出时(调用do_exit),所处的状态。

   ......


2、linux进程调度





2.1、调度策略

SCHED_NORMAL(SCHED_OTHER):  普通的分时进程
SCHED_FIFO :  先入先出的实时进程
SCHED_RR: 时间片轮转的实时进程
SCHED_BATCH:  批处理进程
SCHED_IDLE:   只在系统空闲时才能够被调度执行的进程

2.2、调度时机


2.3、调度步骤


Schedule函数工作流程如下:
1). 清理当前运行中的进程
2). 选择下一个要运行的进程;
3). 设置新进程的运行环境;
4). 进程上下文切换


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值