嵌入式实时操作系统考试复习

上传人:hs****ma 文档编号:511497184 上传时间:2023-07-29 格式:DOCX 页数:12 大小:37.22KB
返回 下载 相关 举报
嵌入式实时操作系统考试复习_第1页
第1页 / 共12页
嵌入式实时操作系统考试复习_第2页
第2页 / 共12页
嵌入式实时操作系统考试复习_第3页
第3页 / 共12页
嵌入式实时操作系统考试复习_第4页
第4页 / 共12页
嵌入式实时操作系统考试复习_第5页
第5页 / 共12页
点击查看更多>>
资源描述

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

1、嵌入式实时操作系统考试复习1 .什么是嵌入式操作系统?嵌入式系统有什么特点?答: 运行在嵌入式硬件平台上, 对整个系统及其操作的部件、装置等资源进行统一协调、 指控和控制的系统软件就叫嵌入式操作系统。 特点: 微型化、 可剪裁性、 实时性、 高可靠性、 易移植性2 .实时操作系统需要满足的条件:实时操作系统必须是多任务系统, 任务的切换时间应与系统中的任务数无关, 中断延迟的时间可预知并尽可能短。3 .什么是实时操作系统?答:什么是实时?实时含有立即、及时之意。如果操作系统能使计算机系统及时响应外部事件的请求, 并能及时控制所有实时设备与实时任务协调运行, 且能在一个规定的事件内完成对事件的处

2、理,那么这种操作系统就是一个实时操作系统。4 .内核的类型答:不可剥夺型内核:也叫做合作型多任务内核,在这种内核中,总是优先级别高的任务最先获得 CPU 的使用权。为防止某个任务霸占 CPU 的使用权,这种内核要求每个任务必须能主动放弃 CPU 的使用权。 可剥夺型内核: CPU 总是运行多任务中优先级别最高的任务,即使CPU 正在某个优先级低的任务,当有高优先级别的任务准备就绪时, 该高级别的任务就会剥夺正在运行的 CPU 的使用权,而使自己获得 CPU 的使用权。5 .嵌入式操作系统的三项功能:内存管理、多任务管理、外围设备管理第三章1 .任务有三个部分组成:任务程序代码、任务堆栈、任务控

3、制块2 .具有自己的私有空间叫 “进程 ”, 无叫做 “线程” 。一个任务不是对应一个进程。3 .任务的状态:就绪状态:最多有9 个、运行状态:只能有1 个、等待状态:最多有9 个4 .系统任务:为了与用户任务区别,这种系统自己所需要的任务就叫做系统任务。两个系统任务:空闲任务和统计任务,空闲任务是每个应用程序必须使用的, 统计任务则是应用程序可以根据实际需要来选择5 .空闲任务:这个空闲任务几乎不做什么事情,只是对系统定义的一个空闲任务运行次数计数器进行加 1 操作。 一个用户应用程序必须使用这个空闲任务, 而且这个任务不能通过程序来删除。6 .统计任务: 该任务每秒计算一次CPU 在单位时

4、间内被使用的时间,并把计算结果以百分比的形式存放在变量OSCPUsageCPU 的利用率。7 .任务的优先级别: 可以创建最多 64个任务, 即 0、1、263,数字越小,优先级越高8 .任务堆栈:任务堆栈是任务重要的组成部分。所谓堆栈,就是在存储器中按数据 “后进先出 ”的原则组织的连续存储空间 , 为了满足任务切换和响应中断时保存CPU 寄存器中的内容及任务调用其他函数时的需要, 每个任务都应该配有自己的堆栈。 任务堆栈中存放的是: CPU 寄存器中的内容及存储任务私有数据。9 .任务控制块的作用:用来记录任务的堆栈指针、任务的当前状态、 任务的优先级别等一些与任务管理有关的属性。 任务控

5、制块是一个结构类型数据, 当用户创建一个用户任务时, 就会对 任务控制块中的所有成员赋予与该任务相关的数据,并驻留在RAM 中。10 . 任 务 控 制 块 的 初 始 化 : 当 应 用 程 序 调 用 函 数 OSTaskcreate()创建一个 任务时,这个函数会调用系统函数OSTCBInit()来为任务控制块进行初始化。OSTCBInit()函数的主要 任务是: 为被创建任务从空任务控制块链表获取一个任务控制块,用任务的属性对任务控制块各个成员进行赋值, 把这个任务控制 块链入到任务控制块链表。11 . 任务调度的思想:近似的每时每刻让优先级最高的就绪任务处于运行状态。12 .任务调度

6、器有两个任务:一是在任务就绪表中查找具有最高优先级别的就绪任务, 二是实现任务的切换。 两种任务调度器:一种是任务级的调度器,另一种是中断级的调度器。13 .任务是通过任务控制块进行管理,创建任务的工作实质上是创建一个任务控制块, 并通过任务控制块把任务代码和任务堆栈关联起来形成一个完整的任务。第四章14 临界段:那些不希望被中断的代码段。从代码上看,处在关中断和开中断之间的代码段就是临界段。 用 OS_ENTER_*L( )asm( DI和)OS_EXIT_*L( )asm( EI )这两个宏封装了与系统硬件相关的关中断和开中断指令。15 时钟:任何操作系统都要提供一个周期性的信号源,以供系

7、统处理诸如延时、 超时等与时间有关的事件, 这个周期性信号源叫做时钟。是任务调度的基准。16 以C/OSI系统响应中断的过程为:系统接收到中断请求后,这时如果 CPU 处于中断允许状态(即中断是开放的) ,系统就会中止正在运行的当前任务, 而按照中断向量的指向转而去运行中断服务子程序; 当中断服务子程序的运行结束后, 系统将会根据情况返回到被中止的任务继续运行或者转向运行另一个具有更高优先级别的就绪任务。第五章1 .在以C/OSII中,是使用信号量、邮箱(消息邮箱)和消息为了队列这些被称作事件的中间环节来实现任务之间的通信的。方便起见,这些中间环节都统一被称作事件。2 .信号量一般分为三种:用

8、于解决互斥问题的互斥信号量。它比较特殊, 可能会引起优先级反转问题。 用于解决同步问题的二值信号量。用于解决资源计数问题的计数信号量3 .消息邮箱:在任务间传递数据的一个最简单的方法就是传递消息缓冲区的指针, 用来传递消息缓冲区指针的数据结构就叫做消息邮箱。 使用消息邮箱可以节省空间、 使消息的传递速度大大增加、如果只传递一条消息的话,操作更为简单、消息邮箱可以适应不同数据需要。4 .为了把描述事件的数据结构统一起来,使用叫做事件控制块 ECB 的数据结构来描述诸如信号量、 邮箱 (消息邮箱) 和消息 队列这些事件。5 .在以C/OSII初始化时,系统会在初始化函数OSInit()中按应用程序

9、使用事件的总数OS_MAX_EVENTS (在文件 OS_CFG.H中定义),创建 OS_MAX_EVENTS个空事件控制块并借用成员 OSEventPtr 作为链接指针, 把这些空事件控制块链接成一个单向链表。 由于链表中的所有控制块尚未与具体事件相关联, 故该链表叫做空事件控制块链表。6 .在可剥夺型内核中,当任务以独占方式使用共享资源时,会出现低优先级任务先于高优先级任务而被运行的现象, 这种现象叫做任务优先级反转。解决方法:优先级继承、优先级天花板(解决死锁和阻塞链)7 .出现优先级反转的原因:一个优先级别较低的任务在获得了信号量使用共享资源期间, 被具有较高优先级别的任务所打断而不能

10、释放信号量, 从而使正在等待这个信号量的更高级别的任务因得不到信号量而被迫处于等待状态, 在这个等待期间, 就让优先级别低于它而高于占据信号量的任务的任务先运行了。8 .解决优先级反转的方法:是使获得信号量任务的优先级别在使用共享资源期间暂时提升到所有任务最高优先级的高一个级别上, 以使该任务不被其他的任务所打断, 从而能尽快地使用完共享资源并释放信号量, 然后在释放了信号量之后再恢复该任务原来的优先级别。9 .如果把数据缓冲区的指针赋给一个事件控制块的成员OSEventPrt ,同时使事件控制块的成员 OSEventType 为常数OS_EVENT_TYPE_MBO X贝U该事件控制块就叫做

11、消息邮箱,消息邮箱是在两个需要通信的任务之间通过传递数据缓冲区指针的方法来通信的。好处:使消息的传递速度大大增加、如果只传递一条消息的话, 操作更为简单、 消息邮箱可以适应不同数据需要。10 .以C/OS是基于优先级的抢占调度,特点:不用请求分页,不用虚拟存储第七章1 .以C/OSI对内存进行两级管理,即把一个大片连续的内存空间分成了若干个分区, 每个分区又分成了若干个大小相等的内存块来进行管理。2 .内存控制块OS-MEN 的结构: 为了使系统能够感知和有效地管理内存分区,以Jos-ii给每个内存分区定义了一个叫做内存控制块( os_mem )的数据结构。系统就用这个内存控制块来记录和跟踪每

12、个内存分区的状态。内存控制块的内存分区指针osmemaddr 指向了内存分区,内存分区中的各个内存块又组成了一个单向链表,内存控制块的链表指针 osmemfreelist 就指向了这个单向链表的头。 内存控制块的其他三个变量分别记录了分区中内存块的长度、 总数目以及现在还未被分配的内存块数目。3 .以C/OSI的可剪裁性:即只选用应用程序用到的功能,而不需要的功能则通过条件编译命令把它们剪裁掉 (实质上就是令编译器不编译它们)孙乐版1. 嵌入式操作系统: 运行在嵌入式硬件平台上, 对整个系统极其操作的部件、装置等资源进行统一协调、指挥和控制的系统软件。2. 嵌入式操作系统的特点: 微型化、 可

13、裁剪性、 实时性、 高可靠性、易移植性。3. 实时操作系统: 使计算机系统及时响应外部的请求, 并能及时控制所有实时设备与实时任务协调运行,且能在一个规定的时间内完成对事件的处理。4. 实时性是实时内核最重要的特性之一。 实时性是指: 实时内核应该保证系统尽可能快的对外部事件产生响应、系统对外部事件响应的最坏时间是可以预知的。5. 内核的类型: 可剥夺型内核 (大多数) 、 不可剥夺型内核。6. 任务:一个用户编写的 C 函数和与之相关联的一些数据 结构而构成的一个实体。7. 任务的组成:任务程序代码、任务堆栈、任务控制块。8. 任务是进程(占资源)和线程(不占资源)的统称。9. Uc/os-

14、 n的任务有两种:用户任务和系统任务(空闲任务、 统计任务)10. 一个用户应用程序必须使用空闲任务,而且这个任务不能通过程序来删除。11. Uc/os- n预定义两个系统任务:空闲任务、统计任务12. 统计任务 OSTaskstat():每秒计算一次cpu 在单位时间内被使用的时间,并把计算机结果以百分比的形式存放在变量OScpusag 中,以便其他应用程序来了解cpu 的利用率。13. 在uc/os- II中最多能创建64个任务,任务的优先级最 多有 64 级。数字越小级别越高。14. 任务堆栈是任务的重要组成部分。15. 堆栈就是在存储中按数据 “后进先出 ”的原则组织的连续 存储空间。

15、cpu16. 堆栈的作用:为了满足任务切换和响应中断时保存 寄存器的内容及任务调用其他函数时的需要,每个任务都应该配存自己的堆栈。17. 一个任务对应一个优先级,一个进程对应一个堆栈空间。18. 任务控制块:uc/os- n用来记录任务的堆栈指针、任务的当前状态、任务的优先级别等一些与任务管理有关的属性的表。 作用地位:没有任务控制块的任务不能被系统承认和管理。19. 空任务块链表的形成:系统在调用函数OS-Init ()对uc/os- n系统进行初始化时,就先在 RAM中建立一个 OS-TCB 结构类型的数组*1 ,然后把各个元素链接成一个链表。20. 进程:具有一定独立功能的程序,关于某个数据集合上的一项运行活动,是系统进行资源分配和调度的一个独立单位。21. 进程组成:程序+数据+PCB (进程控制块),进程与PCB 是一一对应的。22. Uc/os- II的任务调度思想:近似地每时每刻让优先级别最高的就绪任务处于运行状态,基于优先级的

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

当前位置:首页 > 商业/管理/HR > 营销创新

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