嵌入式实时操作系统μCOSII原理及应用习题答案

嵌入式实时操作系统μCOSII原理及应用习题答案

ID:44820618

大小:23.04 KB

页数:5页

时间:2019-10-30

嵌入式实时操作系统μCOSII原理及应用习题答案_第1页
嵌入式实时操作系统μCOSII原理及应用习题答案_第2页
嵌入式实时操作系统μCOSII原理及应用习题答案_第3页
嵌入式实时操作系统μCOSII原理及应用习题答案_第4页
嵌入式实时操作系统μCOSII原理及应用习题答案_第5页
资源描述:

《嵌入式实时操作系统μCOSII原理及应用习题答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第一章1.什么是计算机的操作系统?它应具备什么功能?操作系统:操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。功能:计算机资源的管理,包括处理器管理、存储器存储空间管理、外部输入输出(I/O)设备管理、文件管理、网络和通信管理、提供用户接口。2.简述嵌入式系统与普通操作系统的区别。嵌入到对象体系中,为实现对象体系智能化控制的计算机系统,简称嵌入式系统。嵌入式系统应具有的特点是:高可靠性;在恶劣的环境或突然断电的情况下,系统仍然能够正常工作;许多嵌入式应用要求实时性,这就要

2、求嵌入式操作系统具有实时处理能力;嵌入式系统和具体应用有机地结合在一起,它的升级换代也是具体产品同步进行;嵌入式系统中的软件代码要求高质量、高可靠性,一般都固化在只读存储器中或闪存中,也就是说软件要求固态化存储,而不是存储在磁盘等载体中。4.什么是实时系统?如果一个系统能及时响应外部事件的请求,并能在规定的时间内完成对事件的处理,这种系统称为实时系统。第二章1.什么是可剥夺型内核?可剥夺型内核采用与不可剥夺型不同的调度策略,最高优先级的任务一旦就绪,就能获得CPU的控制权而得以运行,不管当前运行的任务

3、处于何种状态。可剥夺型内核采用的抢占式的调度策略,总是让优先级最高的任务运行,直到其阻塞或任务完成,响应时间因此优化。2.一个应用程序为什么一定要使用空闲任务?在多任务系统运行时,系统经常会在某个时间内无用户任务运行而处于空闲状态,为了使CPU在此时有事可作,uC/OS—II提供了空闲任务OSTaskIdle。空闲任务是不能被软件删除的。3.统计任务是必须使用的吗?用户应用程序可根据实际需要来选择是否使用统计任务。其功能是每秒计算一次CPU在单位时间内被使用的时间,并把计算结果以百分比的形式存放在变量

4、OSCPUsage中,以便应用程序通过访问它来了解CPU的利用率。4.什么是任务的优先权?UC/OS-II是用什么来描述任务的优先权的。uC/OS-II是按可剥夺型内核来设计的,为此,每一个任务都必须具有唯一的优先级别,用来表示该任务在抢夺处理器时所具有的优先权力,共有64个优先级别,用数字“0”-“63”表示,数字“0”所表示的优先级最高,通常将空闲任务和统计任务设为最低优先级别。对于任务数较少的应用,为节省内存,可通过OS_CFG.H中的OS_LOWEST_PRIO赋值来确定系统的最大(<=64)

5、用户数。5.在uC/OS-II中任务有哪5种状态?睡眠状态:任务只是以代码的形式驻留在内存,还没有交给操作系统管理。就绪状态:任务配备了任务控制块且在任务就绪表中登记,具备了任务运行的充分条件。运行状态:处于就绪状态的任务获得了CPU的使用权,任何时候只有一个任务处于运行。等待状态:正在运行的任务,把CPU的使用权让给其他任务。中断服务状态:正在运行的任务一旦响应中断申请,就会中止运行而去执行中断服务程序。6.任务控制块记录了任务的那些信息?*OSTCBStkPtr指向任务堆栈栈顶的指针;*OSTCB

6、ExtPtr指向任务控制块扩展的指针;*OSTCBStkBottom指向任务堆栈栈底的指针;OSTCBStkSize任务堆栈的长度;OSTCBOpt创建任务时的选择项;OSTCBId任务ID;*OSTCBNext指向后一个任务控制块的指针;*OSTCBPrev指向前一个任务控制块的指针;*OSTCBEventPtr指向事件控制块的指针;*OSTCBMsg传递给任务消息的指针;OSTCBDelReq请求删除任务时用到的标志;OSTCBStat任务的当前状态标志;OSTCBDly任务等待的时限(节拍数);

7、OSTCBPrio任务的优先级别(0==highest,63==lowest);7.什么是空任务控制块链表?什么是任务控制块链表?空任务块链表,其中所有任务控制块还没有分配给任务。空任务块链表是在应用程序调用函数OSInit()对UC/OS-II系统初始化时建立的。链表的元素一共有OS_MAX_TASKS+OS_N_SYS_TASKS个元素。任务控制块链表,其中所有任务块已经分配给任务。任务控制块链表在应用程序调用函数OSTaskCreate()创建任务时建立的。8.数组OSTCBTbl[]有什么用途

8、?专门用来以任务的优先级别为顺序在各个数组元素里存放指向各个任务控制块的指针,这样系统在访问一个任务的任务控制块时,就不必遍历任务控制块链表,从而加快对任务控制块的访问速度。9.正在运行任务的任务控制块指针存放在哪个指针变量中?OSTCBCur10.变量OSRdyGrp有什么用?该变量的每一位都对应OSRdyTbl[]的一个任务组,如果某任务组中有任务就绪,则在变量OSRdyGrp里把该任务组所对应的位置为1,否则置为0,从而快速对任务就绪表OSRdyT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。