嵌入式系统设计chapter任务管理与调.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
会计学 1 嵌入式系统设计Chapter任务管理与调 第五章 任务管理与调度 第1页/共153页 主要内容 任务 任务管理 任务调度 优先级反转 第2页/共153页 High Priority Task Low Priority Task Task Task Task Task Task Task Event Event Each Task Infinite Loop Importance Splitting an application into Tasks 第3页/共153页 int main(void) { // Initialize uCOS-II. OSInit(); // Create the first task OSTaskCreate(TestTask1, (void *) 11, TestTaskStk1[TASK_STK_SIZE], 11); // Start multitasking. OSStart(); return 0; } void TestTask1(void *pdata) { printf(%4u: ***** Test Task 1 First call *****\n, OSTime); //Create 3 other tasks OSTaskCreate(TestTask2, (void *) 22, TestTaskStk2[TASK_STK_SIZE], 22); OSTaskCreate(TestTask3, (void *) 33, TestTaskStk3[TASK_STK_SIZE], 33); OSTaskCreate(TestTask4, (void *) 10, TestTaskStk3[TASK_STK_SIZE], 10); while (1) { printf(%4u: ***** Test Task 11 *****\n, OSTime); OSTimeDly(1); } } Task demo based on uCOS 第4页/共153页 void TestTask2(void *pdata) { while (1) { printf(%4u: ***** Test Task 22 *****\n, OSTime); OSTimeDly(1); } } void TestTask3(void *pdata) { while (1) { printf(%4u: ***** Test Task 33 *****\n, OSTime); OSTimeDly(1); } } void TestTask4(void *pdata) { while (1) { printf(%4u: +++++ Test Task 10 +++++\n, OSTime); OSTaskSuspend(10); //Suspend yourself } } 程序运行结果 第5页/共153页 采用多任务的好处: 任务的规模较小 每个任务更容易编码和调试,其质量也更容易得到保证 不少应用本身就是由多个任务构成的 如一个应用可能需要进行以下任务的处理:计算、从网络获取数据和刷新显示屏幕 采用多任务的处理方式是应用问题的一个非常自然的解决方式 任务之间具有较高的独立性,耦合性小 通过增加新的任务就能方便的扩充系统功能 实时性强 保证紧急事件得到优先处理成为可能 第6页/共153页 在嵌入式实时系统中 任务(task)通常为进程(process)和线程(thread)的统称 任务是调度的基本单位 进程最初由Multics的设计者在60年代提出来的,主要包括以下内容: 一个正在执行的程序; 计算机中正在运行的程序的一个实例; 可以分配给处理器,并由处理器执行的一个实体; 由一个顺序的执行线程、一个当前状态和一组相关的系统资源所刻画的活动单元。 第7页/共153页 进程由代码、数据、堆栈和进

文档评论(0)

kuailelaifenxian + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体太仓市沙溪镇牛文库商务信息咨询服务部
IP属地上海
统一社会信用代码/组织机构代码
92320585MA1WRHUU8N

1亿VIP精品文档

相关文档