FREEROTS时间片轮转与优先级抢占

二、时间片轮转调度(Round-Robin)

1. 工作原理
  • 适用场景:多个相同优先级的任务需要公平共享CPU时间。

  • 核心规则

    1. 时间片划分:每个任务分配固定时间片(如10ms)。
    2. 轮转执行
      • 任务运行至时间片耗尽后,强制切换到下一个任务。
      • 若任务提前主动释放CPU(如等待资源),则立即切换。
    3. 队列管理:所有同级任务按顺序循环执行。
    4. 特点
    5. 优点:保证同级任务公平性,避免单一任务饿死其他任务。
    6. 缺点:无法处理优先级差异,实时性较弱。
    7. 典型应用:后台日志记录、低优先级数据处理。

三、优先级抢占式调度(Priority Preemptive)

1. 工作原理
  • 适用场景:任务优先级不同,高优先级任务需立即响应。

  • 核心规则

    1. 优先级排序:任务按优先级从高到低排列。
    2. 抢占触发
      • 高优先级任务就绪时,立即抢占当前低优先级任务的CPU。
      • 中断唤醒高优先级任务时同理。
    3. 就绪队列管理:始终执行优先级最高的任务。

2. 特点
  • 优点:确保高优先级任务实时响应,满足硬实时需求。
  • 缺点:低优先级任务可能长期无法执行(需设计优先级继承机制防止反转)。
  • 典型应用:紧急中断处理(如电机过载保护)、传感器实时采集。

四、两种调度策略的对比

特性时间片轮转优先级抢占
设计目标公平性实时性
任务优先级仅用于同级任务组内分配时间片全局优先级排序
响应速度延迟较高(时间片粒度)立即响应(微秒级)
硬件依赖需要定时器中断支持依赖中断和优先级管理硬件
适用场景非实时后台任务实时关键任务

六、总结

  1. FreeRTOS是RTOS的一种具体实现,适用于资源受限的嵌入式场景。
  2. 时间片轮转保证公平,优先级抢占保证实时性,两者常结合使用。
  3. 优先级反转是抢占式调度的潜在风险,需通过优先级继承或天花板协议规避。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值