【RTOS】《多任务抢占式调度器》笔记
2021/7/27 6:06:23
本文主要是介绍【RTOS】《多任务抢占式调度器》笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
找到的一篇短小的PDF,先从此学起吧
1、多任务系统:在多任务调度器的作用下,多个任务轮流使用cpu,实现多任务相互独立并发运行的效果,能够充分利用硬件资源,提高cpu效率
2、任务特性:
a、动态性:
运行态:任务处于占用cpu运行的状态,有且只能有一个处于运行态的任务
就绪态:可运行的任务,等待占用cpu的任务释放cpu
挂起态:由与某些条件不满足而不能运行的任务
b、独立性:
任务之间相互独立,不存在相互调用的关系,使得任务在逻辑上是平等的,任务见的通信由规定的变量来传输
c、并发性:
由同一cpu轮换运行多个任务,注意任务并不需要运行完了才能去运行其他任务
3、抢占式调度
在就绪态的任务中出现了优先级比当前任务优先级高的任务,便立即剥夺当前任务运行权,把cpu分配给优先级最高的任务,这样cpu总是在执行就绪条件下优先级最高的任务
4、多任务的时间基准
由一个定时器产生固定周期中断充当时间基准
5、任务的挂起与恢复
当高优先级任务需要给低优先级任务让道时,需要将高优先级任务挂起,通过OSDelay设置挂起时间拍数,在时间到来后将被挂起的高优先级再恢复为就绪
定时器中断服务函数中,依次给各个任务延时节拍数减一,一旦某个任务延时结束(节拍数减到0),就将它由挂起态变为就绪态
程序中可设置一始终处于就绪态的最低优先级空闲函数,保证其他函数挂起时cpu有事可做
6、可重入设计
当某一任务正在运行某个公共函数,接着被更高优先级的任务抢占,而这一任务恰好也要调用这一公共函数,那么就极有可能破坏前一个任务在这个函数的数据,因此我们采用可重入设计来规避这种情况
这篇关于【RTOS】《多任务抢占式调度器》笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-19JAVA分布式id教程:轻松入门与实践
- 2024-11-19Java高并发教程:入门与实践指南
- 2024-11-19JAVA高并发直播教程:新手入门指南
- 2024-11-19Java高并发直播教程:入门与实践指南
- 2024-11-19Java微服务教程:初学者快速入门指南
- 2024-11-19JAVA微服务教程:新手入门的详细指南
- 2024-11-19Java微服务教程:从零开始搭建你的第一个微服务应用
- 2024-11-19Java项目开发教程:初学者必备指南
- 2024-11-19Java项目开发教程:新手快速入门指南
- 2024-11-19Java项目开发教程:零基础入门到实战