《嵌入式实时操作系统复习资料》_第1页
《嵌入式实时操作系统复习资料》_第2页
《嵌入式实时操作系统复习资料》_第3页
《嵌入式实时操作系统复习资料》_第4页
《嵌入式实时操作系统复习资料》_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

word文档可自由复制编辑填空题(请将答案填入题后括号中)10小题,每小题2201、一般而言,嵌入式系统的构架可以分为4分别是(处理器)、输入/输出和软件,一般软件亦分为操作系统相关和()两个主要部分。

2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器,(嵌入式微处理器)(嵌入式DSP处理器)以及片上系统。

3、操作系统是联接硬件与应用程序的系统程序,其基本功能有(任务管理)、任务间通信、()和I/O资源管理。4.实时系统:指系统能够在限定的(响应)时间内提供所需水平的服务

5.ucos-ii64)个任务

6.ucos-ii中,OS_TaskStat任务62),OS_TaskIdle任务的优先级是(7ucos-ii中,OSRdyTblOS_RDY_TBL_SIZE由全局宏(OS_LOWEST_PRIO)来决定的,8.TCB中的四个成员变量:INT8U

OSTCBX;INT8U

OSTCBY;INT8UOSTCBBitX;INT8UOSTCBBitY,用于(加速)任务就绪态的计算过程。9.TCB内部最重要的元素放在第一个单元叫(OSTCBStkPtr)置的变量,将其放在结构最前面,使得在汇编语言中处理这个变量时较为容易。

10.

uC/OS-II是一个简洁、易用的基于优先级的嵌入式(抢占式)多任务实时内核。

11.任务是一个无返回的无穷循环。uc/os-ii总是运行进入就绪状态的(最高优先级)的任务。12.因为uc/os-ii总是运行进入就绪状态的最高优先级的任务。所以,确定哪个任务优先级最高,下面该哪个任务运行,这个工作就是由调度器()来完成的。13.(不可剥夺型)内核要求每个任务自我放弃CPU的所有权。不可剥夺型调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。

14.当系统响应时间很重要时,要使用(可剥夺型)内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。

15.(可重入型)函数是可以被一个以上的任务调用,而不必担心数据的破坏。

16.每个任务都有其优先级。任务越重要,赋予的优先级应(

越高)。17.μC/OSⅡ初始化是通过调用系统函数(μC/OS-Ⅱ所有的变量和数据结构的初始化。

18.多任务的启动是用户通过调用(OSStart())实现的。然而,启动μC/OS-Ⅱ之前,用户至少要建立一个(任务)。19.

删除任务,是说任务将返回并处于(并不是说任务的代码被删除了,只是任务的代码不再被µC/OS-Ⅱ调用。20.µC/OS-Ⅱ要求用户提供(定时中断)来实现延时与超时控制等功能。21.μC/OS-Ⅱ中,定时中断也叫做(时钟节拍),在低速系统中,它应该每秒发生10至100次。22.

时钟节拍的实际频率是由用户的应用程序决定的。时钟节拍的频率越高,系统的负荷就(越重)。

23.

µC/OS-II中表示当前已经创建的任务数全局变量名为:(

OSTaskCtr)。24.

µC/OS-II中表示当前内核运行的标记全局变量名为:(

OSRunning

)。

25.

µC/OS-II操作系统使用OSSchedLock()函数和OSSchedUnlock()函数进行锁定(不允许任务级调度)和解锁(重新允许任务级调度)调度器,在用户应用程序中,OSSchedLock()和OSSchedUnlock()必须是(成对出现的

)。否则,有可能出错。二、选择题(请将答案填入题后括号中)10小题,每小题220

1、要使µC/OS-II能够正常工作,下列哪个条件不是处理器必须满足的。(

D

)(A)

处理器的编译器能够产生可重入代码(B)在程序中可以找开或者关闭中断

(C)

处理器支持中断,并且能产生定时中断

(D)有大量的存储空间2、下面哪种操作系统最方便移植到嵌入式设备中。(D

(A)

DOS(B)UNIX

(D)LINUX3、下面哪个选项不是USB(B

)(A)串行通信方式(B)不可热拨插

(C)分HOST、DEVICE和(DRS232快

4、下面哪种嵌入式操作系统很少用于手机终端设备上。(C)

(A)

Symbian

(B)WIN(C)

uc/os

(D)LINUX

5、以下哪项关于SRAM和DRAM的区别是不对

()

(A)SRAM比DRAM慢(B)SRAM比DRAM耗电多

(C)DRAM存储密度比SRAM高得多(D)DRAM需要周期性刷新6、UCOS不包含哪些状态(A)运行(B)挂起(C)退出(D)休眠7、0X07&0X的运算结果是。(A)

(A)0X(B)0X11(C)0X17

(D)0X07

8、以下哪种方式不是/OS(

C

)(A)信号量(B)消息队列

(C)邮件(D)邮箱

9、以下哪种方式不是文件系统的格式。(

B

(A)FAT

(B)(C)NTFS

(D)EXT

10、在将UC/OS操作系统移植到ARM(

A

(A)OS_CORE.C

(B)INCLUDE.H(C)OS_CPU.H

(D)OSTASKINIT

三、简答题:共210分,满分20

根据嵌入式系统的特点,写出嵌入式系统的定义。

答:以应用为中心,以计算机技术为基础,软硬件可裁减,功能、可靠性、

、体积、

2、试分析实时操作系统的工作状态特点及相互之间的转换。运行:获得控制权

就绪:进入任务等待队列,通过调度中转为运行状态

挂起:任务发生阻塞,出任务等待队列,等待系统实时事件的发生而被唤醒

从而转为就绪或者运行.

休眠:任务完成或者错误等原因被清除的任务,也可以认为是系统中不存在任务试写抢占式和非抢占式的区别。答:执行的过程中对中断处理方式不一样,抢占式:某一中断执行完成后,如果有更高优先级的任务处于就绪状态,将执行更高优先级任务,而非抢占式不一样,CPUCPU

4

、从嵌入式系统底层到上层应用软件,试分析嵌入式计算系统的组成主要分为哪几个部分,

答:(1)硬件层(2)中间层(嵌入式系统初始化,硬件相关的驱动程序)(3)软件层(操作,网络及通用组件)(4)功能层5、专业名词解释(写出以下英文简写对应的中文名称及解释

(1)RTOS

:实时操作系统

(2)CISC

:复杂指令集(3)Kernel:内核

(4)Scheduler

:(5)non-preemptive

:6.就绪表中完整的数据结构描述

答:就绪表中有2个变量,OSRdyGrp和OSRdyTbl[]。OSRdyGrp中任务按优先级分组,8务为一组。OSRdyGrp的每一位表示8组任务中每一组是否有进入就绪态的任务。任务进入就绪态时,就绪表OSRdyTbl[]中相应的元素的相应位被置1。7、什么是任务上下文切换时间?任务上下文切换时间受哪些因素的影响?

答:

在多任务操作系统中,任务上下文切换指CPU的控制权由当前运行的任务转移到另外一个就绪任务这一过程。这处理器的速度高,任务上下文少,保存和恢复上下文所花费的时间就短,时间就长。选择将投入运行的任务所花费的时间则主要取决于操作系统的调度程序所采用的3.描述建立任务OSTaskCreate()的函数原型。答:建立任务OSTaskCreate()的函数原型为:

(void

OS_STK

*ptos,

其中,

task:

任务代码的指针;

当任务开始执行时传递给任务的参数的指针;

分配给任务的堆栈的栈顶指针;

分配给任务的优先级。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-II代之以移植性强的整数数据类型,这样,既直观又可移植(该数据类型不依赖于编译),举例如下

typedef

unsigned

char

BOOLEAN;

typedef

unsigned

char

INT8U;

typedef

signed

charINT8S;

INT16U;

typedef

signed

intINT16S;

typedef

unsigned

long

INT32U;

typedef

signed

longINT32S;2.

试写出OSStartHighRdy(){

调用用户定义的OSTaskSwHook();

得到将要恢复运行任务的堆栈指针:

从新任务堆栈中恢复处理器的所有寄存器;

执行中断返回指令}2.

试写出函数OSCtxSw()void

OSCtxSw()

{

保存处理器寄存器

在当前任务的任务控制块中保存当前任务的堆栈指针:

OSTCBCur=OSTCBHighRdy;

OSPrioCur=OSPrioHighRdy;

得到将要开始运行的任务的堆栈指针:

从新任务的任务堆栈中恢复处理器所有寄存器的值;

执行中断返回指令;}3、试写出函数OSIntCtxSw()void

OSIntCtxSw()

{

调用用户定义的

OSPrioCur=OSPrioHighRdy;

得到将要重新执行的任务的堆栈指针:

Stack

pointer

=

OSTCBHighRdy->OSTCBStkPtr;

从新任务堆栈中恢复所有寄存器;

执行中断返回指令;}4、试写出函数OSTickISR(){

保存处理器寄存器

调用OSInitEnter()或者OSInitNesting加

if(OSInitNesting

==1)

给产生中断的设备清中断

重新允许中断

恢复处理器寄存器

执行中断返回指令}5、编写使任务进入就绪态代码:

OSRdyGrp

|=OSMapTbl[prio>>3]

温馨提示

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

评论

0/150

提交评论