网站大量收购独家精品文档,联系QQ:2885784924

嵌入式实幺时操作系统μcos原理与实践2.ppt

嵌入式实幺时操作系统μcos原理与实践2.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式实幺时操作系统μcos原理与实践2

嵌入式实时操作系统μC/OS原理与实践;第二章 任务管理;2.1任务管理数据结构 ;2.1任务管理数据结构 ;2.1.2空闲链表和就绪链表 ;2.1.3任务表 ;2.1.3任务优先级指针表;2.1.4 任务堆栈;2.1.4 任务堆栈 任务堆栈演示;2.1.5任务就绪表和就绪组;2.1.5 任务就绪表和就绪组-设置任务就绪;2.1.5 任务就绪表和就绪组-获取就绪任务中的最高优先级 ;;2.2 任务控制块初始化 ;Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.;2.3 操作系统初始化 ;创建一个任务,任务从无到有。任务创建函数分两种, 一种是基本的创建函数OSTaskCreate, 另一种是扩展的任务创建函数OSTaskCreateExt。 着重讲解OSTaskCreate。 表2.20 创建任务OS_TaskCreat。 表2.21 堆栈初始化函数OSTaskStkInit的一个版本 ;2.4 任务的删除 ;2.4 任务的删除 ;2.4 任务的删除-请求删除 ;2.4 任务的挂起和恢复 ;2.4 任务的挂起和恢复 流程 ;2.7 任务的调度和多任务的启动;就绪的任务进入获得CPU才能运行。任务切换函数就是执行这样的操作系统服务功能:如果正在运行的任务不是优先级最高的或即将被阻塞,需选择一个优先级最高的就绪的任务运行。该过程中非常重要的一点是,要保留正在运行任务运行的上下文,也就是运行环境,如CPU寄存器的值,以便在任务重新开始运行之前能恢复CPU寄存器的值。当然还要将将要运行的任务的上下文恢复到CPU寄存器。 OS_SchedNew 这个函数被其他μC/OS-II系统服务调用,用来确定最高优先级的就绪任务。该函数运行的结果就是给全局变量‘OSPrioHighRdy’赋值。显然,OSPrioHighRdy是最高优先级任务的优先级。 表2.31 OS_SchedNew代码分析 OS_Sched的分析 表2.32 OS_Sched代码分析 2. OS_TASK_SW的分析 ;2. OS_TASK_SW的分析 (1) 80x86CPU ;2.8 特殊任务;2.8 特殊任务;习题 1.任务控制块是一个什么样的数据结构?请用C语言定义一个任务控制块数组,并对其进行初始化。 2.论述任务控制块初始化过程中构建任务控制块空闲链表的过程。 3.就绪表和就绪组的用途是什么?论述他们之间的关系。 4.编写代码实现将优先级为13,23,33的任务就绪,然后取消优先级为25的任务的就绪标志。 5.使用C语言创建一个任务堆栈,将这个堆栈赋值给一个任务控制块。 6.论述任务堆栈的增长方向对入栈出栈操作的影响。 7.解析任务调度的过程 8.任务创建函数OSTaskCreate和OSTaskCreateEXT有哪些区别? 9.任务是如何挂起和恢复的? 10.为什么要请求删除任务而不直接删除?请求删除任务函数有哪些功能,流程是什么? 11.论述统计任务是如何进行CPU利用率统计的。

文档评论(0)

180****5152 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档