您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统设计与应用实践期末试卷
1一、选择题(本题满分14分,每个选择1分)1、一般来说,嵌入式软件系统中的任务函数中,应设计一个(),表示该功能是可以连续执行的。A)条件语句B)循环语句C)普通函数D)无限循环2、采用交叉开发方式,开发平台一般采用()。运行平台基于()。A)单片机B)固定硬件C)通用计算机D)实验仪3、在μC/OS-II操作系统中,大部分源码采用移植性很强的()编写,和微处理器硬件相关部分采用()编写。A)C语言B)JAVAC)VC++D)汇编语言4、μC/OS-II的启动多任务环境的函数叫做OSStart()。用户在调用OSStart()之前,必须已经建立了一个或更多任务,OSStart()函数会调度()的任务运行。A)优先级最高B)优先级最低C)当前任务D)随机任务5、利用关闭任务调度函数OSSchedLock()和打开任务调度函数OSSchekUnlock(),可以实现()间互斥访问数据。A)函数B)中断处理子程序C)任务和中断处理子程序D)任务6、嵌入式操作系统管理的多任务的堆栈的空间(),在()中定义。A)各自独立B)集中在一起C)应用代码D)μC/OS-II内核7、假定μC/OS-II设定的时钟节拍率是200Hz,时钟节拍计数器每秒钟递增()。A)100B)200C)300D)4008、移植μC/OS-II到一个新的体系结构上,需要修改的文件不包括()。A)OS_CPU.HB)TASK.CC)OS_CPU_C.CD)OS_CPU_A.ASM9、μC/OS-II对内存进行()管理,可把管理的动态内存空间分成()的分区,每个分区又分成了()的内存块来进行管理。A)一级B)一个C)多个大小相等D)两级E)多个大小不等二、判断题(本题满分10分,共含10道小题,每小题1分)1、时限要求严格的系统称为硬实时系统。2、μC/OS-Ⅱ是非抢占式实时多任务内核,优先级最高的任务一旦准备就绪,则拥有CPU的所有权开始投入运行。3、当系统需要确保响应时间时,需要使用可剥夺型操作系统内核进行管理和编程。4、并发任务所访问的资源必须独占使用的方式,称为互斥。5、为确保临界段代码的互斥执行,通常,在进入临界段之前开中断,而临界段代码执行完以后要立即关中断。6、全部μC/OS-II操作系统的系统函数的执行时间不可以确定。7、μC/OS-II提供的禁止任务切换可以防止中断的干扰。28、congfig.h文件的作用设置所有选项,用于配置和裁剪内核代码及其数据结构。9、OS_CPU.H文件中的typedefunsignedcharINT8U;表明INT8U的类型为unsignedchar。10、嵌入式操作系统μC/OS-II的多任务环境由函数OSStart()启动。用户在调用该函数之前,必须已经建立了一个或更多任务。嵌入式应用程序中,该函数一般在主函数中调用。三、图示题(本题满分17分,共含1道小题)下图是一个嵌入式操作系统多任务管理下的就绪表,由其中变量OSRdyGrp和一维数组OSRdyTbl[8]均是8bit的无符号整型,根据下图回答以下问题。图中包含几个就绪任务:。这些就绪任务的优先级各为:,其中优先级最高的是,优先级最低的是。当前变量OSRdyGrp的值为。当前一维数组OSRdyTbl[8]的各个元素的值依次分别为:、、、、、、、。OSRdyGrp010100000000000000000000101000010000000000000000000000000000000000011000[0][1][2][3][4][5][6][7]OSRdyTbl[8]XY3四、数据结构及算法计算题(本题满分17分)某事件的等待任务表的当前状态,如下图所示:peventOSEventTypeOSEventCnt;OSEventPtr;OSEventGrp;0100000000100001000000000000000000000000000000000000000000000000假如等待事件到来,需要运用查表法,在等待任务表中查找最高优先级的任务,并从该等待表中删除它。提示,查表法算法如下所示。1、在等待任务表中查找最高优先级任务(优先级为prio)算法如下:y=OSUnMapTbl[pevent-OSEventGrp];x=OSUnMapTbl[pevent-OSEventTbl[y]];prio=(y3)+x;)2、从等待任务表中删除一个任务(优先级为prio)的算法如下:if((pevent-OSEventTbl[prio3]&=~OSMapTbl[prio&0x07])==0){pevent-OSEventGrp&=~OSMapTbl[prio3];}请利用上述算法运算及其结果,并在空白处填写对应的各表达式的值,并解答相关问题,总结上述算法特性。其中,OSUnMapTbl[]和OSMapTbl[]两表的值如下所示。INT8UconstOSMapTbl[]={1,2,4,8,16,32,64,128};OSEventTbl[8]4[1]在等待任务表中查找最高优先级任务的过程如下,请将左边表达式的值写在对应右边的空白处。pevent-OSEventGrpy=OSUnMapTbl[pevent-OSEventGrp]pevent-OSEventTbl[y]x=OSUnMapTbl[pevent-OSEventTbl[y]]y3prio=(y3)+x当前最高优先级等待任务是:[2]从等待任务表中删除该优先级任务的过程如下,请将左边表达式的值写在对应右边的空白处。prio3运算前,pevent-OSEventTbl[prio3]prio&0x07OSMapTbl[prio&0x07]运算后,pevent-OSEventTbl[prio3]运算前,pevent-OSEventGrp运算后,pevent-OSEventGrp此时,该等待任务是否还在等待任务表中?评价该算法有何特点五、代码分析题(本题满分14分,共含3道小题,每空1分)1、请以下列任务控制块类型定义的代码为例,回答以下问题,说明嵌入式操作系统µC/OS-II如何实现内核裁减。typedefstructos_tcb{OS_STK*OSTCBStkPtr;#ifOS_TASK_CREATE_EXT_ENVoid*OSTCBExtPtr;OS_STK*OSTCBStkBottom;INT32UOSTCBStkSize;INT16UOSTCBOpt;INT16UOSTCBId;#endif…}OS_TCB;不可以裁剪的代码部分是。可以裁剪的代码部分是。是否裁剪由哪个数据决定?。如需裁剪,该数据设为。如不需裁剪,该数据设为。2、以下程序代码段利用信号量机制实现互斥。OS_EVENT*SemMu;SemMu=OSSemCreate(1);voidTask1(void*pdata){INT8Uerr;for(;;){OSSemPend(SemMu,0,&err);5。。。。。。;OSMboxPost(SemMu);}}请根据上述代码,回答以下问题:信号量变量名为。信号量的初值为。需要互斥的代码段是进入互斥代码段的实现方法为。退出互斥代码段的实现方法为。3、以下是嵌入式操作系统µC/OS-II创建内存分区代码段。OS_MEM*Buf;INT8UCommTx[10][16];voidmain(void){INT8Uerr;…Buf=OSMemCreate(CommTx,10,16,&err);…OSStart();}根据代码段,回答以下问题:指示内存分区的变量名为。分区的空间大小为字节。该分区的内存块的个数为。每个内存块的字节数为。六、程序设计题(本题满分28分,共含2道小题)1、在一个能够持续运行的应用程序中,设计任务1(task1),每1秒运行一次,在屏幕的第一行处显示“1S”;设计任务2(task2),每2秒运行一次,在屏幕的第二行处显示“2S”;设计任务3(task3),每5秒运行一次,在屏幕的第三行处显示“5S”。写出以上3个任务函数原型定义及其包含以上功能的代码段。(10分)2、在一个能够持续运行的应用程序中,设计3个任务,其中:任务1(task1)每隔2秒接收信号量集中的第0、1、2、3位的信号全“1”;任务2(task2)每隔3秒接收信号量集中的第4、5、6、7位的信号全“1”;任务3(task3)每隔2秒向信号量集中信号发送信号全“1”。(18分)要求如下:(1)写出3个任务的堆栈定义(3分)(2)创建3个任务的μC/OS-II内核调用语句(3分)(3)3个任务函数原型定义及其包含以上功能的代码段。(12分)6七、实验题(一)分析与设计题(满分20分,共含2小题,每小题10分)1、对本课题组所开发的综合算法演示程序进行简要描述,包括课题组成员、各算法名称及各算法基本功能。2、你个人开发算法演示程序功能进行简要描述,包括算法中任务数量、任务名称、各任务简要功能描述及并发任务间的同步关系简要描述。(二)设计与实现题(本题满分48分,共含5小题)选择你个人负责开发的一个算法,回答以下开发、设计实现问题。1.你设计的所有任务如何创建?要求写出调用μC/OS-II创建任务系统函数语句。(8分)2.你设计的信号量如何创建?要求写出调用μC/OS-II创建信号量系统函数语句。(8分)3.写出1、2、中每个任务的优先级和每个信号量的初值。(8分)4.简要说明至少两个任务函数的内部处理流程。其中重点应包括信号量申请、信号量释放、界面信息显示方法、时间延迟及无限循环的设计与实现。(16分)75.分别说明4、中两个任务每一次循环执行时,在界面上显示的动态变化的信息说明。(8分)(三)界面设计与实现题(本题满分21分)1.画出你个人实现的算法演示程序运行界面的布局示意简图(7分),2.并按照静态信息(运行过程中内容不变)(2分)3.和动态信息(根据运行的推进不断发生变化的内容)(5分),4.对所显示的内容,分别进行编程实现方法的说明。请结合实现显示需要调用的函数及其参数进行说明(7分)。(四)技术综述题(本题满分11分)简要综述你个人在本课程中使用的嵌入式操作系统μC/OS-II的基本功能,也可以按照你所使用的操作系统内核函数进行列举说明。
本文标题:操作系统设计与应用实践期末试卷
链接地址:https://www.777doc.com/doc-2381455 .html