linux进程管理-1-基础概念

本文详细阐述了进程的不同状态(运行、就绪、阻塞、创建和结束),Linux中的进程优先级(nice值和调度类)以及调度策略(FIFO、RR、BATCH、IDLE和DEADLINE),重点介绍了task_struct数据结构和如何设置进程调度。
摘要由CSDN通过智能技术生成

进程的几种状态

  • 运行状态(Running):该时刻进程占用 CPU;
  • 就绪状态(Ready):可运行,由于其他进程处于运行状态而暂时停止运行;
  • 阻塞状态(Blocked):该进程正在等待某一事件发生(如等待输入/输出操作的完成)而暂时停止运行,这时,即使给它CPU控制权,它也无法运行;
  • 创建状态(new):进程正在被创建时的状态;
  • 结束状态(Exit):进程正在从系统中消失时的状态;

进程优先级

进程优先级 :100-139

普通进程 :0-99

deadline进程 :-1

在linux中有个nice值,越低则进程优先级越高,0~139的范围,0~99给实时进程使用,100~139给普通进程使用

进程管理数据结构

task_struct {

int prio;                                //动态优先级,调度类考虑的优先级

int static_prio;                         //静态优先级 ,启动时分配

int normal_prio;                       //基于静态优先级和调度策略计算的优先级

unsigned int rt_priority;            //实时进程优先级

}

用户空间可以nice函数调整优先级

调度策略

五种调度类

stop   //字面意思,可以抢占任意进程

deadline  //有时间限制的进程 -1优先级 调度策略 DEADLINE

realtime //实时进程 IRQ线程化 0-99优先级 调度策略 FIFO RR

CFS     //由CFS调度  100~139优先级进程调用  调度策略 NORMAL BATCH IDLE

idle       //cpu进入低功耗模式 最低优先级进程使用

用户空间使用sched_setscheduler()设置进程调度策略

normal调度策略并未被实现,

调度策略

FIFO 先进先出 一旦获得cpu控制,则一直运行(1 自己放弃cpu 2 进程终止 3 被抢占)

RR 循环调度 与优先级相同的循环使用,固定时间片,与FIFO差不多 只不过时间片用完也会终止CPU使用权

BATCH 批量调度,使用CFS

IDLE //cpu进入低功耗模式 最低优先级进程使用

DEADLNE 实时进程,字面意思 优先级高

先搞到这,下节再写CFS调度器以及进程权重等概念

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值