嵌入式实时操作系统ucos期末考试题_第1页
嵌入式实时操作系统ucos期末考试题_第2页
嵌入式实时操作系统ucos期末考试题_第3页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、名词解释:1、OS:操作系统2、MCU :微控制器3、ISR:中断效劳子程序4、FIFO:先进先出5、TCB: Task Control Block,任务控制块6 API:应用程序接口7、RTOS:实时操作系统8、UART :通用异步收发传输器9、MMU :内存管理单元10、JTAG:边界调试接口二、填空题1、 优先级抢占和时间片轮转是一种运行时间一到就剥夺进程处理器使用权的剥夺式调度。2、 实时系统的两个根本要求:逻辑或功能正确、时间正确。所谓时间正确是指实时系统的计算必须在预定的时间内完成。3、 临界区是指处理时不可分割的代码、每个进程中访问临界资源的那段程序4、UCOS调用系统延时最

2、小时间单位 毫秒5、 UCOS配置文件中 OS_TICKS_PER_SEC数值定义为 32,含义是时钟频率为 32 hz6如果某一个任务不是必须的监控任务,我们一般采用动态内存管理的机制来创立该任务所需要的变量内存空间,要想能使用这种机制,必须首先将内存交给操作系统来统一管理7、如果系统中某一个资源属于独占资源,n个任务都需要使用,标准的做法是使用 互斥信号量来解决&在UCOS中,优先级用一个数字表示,数字越大表示任务的优先级别越低9、 优先级调度的任务就绪表标志进程抢占处理器的权利大小。10、 任务控制块丨主要用来记录任务的堆栈指针,任务的当前状态,任务的优先级别等 一些与任务管理有

3、关的属性的表。11、 临界区是指保证共享资源的完整性和可靠性的代码段。12、 可重入指的是 是一段代码如一个函数可以被多个任务同时调用,而不必担忧会破坏数 据丨。13、 某事件周期不确定,持续时间较短,处理容忍度较长,通常我们采取在任务就绪表中 发现该事件,在任务调度中处理该事件。14、 如果系统中有2个资源,n个任务都需要使用,标准的做法是使用互斥信号量来解决。15、 在UCOS中,最低优先级自动赋给 空闲任务这个系统任务。16、 对CPU资源进行分配的两种操作系统常见调度算法为任务级调度_和中断级调度17、uC/OS中,主要依靠_任务堆栈_来保存任务工作环境。18、 uC/OS为加快就绪任

4、务的检索速度,定义了_OSRdyTbl数组保存所有任务的就绪状态,定义了变量_OSRdyGrp 说明上面的数组中有那些行有任务就绪。19、 uC/OS进入中断时首先需要调用的函数为_OSIntEnter(),退出中断时需要调用的函数为 _OSIntExit()。20、 uC/OS为保证低优先级的任务得到CPU控制权,要求除空闲任务外,所有任务必须在任何的适宜位置调用系统延时函数如_OSTimeDly()或事件等待函数如 OSTimeDlyHMSM()。、uC/OS如果某个任务的执行需要多个信号量组合决定,可使用系统资源事件标志组flag22、实时操作系统的两个根本要求是.逻辑或功能正确和_时间

5、正确。23、uC/OS的设计人员并不知道用户的任务名,却可以正常的调用用户任务,主要依靠的技术是_函数指针24、uC/OS为保证任务控制块的检索为常量时间,定义的数组为OSPrioTbl,为加快当前任务的访问速度,定义的变量为OSTCBCur_ 。25> uC/OS中断级别的调度器为_OSIntExt(),任务级的调度器为_OSSched(。26、 uC/OS要求所有操作超过一个机器字长的全局变量必须作为原子操作处理,对可能被多个任务调用的函数必须是可重入的。27、 uC/OS用来解决优先级反转的问题主要是依靠互斥信号量 解决的。28、 如果系统中有20个资源,n个任务都需要使用,标准的

6、做法是使用(信号量)来解决。三、选择题1、 以下不属于构成嵌入式系统的实际物理装置的是c A、CPU B、存储器 C固件D、接口设备2、 以下哪项不属于对实时操作系统的要求(d )A、多任务B、任务切换为常量时间C、中断延迟短D、开源3、 关于uC/OS中的优先级,以下说法错误的选项是(a )A、优先级数目越大,优先级越高;B、空闲任务的优先级为 OS_LOWEST_PRIO;C、一般要求和中断相关的任务优先级较高;D、版本中优先级数目应小于 644、 以下操作中,不属于 OSTCBI ni t(函数所需要完成的任务是( a )A、创立空任务控制块链表;B、为任务从空任务控制块链表中取得一个任

7、务控制块;C、对任务控制块各个成员进行赋值;D、把任务控制块链入任务控制块链表;5、 以下哪项不属于中断级调度必须检查的条件(c )A、OSRunning=TRUE、OSIntNesting=0C、OSstatRdy=0D、OSLockNesting=06、以下不属于嵌入式操作系统特点的是A、高可靠性B、可裁剪性C实时性D、免费7、 以下操作系统中,哪个不属于嵌入式操作系统c A、VxWorksB、 WinCEC、Mi nix D、uC/OS8、 如果常数OS_LOWEST_PRIO为6,使能了统计任务,那么最多可安排的用户任务数为A、6B、5C、4D、79、操作系统中最多可以管理多少个任务。

8、a 任务数为A、6B、5C、412、运行任务被抢占的原因不包括D、7A、它唤醒了高优先级的任务B、将自己挂起C有多个就绪任务,允许任务的运行的时间片到D、优先级较低的中断产生并处理中断13、以下不是嵌入式系统应用领域的是A通用软件B、工业控制C、消费类电子产品D、机器人14、以下哪项不属于对实时操作系统的要求A、多任务C、中断延迟短15、以下说法不正确的选项是A、任务可以有类型说明C任务可以有形参变量B、任务切换为常量时间D、开源B、任务可以返回一个数值D、任务是一个无限循环(d )(d )(a )(d )( d )A、 64B、 56C、 128D、 6310.下面属于嵌入式系统的是(a )

9、A、“天河电脑系统B、智能电能表C联想笔记本电脑D、核电站控制系统11、如果常数OS_LOWEST_PRIO为6,使能了统计任务,那么最多可安排的用户四、简答题1、 实时操作系统设计应尽量满足的5个条件第一章9页10业 实时操作系统必须是多任务系统;实时操作系统的任务切换时间与系统中任务数无关;中断延迟的时间可预知并尽可能的短;2、标准的UCOS中断处理程序都应该使用那些功能的系统功能调用?要求按调用顺序书写, 可以不写出具体函数名。3、OSTimeTick丨的功能书本函数 OSTimeTick( ) 的任务,就是在每个时钟节拍了解每个任务的延时状态,使其中已经到 了延时时限的非挂起任务进入就

10、绪状态。卩C/OS-II与大多数电脑系统一样,用硬件定时器产生一个周期为ms级的周期性中断来实现系统时钟,最小的时钟单位就是两次中断之间相间隔的时间,这个最小时钟单位叫做时钟节拍 Time Tick 。硬件定时器以时钟节拍为周期定时地产生中断,该中断的中断效劳程序叫做OSTickISR( ) 。中断效劳程序通过调用函数 OSTimeTick( ) 来完成系统在每个时钟节拍时需要做的工作。 OSTimeTick() 是为系统提供时钟节拍的效劳程序。4、设ucos设定的一个时钟节拍为 20ms,那么在代码中主要需要哪两处?5、标准的UCOS中断处理程序都应该使用那些功能的系统功能调用?要求按调用顺

11、序书写, 可以不写出具体函数名。6、ucos都在什么时候可能调用任务调度函数进行任务调度?任务调度的依据是任务就绪表仅仅在OSTimeDly()任务延时函数中才发生 OS_Sched(任务调度。任务级的任务调度是由 OS_Sched(函数完成的,而且任务级的调度要保存所有的状态。中断 级的任务调度是由另一个函数 OSI ntExt()完成的,在中断级的调度中,一些状态在进入中断前已 被保存 。创立任务,中断, osdelay,pend;7、uC/OS中任务的状态主要有哪几种,并对任务状态进行简要解释。 课本 52 页运行状态:任务掌握了 CPU的控制权,正在运行中的状态。 就绪状态:任务已经准

12、备好,可以运行了,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行的状态。在卩c/OS-n中,当任务一旦建立,这个任务就进入就绪态准备运行;睡眠状态:任务驻留在程序空间之中,还没有交给卩c/os- n管理的状态,而将任务交给卩c/os-n管理是通过调用函数 OSTaskCreate()实现的;被中断状态:因为中断效劳程序正在执行而得不到CPU控制权的状态;(中断效劳状态)等待状态:任务在等待某一事件的发生还不能运行的状态;& uC/OS中如果需要将系统时钟节拍设置为40Hz,主要需要做哪些工作?如涉及到主要系统函数,必须进行说明。9、uC/OS中的任务按照执行方式分类,主

13、要分成哪几种,并对各种方式使用的系统函数做简要 说明。如涉及系统函数调用,必须进行说明。10、uC/OS优先级大小设置的原那么都有哪些?请简要说明。周立功传递性:信息传递的上游任务的优先级高于下游任务的优先级。如信号采集任务的优先级 高于数据处理任务的优先级。快捷性:在前面各项条件相近时,越快捷耗时短的任务安排的优先级越高,以使其它 就绪任务的延时缩短;频繁性:对于周期性任务,执行越频繁,那么周期越短,允许耽误的时间也越短,故应该安 排的优先级也越高,以保障及时得到执行;中断关联性:与中断效劳程序ISR有关联的任务应该安排尽可能高的优先级,以便及时 处理异步事件,提高系统的实时性。如果优先级安

14、排得比拟低,CPU有可能被优先级比拟高的任务长期占用,以致于在第二次中断发生时连第一次中断还没有处理,产生信号丧失现象;关键性:任务越关键安排的优先级越高,以保障其执行时机;紧迫性:因为紧迫任务对响应时间有严格要求,在所有紧迫任务中, 按响应时间要求排序,越紧迫的任务安排的优先级越高。紧迫任务通常与ISR关联;11、uC/OS中如果想使用统计任务,主要需要做哪些工作?如涉及到系统函数或配置参数,必 须指知名字。统计任务OSTaskStat()。这个统计任务每秒计算一次CPU在单位时间内被使用的时间,并把计算结果以百分比的形式存放在变量OSCPUsageK以便应用程序通过访问它来了解CPU的利用

15、率,所以这个系统任务 OSTaskStat(叫做统计任务12、uC/OS主要有哪些类系统函数禁止在中断中调用,请居于至少三类,并说明其原因。函数 要求指出函数名。任务跳转13、卩c/os-n时间管理提供哪些效劳,并简要说明每个函数的功能。OSTimeDly()以时钟节拍为单位延时 或OSTimeDlyHMSM()以钟时分秒毫秒为单位延时 osTimeDlyResume() 恢复延时的任务OSTimeDlyHMSM() 可能需要多个 OSTimeDlyResume() 才能恢复OSTimeGet() 获得系统时间以时钟节拍为单位OSTimeSet()设置系统时间以时钟节拍为单位OSTimeTic

16、k() 时钟节拍处理函数由时钟节拍中断处理程序调用,用户很少使用14、给出uCOS-II单次执行任务和周期性执行任务的示意性代码。单次:void MyTask (void *pdata) 定义和初始化变量及硬件设备完成该任务的具体功能将自己删除,操作系统将不再管理它进行准备工作的代码 ;任务实体代码 ; 调用任务删除函数 ;周期:void MyTask (void *pdata) 进行准备工作的代码 ;while (1) 任务实体代码 ; 调用系统延时函数 15、uC/OS 主要有哪几类任务同步方法,请每类至少举出一个系统函数名。 /亠口 曰信号量OSSemCreate(建立信 号量OSSem

17、Del()删除信- 号量OSMutexCreate ()建立互斥信 号量消息邮箱OSMboxCreate()建立消息邮箱OSMutexDel()消息队列OSQCreate()建立消息队列OSQDel()五、程序分析题1、#define debug 1 #if debug !=1 fun();#endif那么在最终的代码中,是否包含fun()函数答:不包含2、在某 .h 文件中有如下代码,功能为 #ifndef _DEVICE_H#define _DEVICE_H #endif答:如果没有定义_DEVICE_H定义_DEVICE_H ,这样屡次in elude同一个.h文件,就不会重 复引用其中的内容。3、写出以下两个任务的执行效果,并分析它们相互之间是否有影响。void MyTask4(void *ppdata) ppdata=ppdata;for(;)LED4=0;OSTimeDlyHMSM(0,0,0,800);LED4=1;OSTimeDly(OS_TICKS_PER_SEC);void MyTask5(void *ppdata) ppdata=pp

温馨提示

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

评论

0/150

提交评论