感兴趣的朋友,请到CSDN查看详解FreeRTOS系列专栏文章
在详解FreeRTOS:嵌入式软件系统架构(理论篇—1)文章中,讲解到轮询系统架构、前后台系统架构和多任务系统架构的特点和区别。从本篇文章开始讲一讲嵌入式多任务系统架构的理论知识。
【资料图】
在单处理器(嵌入式MCU)的计算机系统中,在某一具体时刻处理器只能运行一个任务,但是可以通过将处理器运行时间分成小的时间段,多个任务按照一定的原则分享这些时间段的方法,轮流加载执行各个任务,从而从宏观上看,有多个任务在处理器上同时执行,这就是单处理器系统上的多任务机制的原理,如下图所示:
任务A和任务B按照等长时间轮流占用处理器,在单处理器上造成多个任务同时运行的假象。
这里先聊一聊多任务系统架构的分割时间段。
将处理器运行时间分成小的时间段指明了把处理器时间以多大的频率分割成固定长度的时间片段,也叫做多任务系统架构的时钟节拍。作为多任务系统运行的时间尺度,时钟节拍是通过特定的硬件定时器产生的。硬件定时器会产生周期的中断,在相应的中断处理函数中,内核代码得以运行,从而进行任务调度和定时器时间处理等内核工作。
硬件定时器中断的时间间隔取决于不同的内核设计,一般是毫秒级的。时钟节拍越快,内核函数介入系统运行的几率就越大,时钟节拍中断响应次数越多,内核占用的处理器时间越长。相反,如果时钟节拍太慢,则导致任务的切换间隔时间过长,进而影响到系统对事件的响应效果。
举个例子,如下图所示,硬件定时器按照固定的时间间隔产生中断,然后在时钟节拍中断ISR中(图中以T标记)处理内核的工作。T0~T1这段时间是内核占用的时间(时钟节拍处理程序),T1~T2这段时间是任务占用的时间。而T0~T2则是一次时钟节拍的全部时间,可以看出,任务1的本轮执行占用了3个时钟节拍。
因为不同任务的运行路径不同,在某一时刻有些任务可能需要等待一些资源,这时可以通过某种方案,使当前任务让出处理器,从而避免因为任务等待资源而长期占有处理器而使其他任务无法运行。这样多任务机制可以使处理器的利用率得到提高,并提高了系统的处理能力。
在多任务操作系统内核中必须提供解决并发任务的机制。通用操作系统一般以“进程”、“线程"等为单位来管理用户任务。
但在很多嵌入式操作系统中,并没有区分进程和线程,只是把整个操作系统当作一个大的运行实体,其中运行着很多任务。任务通常作为调度的基本单位。
关键词:
详解FreeRTOS:嵌入式多任务系统的多任务机制(理论篇—2) 环球聚看点
释放债市服务实体经济活力
【速看料】河北11个项目入选2023年农业产业融合发展项目创建名单
焦点精选!阵怎么组词_阵的组词有哪些
【焦点热闻】四天两涨!马斯克急了还是特斯拉的新套路?
岗位技能等级体系-世界关注
泾川:“五一”假期乡村旅游备受热捧 世界观点
浙江2023年高考语数外使用全国Ⅰ卷-世界热门
中国情侣殒命巴厘岛:当地已对女性死者尸检,死因仍待调查 全球热议
明天五一调休要上班!安卓用户提醒iPhone用户:别睡过了
王导:黄金跌破日线中轨,2004顺势空
技术工种有哪些专业_技术工种有哪些-全球新消息
全球报道:含碘多的食物_包括哪些呢
蛟河市属于哪个市哪个区_蛟河市属于哪个市 全球热消息
顺丰控股发布2022年年度权益分派实施方案 天天热点评
【快播报】AMD 7840U 掌机性能公布:核显媲美 GTX 1650 Ti
浪潮软件: 浪潮软件独立董事关于聘任公司高级管理人员的独立意见-天天热文
特斯拉Model 3 Performance vs 福特GT Autocross 全球看热讯
世界新消息丨山东:民营企业成为外贸发展主力军
当前观察:今日辟谣(2023年5月5日)
当前速讯:长城汽车(02333.HK)申请增设人民币柜台
总投资106亿!爱旭30GW高效组件项目获批 世界微资讯
正红食品 商丘有限公司
微头条丨《霍格沃茨之遗》PS4和Xbox One版发售 定价468港币
全球速递!【港股通】浙商银行(02016)调整人民币存款挂牌利率,三、五年期定期存款利率降至3%以下
天天新消息丨偏钒酸钠商品报价动态(2023-05-05)
要闻:豪爵悦星125踏板车是几冲程的用什么机油_豪爵悦星125踏板车
2023上海车展:豪华新能源的“天花板” 静态体验迈巴赫EQS SUV_世界热推荐
天天报道:火影忍者全集下载 迅雷 火影忍者全集下载迅雷下载
危地马拉富埃戈火山喷发-天天观点