任务切换过程PPT课件

上传人:无*** 文档编号:200381125 上传时间:2023-04-15 格式:PPT 页数:7 大小:570.50KB
收藏 版权申诉 举报 下载
任务切换过程PPT课件_第1页
第1页 / 共7页
任务切换过程PPT课件_第2页
第2页 / 共7页
任务切换过程PPT课件_第3页
第3页 / 共7页
资源描述:

《任务切换过程PPT课件》由会员分享,可在线阅读,更多相关《任务切换过程PPT课件(7页珍藏版)》请在装配图网上搜索。

1、任务切换过程获得待运行任务的任务控制块恢复待运行任务的运行环境处理器的PC=任务堆栈中的断点地址处理器的SP=任务块中保存的SP如何获得待运行任务的任务控制块?根据就绪表获得待运行任务的任务控制块指针其实,调度器在进行调度时,在这个位置还要进行一下判断:究竟是待运行任务是否为当前任务,如果是,则不切换;如果不是才切换,而且还要保存被中止任务的运行环境。1任务切换宏OS_TASK_SW()任务切换就是中止正在运行的任务(当前任务),转而去运行另外一个任务的操作,当然这个任务应该是就绪任务中优先级别最高的那个任务 先保护被中止任务的断点数据后恢复待运行任务的断点数据不要企图用PUSH和POP指令来

2、使程序计数器PC压栈和出栈,因为没有这样的指令。只好变通一下了。中断动作和过程调用指令可以使PC压栈;中断返回指令可以使PC出栈。因此任务切换OSCtxSw(OSCtxSw()必定是一个中断服务程序。需要由宏OS_TASK_SW()来引发一次中断或者一次调用来使OSCtxSw(OSCtxSw()执行任务切换工作调度时机很容易想到的调度时机就是定时调度。对于实时系统来说,应该尽可能地实现即时调度。用函数OSTaskCreate()创建任务应用程序通过调用OSTaskCreate()函数来创建一个任务,OSTaskCreate()函数的原型如下:INT8U OSTaskCreate(void(*t

3、ask)(void*pd),/指向任务的指针 void*pdata,/传递给任务的参数 OS_STK*ptos,/指向任务堆栈栈顶的指针 INT8U prio/任务的优先级)创建任务的一般方法一般来说,任务可以在调用函数OSStart()启动任务调度之前来创建,也可以在任务中来创建。但是,C/OS-II有一个规定:在调用启动任务函数OSStart()之前,必须已经创建了至少一个任务。因此,人们习惯上在调用函数OSStart()之前先创建一个任务,并赋予它最高的优先级别,从而使它成为起始任务。然后在这个起始任务中,再创建其他各任务。如果要使用系统提供的统计任务,则统计任务的初始化函数也必须在这个

4、起始任务中来调用voidmain(void)OSInit();/对C/OS-II进行初始化OSTaskCreate(TaskStart,);/创建任务TaskStartOSStart();/开始多任务调度voidTaskStart(void*pdata)/在这个位置安装并启动C/OS-II的时钟OSStatInit();/初始化统计任务/在这个位置创建其他任务for(;)起始任务TaskStart的代码在使用C/OS-II的所有服务之前,必须要调用C/OS-II的初始化函数OSInit()对C/OS-II自身的运行环境进行初始化。函数OSInit()将对C/OS-II的所有的全局变量和数据结构

5、进行初始化,同时创建空闲任务OSTaskIdle,并赋之以最低的优先级别和永远的就绪状态。如果用户应用程序还要使用统计任务的话(常数OS_TASK_STAT_EN=1),则OSInit()还要以优先级别为OS_LOWEST_PRIO-1来创建统计任务初始化函数OSInit()对数据结构进行初始化时,主要要创建包括空任务控制块链表在内的5个空数据缓冲区。同时,为了可以快速地查询任务控制块链表中的各个元素,初始化函数OSInit()还要创建一个数组OSTCBPrioTblOS_LOWEST_PRIO+1,在这个数组中,按任务的优先级别的顺序把任务控制块的指针存放在了对应的元素中C/OS-II进行任务的管理是从调用启动函数OSStart()开始的,当然其前提条件是在调用该函数之前至少创建了一个用户任务

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!