《嵌入式实时操作系统复习资料》

上传人:aa****6 文档编号:38287750 上传时间:2018-04-29 格式:DOC 页数:6 大小:62.50KB
返回 下载 相关 举报
《嵌入式实时操作系统复习资料》_第1页
第1页 / 共6页
《嵌入式实时操作系统复习资料》_第2页
第2页 / 共6页
《嵌入式实时操作系统复习资料》_第3页
第3页 / 共6页
《嵌入式实时操作系统复习资料》_第4页
第4页 / 共6页
《嵌入式实时操作系统复习资料》_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《《嵌入式实时操作系统复习资料》》由会员分享,可在线阅读,更多相关《《嵌入式实时操作系统复习资料》(6页珍藏版)》请在金锄头文库上搜索。

1、一、填空题(请将答案填入题后括号中):共10 小题,每小题 2 分,满分20 分。1、一般而言,嵌入式系统的构架可以分为 4 个部分: 分别是(处理器)、存储器、 输入/输 出和软件,一般软件亦分为操作系统相关和(应用软件 )两个主要部分。2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(嵌入式微处理器)(嵌入式 DSP 处理器)以及片上系统。3、操作系统是联接硬件与应用程序的系统程序,其基本功能有(任务管理)、任务间通信、(内存管理 )和 I/O 资源管理。4实时系统:指系统能够在限定的(响应)时间内提供所需水平的服务5ucos-ii 最多管理( 64 )个任务6uco

2、s-ii 中,OS_TaskStat 任务的优先级占( 62 ),OS_TaskIdle 任务的优先级是( 63 ) 7 ucos-ii 中,OSRdyTbl 就绪表的大小是由宏定义: OS_RDY_TBL_SIZE 来定义, 由全局宏( OS_LOWEST_PRIO ) 来决定的,8 TCB 中的四个成员变量:INT8U OSTCBX;INT8U OSTCBY;INT8U OSTCBBitX; INT8U OSTCBBitY ,用于(加速)任务就绪态的计算过程。 9TCB 内部最重要的元素放在第一个单元叫(OSTCBStkPtr),因此,这个变量是惟一一个能 用汇编语言处 置的变量,将其放在

3、结构最前面,使得在汇编语言中处理这个变量时较为容易。10 uC/OS-II 是一个简洁、易用的基于优先级的嵌入式( 抢占式 )多任务实时内核。11任务是一个无返回的无穷循环。uc/os-ii 总是运行进入就绪状态的(最高优先级)的任 务。12因为 uc/os-ii 总是运行进入就绪状态的最高优先级的任务。所以,确定哪个任务优先 级最高,下面该哪个任务运行,这个 工作就是由调度器(scheduler)来完成的。13( 不可剥夺型)内核要求每个任务自我放弃 CPU 的所有权。不可剥夺型调度法也称作 合作型多任务,各个任务彼此合作共享一个 CPU。 14当系统响应时间很重要时,要使用( 可剥夺型)内

4、核。最高优先级的任务 一旦就绪, 总能得到 CPU 的控制权。15( 可重入型 )函数是可以被一个以上的任务调用,而不必担心数据的破坏。16每个任务都有其优先级。任务越重要,赋予的优先级应( 越高)。 17C/OS初始化是通过调用系统函数( OSIint() )实 现 的 , , 完 成 C/OS-所有的变量 和数据结构的初始化。18多任务的启动是用户通过调用( OSStart() )实现的。然而,启动 C/OS-之前, 用户至少要建立一个(任务)。 19 删除任务,是说任务将返回并处于(休眠状态), 并不是说任务的代码被删 除了,只是任务的代码不再被 C/OS-调用。 20C/OS-要求用户

5、提供( 定时中断)来实现延时与超时控制等功能。21C/OS-中,定时中断也叫做(时钟节拍) ,在低速系统中,它应该每秒发生 10 至 100 次。 22. 时钟节拍的实际频率是由用户的应用程序决定的。时钟节拍的频率越高,系统的负荷 就(越重)。23. C/OS-II 中表示当前已经创建的任务数全局变量名为:( OSTaskCtr)。 24. C/OS-II 中表示当前内核运行的标记全局变量名为:( OSRunning )。 25. C/OS-II 操作系统使用 OSSchedLock()函数和 OSSchedUnlock()函数进行锁定(不允 许任务级调度)和解锁(重新允许任务级调度)调度器,

6、在用户应用程序中, OSSchedLock()和 OSSchedUnlock()必须是(成对出现的 )。否则,有可能出错。二、选择题(请将答案填入题后括号中):共10 小题,每小题 2 分,满分20 分。1、要使 C/OS-II 能够正常工作,下列哪个条件不是处理器必须满足的。( D ) (A) 处理器的编译器能够产生可重入代码 (B)在程序中可以找开或者关闭中断(C) 处理器支持中断,并且能产生定时中断(D)有大量的存储空间2、下面哪种操作系统最方便移植到嵌入式设备中。(D ) (A) DOS (B)UNIX(C) Windows xp (D)LINUX3、下面哪个选项不是 USB 设备的特

7、点。 (B ) (A)串行通信方式 (B)不可热拨插(C)分 HOST、DEVICE 和 HUB (D)通信速率比 RS232 快4、下面哪种嵌入式操作系统很少用于手机终端设备上。( C ) (A) Symbian (B)WINCE (C) uc/os (D)LINUX5、以下哪项关于 SRAM 和 DRAM 的区别是不对 。 ( A) (A)SRAM 比 DRAM 慢 (B)SRAM 比 DRAM 耗电多 (C)DRAM 存储密度比 SRAM 高得多 (D)DRAM 需要周期性刷新6 、UCOS 不包含哪些状态(A)运行 (B) 挂起(C)退出 (D) 休眠 7、0X07 pdata: 当任

8、务开始执行时传递给任务的参数的指针; ptos: 分配给任务的堆栈的栈顶指针; prio: 分配给任务的优先级。2简述 uC/OS-II 的的任任务务框框架架答: void task_xxx(void *pData) /* 该任务的初始化工作 */ /*进入该任务的死循环 */ while(1) 四、编程题1.举例说明 COS-II 可移植型数据类型的定义方式答:因为不同的微处理器有不同的字长,C/OS-II 的移植文件包括很多类型定义以 确保可移植性。COS-II 不使用 C 语言中的 short,int,long 等数据类型的定义,因为它们 与处理器类型有关,隐含着不可移植性。C/OS-I

9、I 代之以移植性强的整数数据类型,这 样,既直观又可移植 (该数据类型不依赖于编译),举例如下typedef unsigned char BOOLEAN; typedef unsigned char INT8U; typedef signed char INT8S; typedef unsigned int INT16U; typedef signed int INT16S; typedef unsigned long INT32U; typedef signed long INT32S;2. 试写出 OSStartHighRdy( )函数的示意代码void OSStartHighRdy()

10、调用用户定义的 OSTaskSwHook(); OSRuning = TRUE; 得到将要恢复运行任务的堆栈指针: Stack pointer = OSTCBHighRdy-OSTCBStkPtr; 从新任务堆栈中恢复处理器的所有寄存器; 执行中断返回指令; 2. 试写出函数 OSCtxSw( )的示意性代码 : void OSCtxSw() 保存处理器寄存器; 在当前任务的任务控制块中保存当前任务的堆栈指针: OSTCBCur-OSTCBStkPtr = stack pointer; OSTaskSwHook(); OSTCBCur=OSTCBHighRdy; OSPrioCur=OSPri

11、oHighRdy; 得到将要开始运行的任务的堆栈指针: Stack pointer = OSTCBHighRdy-OSTCBStkPtr; 从新任务的任务堆栈中恢复处理器所有寄存器的值; 执行中断返回指令; 3、试写出函数 OSIntCtxSw()函数的示意性代码 : void OSIntCtxSw() 调用用户定义的 OSTackSwHook(); OSTCBCur=OSTCBHighRdy; OSPrioCur=OSPrioHighRdy; 得到将要重新执行的任务的堆栈指针: Stack pointer = OSTCBHighRdy-OSTCBStkPtr; 从新任务堆栈中恢复所有寄存器;

12、 执行中断返回指令; 4、试写出函数 OSTickISR()函数的示意性代码 : void OSTickISR() 保存处理器寄存器; 调用 OSInitEnter( )或者 OSInitNesting 加 1; if(OSInitNesting =1) OSTCBCur-OSTCBStkPtr=stack pointer; 给产生中断的设备清中断; 重新允许中断; OSTimeTick(); OSInitExit(); 恢复处理器寄存器; 执行中断返回指令; 5、编写使任务进入就绪态代码: OSRdyGrp |=OSMapTblprio3; OSRdyTblprio3 |=OSMapTblprio 6、编写使任务脱离就绪态代码:if(OSRdyTblprio3 7、编写找到进入就绪态的优先级最高的任务,并计算其优先级值的代码: y = OSUnMapTblOSRdyGrp; x = OSUnMapTblOSRdyTbly; prio = y3+x;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号