下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、什么是操作系统?它应具备什么功能?治理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石. 1.2.操作系统是计算机资源的治理者,包括处理器治理、存储器存储空间治理、外部输入输出(I/O)设备治理、文件治理、网络和通信治理、供给用户接口。嵌入式操作系统与一般操作系统区分软件固态化以及应用的专用性等方面具有较为突出的特点什么是实时系统?对实时系统有什么要求?假设一个系统能准时响应外部大事的恳求,并能在规定的时间内完成对大事的处理,这种系统称为实时系统.2.实时系统的计算必需在预定的时间内完成.称为时间正确.正在运行进程的处理器使用权,而使自己获得处理器使用权并得以运行一个应用程序为什么肯定
2、要使用空闲任务CPU可作,供给空闲任务。空闲任务是不能被软件删除的统计任务是必需使用的吗?简述它的功能用户应用程序可依据实际需要来选择是否使用统计任务。每秒计算一次CPU 在单位时间内被使用的时间,并把计算结果以百分比的形式存放在变量OSCPUsageCPU什么是任务的优先权?UC/OS-II 是用什么来描述任务的优先权的。cpuuC/OS-II一个任务都必需具有唯一的优先级别,用来表示该任务在抢夺处理器时所具有的优先权力,共有 64 个优先级别,用数字“0”“63”表示,数字“0”所表示的优先级最高在 UC/OS-II 中任务有哪 5 种状态?分别简述 5 个状态的特征:睡眠状态:任务只是以
3、代码的形式驻留在内存,还没有交给操作系统治理.就绪状态:任务配备了任务把握块且在任务就绪表中登记,具备了任务运行的充分条件.运行状态:处于就绪状态的任务获得了CPU 的使用权,任何时候只有一个任务处于运行.等待状态:正在运行的任务,把 CPU 的使用权让给其他任务.中断效劳状态:正在运行的任务一旦响应中断申请,就会中止运行而去执行中断效劳程序.任务把握块记录了任务的那些信息包括任务堆栈的各种指针及数目,任务优先级,任务的状态标志参数等。什么是空任务把握块链表?什么是任务把握块链表?空任务块链表,其中全部任务把握块还没有安排给任务;任务把握块链表,其中全部任务块已经安排给任务16UC/OS-II
4、 的中断响应过程: 系统接收到中断恳求后,假设这是CPU 处于中断允许状态,系统会中止正在运行的当前任务,而依据中断向量的指向转而去运行中断效劳子程序;当中断效劳子程序的运行完毕后,系统会依据状况返回到被中止的任务,或转向更高优先级的任全局变量 OSIntNesting 的作用: 记录中断嵌套的层数。操作系统的时钟:操作系统中特定的周期性中断为系统供给时间依据。在 UC/OS-II 拍以及当任务等待大事发生时供给等待超时依据。说明延时函数 OSTimeDly与 OSTimeDlyHMSM的区分: OSTimeDly:时钟节拍数;OSTimeDlyHMSM:依据时 分 秒的设置延时使用信号量可在
5、应用程序中完成哪些工作?什么叫优先级反转?这种现象什么状况下发生?有什么危害? 在可剥夺型内核中,当任务以独占方式使用共享资源时,会消灭低优先级任务先于高优先级任务而被运行的状况。称优先级反转。一个低优先级任务在获得信号量使用共享资源期间,被高优先级任务所打断而不能释放信号量,从而使号量的低优先级任务先运行假设这种状况发生较多,则会极大地恶化优先级任务地运行环境。互斥型信号量是如何防止优先级反转的?可能使用该共享资源的任务优先级,使用完共享资源后在讲其优先级恢复到原值。1.UC/OS-II式。信号量集就是实现这种功能的数据构造。信号量集所治理的是什么信号?信号量集所治理的信号量都是二值信号。它
6、实质上是一种可以对多个输 入的规律信号进展根本规律运算“与”运算AND),“或”运算(OR)的组合规律。使用信号量集可以在程序中完成哪些工作?信号量集 用一个双向链表来组织等待任务,每一个等待任务都是该链表中的一个节点什么叫内存分区?什么叫内存块?内存分区与内存块之间有什么关系? 内存分区与内存块:操作系统将大片连续的内存分区治理,每个分区内含有整数个大小一样的内存块在同一个内存分区中内存块是按什么方式组织起来的? 每个分区又分成假设干大小相等的内存块来进展治理什么叫内存把握块?它记录了一些什么信息?内存把握块是由 uC/OSII 为每个内存分区定义的一个数据构造。系统用它来记录和跟踪每一个内
7、存分区的状态。是以应用为中心,以计算机技术为根底,且软硬件可裁减,适应应用系统对功能、牢靠性、本钱、体积、功耗有严格要求的专用计算机系统。它一般由以下几局部组成 : 嵌入式微处理器 外围硬件设备 嵌入式操作系统 特定的应用程序特点: 应用的特定性和广泛性 技术、学问、资金的密集性 高效性 较长的生命周期 高牢靠性软硬一体,软件为主 无自举开发力量C/OS-简介8.3KC/OS-是可裁剪的,2.7K完成系统功能和对外部或内部、同步或异步大事做出响应的系统”。特点之三是:C/OS-实际上是一个实时操作系统内核,只包含了任务调度、任务治理、时间治理、内存治理和任务间的通信与同步等根本功能。12、简述
8、 C/OS-II ANSI C语言使用量压缩到最低的限度,以使 C/OS-II可剪裁: C/OS-II占先式: C/OS-II 64856可确定性: C/OS-II任务栈: C/OS-II 25513、简述 C/OS-II C/OS-IIOSUnMapTblOSRdyGrp3+OSUnMapTblOSRdyTblOSRdyGrp。OSRdyGrpOSRdyTbl14、说明函数 OSTimeTick、OSTimeDly的主要任务。OSTimeTickOSTCBDly1,0。OSTimeDlyOSTCBDlyOSTimeDly0。153常用的解决互斥的 3 种方法包括:这是实现互斥最简洁的方法。缺
9、点:把制止中断的权利交给用户进程很危急,假设一个进程制止中断后不再翻开中断,整个系统会因此而中止。0CPU信号量法,设置一个初值为 1 的信号量便能很好的解决互斥问题。这种方法是迄今最完全的解决方案。16、信号量是如何实现同步的?信号量能很好的解决同步问题,为此,必需进展如下设置这样的安排是保证进程同步的关键0PBYV中断:任务在运行过程中,应内部或外部异步大事的恳求中止当前任务,而去处理异步大事所要求的任务的过程叫做中断。:应中断恳求而运行的程序叫中断效劳子程序(ISR)。中断向量:中断效劳子程序的入口地址叫中断向量。CPU:至少有一个中断源向 CPU 发出中断信号系统允许中断,且对此中断信
10、号未予屏蔽任务间的同步依靠于任务间的通信。在uC/OS-II 中,使用信号量、邮箱和消息队列这些被称作大事的中间环节来实现任务间的通信。使用信号量的目的:为共享资源设立一个表示该共享资源被占用状况的标志。信号量集所能治理的信号量一般都是二值信号。恳求信号量集的任务得以连续运行的条件与所恳求的信号量之间有两种规律关系:AND 和 OR。uc/os-ii5uc/os还没有被创立。就绪态(READY):运行态(RUNNING):CPU等待态(WAITING):等待一段时间或某大事发生再运行的状态。中断效劳态(ISR):正在运行的任务被中断时就进入了中断效劳态ISR。任务把握块 Task Contro
11、l Blocks, OS_TCBs是 ucos-ii任务链表指针等属性的一个数据构造。创立任务时,必需创立任务把握块,通过把握块初始化函数OSTCBInit完成,其做三件事:从空任务把握块链表猎取一个任务把握块;把这个任务把握块链入到任务把握块链表。1、任务的存储构造主要由哪三局部组成?答:任务程序代码,任务堆栈,任务把握块。uc/os-ii 预定义了两个为应用程序效劳的系统任务:空闲任务和统计任务,其中空闲任务是每个程序必需使用的,而统计任务是应用程序可依据实际状况需要选择使用。任务删除函数:OSTaskDel#if OS_task_del_enINT8U OSTaskDel(INT8U p
12、rio);时钟:任务操作系统都要供给一个周期性的信号源,以供系统供给处理诸如任务的等待,延时等与时间有时钟单位叫着时钟节拍time tick大事把握块:为了把描述的大事的数据构造统一起来,uc/os-ii 把大事等待任务表和与大事相关的其他信ECB什么是任务切换?任务切换时主要完成哪些工作?答:中止正在运行的任务,转而去运行另外的一个任务的工作。也就是暂停现行任务,去完成另一个任务。与共享资源打交道时,使之满足互斥条件最一般的方法包括哪些?答:包括:关中断、使用测试并置位指令、制止做任务切换、利用信号量等。描述利用 C/OS_ 宏调用关中断和开中断处理共享数据的示意性代码程序。OS_ENTER
13、_CRITICAL;/*/OS_EXIT_CRITICAL;信号量的典型应用包括哪些?答:信号量(Semaphores) 是一种商定机制,在多任务内核中的典型应用包括:把握共享资源的使用权(满足互斥条件);标志某大事的发生使两个任务的行为同步对信号量只能实施哪三种操作?答:一般地说,对信号量只能实施三种操作:初始化(INITIALIZE),也可称作建立(CREATE);等信号(WAIT)也可称作挂起(PEND);给信号(SIGNAL)或发信号(POST)。4OS_ENTER_CRITICAL 和 OS_EXIT_CRITICAL的含义及作用?答:OS_ENTER_CRITICAL :关中断;O
14、S_EXIT_CRITICAL:开中断。关中断和开中断是为了保护临界段代码。留神。用户还可以用信号量来保护临界段代码。4基于 PC 的效劳中如何测量 PC_DisplayChar的执行时间?PC_DisplayChar的执行时间的代码如下:INT16Utime; /定义时间变量PC_ElapsedInit; /时钟初始化PC_ElapsedStart; /开头计时PC_DispChar(40, 24, A, DISP_FGND_WHITE);/执行代码timePC_ElapsedStop;/完毕计时5uC/OS-II答:void task_xxx(void *pData)/* 该任务的初始化工
15、作 */*/while(1)大事驱动模型也涵盖了中断驱动模型,uC/OS-II 大事归根结底来自三个方面:(1)中断效劳函数发送的大事(2)系统延时时间到所引起的(3)其它任务发送的大事。填空题uC/OS-II任务是一个无返回的无穷循环。uc/os-ii 最高优先级 】的任务 。个任务运行,这个工作就是由【调度器scheduler】来完成的。OSSched完成的,而【 中断级 】的调度是由函数OSIntExt 完成。对OSSchedOS_TASK_SWOSIntExtOSCtxSw实现调度。任务切换其实很简洁,由如下 2 步完成:然后将进入就绪状态的最高优先级的任务的存放器值从堆栈中恢复到【存
16、放器 】中。5【睡眠态(task dormat)romramucos-ii【就绪态taskready】:任务一旦建立,这个任务就进入了就绪态。 OSStart可以启动多任务。OSStart函数只能调用一次,一旦调用,系统将运行进入就绪态并且优先级最高的任务。 pend挂起相关函数后,将进入等待状态。 ucos-ii中断关闭。CPUCPU。CPU把握权。 9使用可剥夺型内核时,应用程序不应直接使用不行重入型函数。调用不行重入型函数时,要满足互斥条件,这一点可以用【 互斥型信号量 】来实现。【 可重入型 】函数可以被一个以上的任务调用,而不必担忧数据的破坏。CPU量予以【 保护 】。每个任务都有其
17、优先级。任务越重要,赐予的优先级应【 越高 】。 C/OS-初始化是通过调用系统函数【OSIint C/OS-全部的变量和数据构造的初始化。多任务的启动是用户通过调用【OSStart C/OS-之前,用户至少要建立一 C/OS-的参数配置文件名为【OS_CFG.H】。C/OS-调用。C/OS-要求用户供给【定时中断】来实现延时与超时把握等功能。定时中断也叫做【时钟节拍】,它应当每秒发生 10 至 100 次。时钟节拍的实际频率是由用户的应用程序打算的。时钟节拍的频率越高,系统的负荷就【越重】。160 到65,535OS_CFG.H开关量常数置成【 1C/OS-II21. C/OS-IIOSTa
18、skCtr 】。 OSRunning 】。二 名词解释代码的临界段代码的临界段也称为临界区,指处理时不行分割的代码。资源任务所占用的实体都可称为资源。资源可以是输入输出设备;资源也可以是一个变量,一个构造或一个数组等。共享资源 可以被一个以上任务使用的资源叫做共享资源。任务 一个任务,也称作一个线程,是一个简洁的程序,该程序可以认为CPU型地、每个任务都是一个无限的循环。 CPU它保存正在运行任务的当前状态ContextCPU内核 多任务系统中,内核负责治理各个任务,或者说为每个任务安排CPU通讯。内核供给的根本效劳是任务切换。调度Scheduler 内核的主要职责之一,就是要打算该轮到哪个任
19、务运行了。多数实时内核是基于优先级调度法的。CPUCPUCPU断了的任务被挂起,优先级高的那个任务开头运行。OS_TASK_SW函数需要用户移植实现,主要内容如下:PC2. 调用 OSTaskSwHook函数; 3. OSPrioCur = OSPrioHighRdy; 4. OSTCBCur = OSTCBHighRdy; 5. 设置处理器的堆栈指针存放器为 OSTCBHighRdy-OSTCBStkPtr6. 恢复全部处理器的存放器内容(不包括堆栈指针存放器和 PC7.PC 存放器并开头执行 PC 指向的指令。三简答题举例说明 COS-II 可移植型数据类型的定义方式答:由于不同的微处理器
20、有不同的字长,C/OS-II 的移植文件包括很多类型定义以确保可移植性。COS-II 不使用 C 语言中的 short,int,long 等数据类型的定义,由于它们与处理器类型有关,隐含着不行移植性。C/OS-II数据类型不依靠于编译),举例如下:typedefunsignedcharBOOLEAN;typedefunsignedcharINT8U;typedefsignedcharINT8S;typedefunsignedintINT16U;typedefsignedintINT16S;typedefunsignedlongINT32U;typedefsignedlongINT32S;COS
21、-IICextern.C.HCOS-II需用在头文件中定义一次。uC/OS_II.H 头文件中包括以下定义全局宏定义:#ifdef#defineOS_EXT #else#defineOS_EXT extern#endifOS_EXTINT32UOSIdleCtr;同时,uCOS_II.H#defineOS_GLOBALS#include “includes.h”当编译器处理 uCOS_II.C 时,它使得头文件变成如下所示,由于 如下的样子由于OS_GLOBAL没有定义所以OS_EXT被定义为externexternINT32UOSIdleCtr;在这种状况下,不产生内存安排,而任何 .C 文
22、件都可以使用这些变量。这样的就只需在 .H 文件中定义一次就可以了。给出 C/OS-中如何用信号量处理共享数据的示意代码?答:通过获得信号量处理共享数据的示意代码如下:OS_EVENT *SharedDataSem;void Function (void)INT8U err; OSSemPend(SharedDataSem,0,&err);共享数据的处理在此进展,(中断是开着的)*/OSSemPost(SharedDataSem);给出初始化和启动 C/OS-的示意代码。答:void main (void)OSInit;/* 初始化uC/OS-II*/通过调用OSTaskCreate或OSTa
23、skCreateExt创立至少一个任务; OSStart;/*开头多任务调度!OSStart永久不会返回*/描述建立任务 OSTaskCreate的函数原型。OSTaskCreate的函数原型为:INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio)其中,task: 任务代码的指针;pdata:ptos: 安排给任务的堆栈的栈顶指针;prio: 安排给任务的优先级。任务可以是一个无限的循环,也可以是在一次执行完毕后被删除掉。 请给出示意代码构造。描述的任务示意代码必需是以下两种构造之一
24、:void YourTask (void *pdata)for (;) /*/OSMboxPend;OSQPend;OSSemPend;OSTaskDel(OS_PRIO_SELF);OSTaskSuspend(OS_PRIO_SELF);OSTimeDly; OSTimeDlyHMSM;/*/或void YourTask (void *pdata)/* 用户代码 */ OSTaskDel(OS_PRIO_SELF); C/OS-任务治理供给哪些效劳? 答: C/OS-任务治理供给的效劳包括:建立任务:OSTaskCreate或 OSTaskCreateExt;删除任务:OSTaskDel;恳
25、求删除任务:OSTaskDelReq;转变任务的优先级:OSTaskChangePrio;挂起任务:OSTaskSuspend;恢复任务:OSTaskResume;获得有关任务的信息:OSTaskQuery。 C/OS-时间任务治理供给哪些效劳? 答: C/OS-时间任务治理供给的效劳包括:任务延时函数:OSTimeDly按时分秒延时函数:OSTimeDlyHMSM让处在延时期的任务完毕延时:OSTimeDlyResume设置系统时间:OSTimeGet获得系统时间:OSTimeSet C/OS-供给的数据共享和任务通讯的方法包括哪些?答: C/OS-供给的数据共享和任务通讯的方法包括五种方法
26、:利用宏 OS_ENTER_CRITICAL和 OS_EXIT_CRITICAL来关闭中断和翻开中断。OSSchekUnlockC/OS-II开锁。信号量。邮箱。消息队列。对于大事把握块进展的一些通用包括哪些操作? 答:对于大事把握块进展的一些通用操作包括:初始化一个大事把握块: OSEventWaitListInit;使一个任务进入就绪态:OSEventTaskRdy;使一个任务进入等待该大事的状态:OSEventTaskWait;由于等待超时而使一个任务进入就绪态:OSEventTO。 C/OS-信号量供给哪些效劳? 答: C/OS-信号量供给的效劳包括:建立一个信号量:OSSemCrea
27、te;等待一个信号量:OSSemPend;发送一个信号量:OSSemPost;无等待地恳求一个信号量:OSSemAccept;查询一个信号量的当前状态:OSSemQuery。 C/OS-邮箱供给哪些效劳?答: C/OS-邮箱供给的效劳包括:建立一个邮箱:OSMboxCreate;等待一个邮箱中的消息:OSMboxPend;发送一个消息到邮箱中:OSMboxPost;无等待地从邮箱中得到一个消息:OSMboxAccept;:OSMboxQuery20 C/OS-消息队列供给哪些效劳?答: C/OS-消息队列供给的效劳包括:建立一个消息队列:OSQCreate;等待一个消息队列中的消息:OSQPe
28、nd;向消息队列发送一个消息FIFO:OSQPost;向消息队列发送一个消息LIFO:OSQPostFront;无等待地从一个消息队列中取得消息:OSQAccept;清空一个消息队列:OSQFlush;查询一个消息队列的状态:OSQQuery。 C/OS-内存治理供给哪些效劳? 答: C/OS-内存治理供给的效劳包括:建立一个内存分区:OSMemCreate;安排一个内存块:OSMemGet;释放一个内存块:OSMemPut;查询一个内存分区的状态:OSMemQuery。移植 C/OS-时,要使 C/OS-正常运行,处理器必需满足哪些根本要求?C/OS-正常运行,处理器必需满足以下要求:处理器
29、的 C 编译器能产生可重入代码。C处理器支持中断,并且能产生定时中断(通常在 10 至 100Hz 之间)。处理器支持能够容纳肯定量数据(可能是几千字节)的硬件堆栈。处理器有将堆栈指针和其它 CPU 存放器读出和存储到堆栈或内存中的指令。从任务Task中获得传入的字符参数值,请在下面【】填上适宜的代码。charTaskData=A;OSTaskCreate(Task,【(void*)&TaskData】, &TaskStk0TASK_STK_SIZE - 1, 1);voidTask (void *pdata)charvalue*(char*)pdata 】;for (;) OSSemPend
30、(RandomSem, 0, &err);y = (int) (*(char *)pdata - ”A”);OSSemPost(RandomSem);PC_DispChar(10, 25, value, DISP_FGND_WHITE + DISP_BGND_BLUE);OSTimeDly(1);字符, 请在下面【】填上适宜的代码。voidTask1 (void *data)charINT8Uerr;txmsg = ”A”;for (;) OSMboxPost(TxMbox, 【 (void *)&txmsg】);/* Send message to Task2*/OSMboxPend(Ack
31、Mbox, 0, &err);txmsg+;if (txmsg = ”Z”) txmsg = ”A”;voidTask5 (void *data)charINT8Uerr; data = data; for (;) rxmsg = 【(char *)】OSMboxPend(TxMbox, 0, &err); PC_DispChar(70,18,*rxmsg,DISP_FGND_YELLOWDISP_BGND_BLUE);OSMboxPost(AckMbox, (void *)1);函数接收消息“Hello World!”,而在Task2中使用消息队列OSQPost函数发送消息“Hello Wo
32、rld!”, 请在下面【】填上适宜的代码.voidTask1 (void *pdata)char*msg; INT8Uerr; pdata = pdata;for (;) msg = 【(char *)】OSQPend(MsgQueue, 0, &err); PC_DispStr(70, 13, msg, DISP_FGND_YELLOW + DISP_BGND_BLUE);OSTimeDlyHMSM(0, 0, 0, 100);voidTask2 (void *pdata)charpdata=pdata;strcpy(&msg0, “ Hello World!“);for (;) OSQPost(MsgQueue,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年锦州师范高等专科学校单招职业倾向性测试题库带答案解析
- 2025年四川财经职业学院单招职业技能考试题库附答案解析
- 2024年稻城县幼儿园教师招教考试备考题库附答案解析(必刷)
- 2026年南昌理工学院单招职业技能考试题库带答案解析
- 基坑支护施工技术方案
- 建筑物防雷设施验收方案
- 施工现场重物搬运安全方案
- 设备选型与技术参数方案
- 妇幼保健院预防接种服务流程方案
- 水电工程质量验收标准方案
- 湿疹患者的护理查房
- 2026年数据分析与数据可视化技术试题
- 2026黑龙江省文化和旅游厅所属事业单位招聘工作人员21人考试参考试题及答案解析
- 破产管理人业务培训制度
- 环境应急培训课件
- 2026河南郑州信息工程职业学院招聘67人参考题库含答案
- 2026年中国烟草招聘笔试综合知识题库含答案
- 安排工作的协议书
- 医疗机构药品配送服务评价体系
- 业务持续性与灾难恢复模板
- 妇科微创术后护理新进展
评论
0/150
提交评论