首页 嵌入式操作系统教程-第六章

嵌入式操作系统教程-第六章

举报
开通vip

嵌入式操作系统教程-第六章第六章uC/OS-II的任务调度器OSSched()的任务调度调度器OSSched()的任务任务切换调度时机第六章uC/OS-II的任务调度一、调度器§6.1调度器OSSched()的任务调度1.概念:系统常常是把任务调度和任务切换作为一个系统服务来提供的,用来完成这个任务的系统程序模块或系统函数被称为调度器2.调度职责:寻找优先级别最高的就绪任务作为待运行任务。即从就绪任务表中获取待运行任务的最高优先级,进而来获取带运行任务控制块。3.调度过程:OSPrioHighRdy=(INT8U)((yOSTCBStkPt...

嵌入式操作系统教程-第六章
第六章uC/OS-II的任务调度器OSSched()的任务调度调度器OSSched()的任务任务切换调度时机第六章uC/OS-II的任务调度一、调度器§6.1调度器OSSched()的任务调度1.概念:系统常常是把任务调度和任务切换作为一个系统服务来提供的,用来完成这个任务的系统程序模块或系统 关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函 数被称为调度器2.调度职责:寻找优先级别最高的就绪任务作为待运行任务。即从就绪任务 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 中获取待运行任务的最高优先级,进而来获取带运行任务控制块。3.调度过程:OSPrioHighRdy=(INT8U)((y<<3)+UnMapTb1[OSRdyTb1[y]]);y=OSnMapTb1[OSRdyGrp];OSTCBHighRdy=OSTCBPrioTb1[OSPrioHighRdy];voidOSSched(void){#ifOS_CRITICAL_METHOD==3OS_CPU_SRcpu_sr;#endifINT8Uy;OS_ENTER_CRITICAL();if((OSLockNesting|OSIntNesting)==0){y=OSUnMapTbl[OSRdyGrp];OSPrioHighRdy//得到最高级优先任务=(INT8U)((y<<3)+UnMapTbl[OSRdyTbl[y]]);if(OSPrioHighRdy!=OSPrioCur){OSTCBHighRdy//得到任务控制块指针=OSTCBPrioTbl[OSPrioHighRdy];OSCtxSwCtr++;//统计任务切换次数的计数器加一OS_TASK_SW();}}OS_EXIT_CRITICAL();}4.OSSched()函数实现:临界区任务切换中断、调用控制§6.2调度器OSSched()的任务切换1.任务断点保存a.保存被终止任务断点b.保存CPU寄存器c.保存任务堆栈地址d.切换新任务TCBe.CPU获取私有堆栈地址f.切换CPU寄存器g.CPU获取断点指针2.任务切换3.任务前换函数实现voidOSCtxSw(void){用压栈指令把CPU通用寄存器R1,R2,……压入堆栈;OSTCBCur->OSTCBStkPtr=SP;//在中止任务控制块中保存SPOSTCBCur=OSTCBHighRdy;//任务控制块的切换OSPrioCur=OSPrioHighRdy;SP=OSTCBHighRdy->OSTCBStkPtr;//使SP指向待运行任务堆栈用出栈指令把R1,R2,……弹入CPU的通用寄存器;IRET;//中断返回,使PC指向待运行任务}一个关系:OS_STASK_SWOSCtxSw()§6.3调度时机通过在就绪任务表中声明新任务创建任务的删除唤醒等待态任务异步事件出现,终端服务激活若干任务运行态任务的状态转换
本文档为【嵌入式操作系统教程-第六章】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
中小学教育资料汇总
暂无简介~
格式:ppt
大小:177KB
软件:PowerPoint
页数:8
分类:互联网
上传时间:2023-03-03
浏览量:1