2023年操纵系统题库_第1页
2023年操纵系统题库_第2页
2023年操纵系统题库_第3页
2023年操纵系统题库_第4页
2023年操纵系统题库_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式实时操作系统的基本概念什么是嵌入式系统?(了解)人们把嵌入到对象体系中,为实现对象体系智能化控制的计算机系统,称作嵌入式计算机系统,简称为嵌入式系统。什么是嵌入式操作系统?运营在嵌入式硬件平台上,对整个系统及其所操作的部件、装置等资源进行统一协调、指挥和控制的系统软件就叫做嵌入式操作系统。实时操作系统需要满足的条件有哪些?实时操作系统应满足以下三个条件:实时操作系统必须是多任务系统。任务的切换时间应与系统中的任务数无关。中断延迟的时间可预知并尽也许短。一个用C语言编写的任务的结构(P11例1-1,重点掌握):voidmytask(void*pdata){ﻩﻩfor(;;) ﻩ{ ﻩ用户编写的代码; ﻩ}}预备知识取址运算符与取值运算符“取址”运算符“&”,“取值”运算符“*”。函数指针函数名就是该函数的指针(重点掌握)。uC/OS-II中的任务1、任务的组成2、任务有哪两种用户任务、系统任务3、任务的5种状态(重点)(作简朴描述即可)(1)睡眠状态:任务在没有被配备任务控制块或被剥夺了任务控制块时的状态叫做任务的睡眠状态;(2)就绪状态:假如系统为任务配备了任务控制块且在任务就绪表中进行了就绪登记,则任务就具有了运营的充足条件,这时任务的状态叫做就绪状态;(3)运营状态:处在就绪状态的任务假如经调度器判断获得了CPU的使用权,则任务就进入运营状态。任何时刻只能有一个任务处在运营状态,就绪的任务只有当所有优先级高于本任务的任务都转为等待状态,才干进入运营状态;(4)等待状态:正在运营的任务,需要等待一段时间或需要等待一个事件发生再运营时,该任务就会把CPU的使用权让给其他任务而使任务进入等待状态;(5)中断服务状态:一个正在运营的任务一旦响应中断申请就会中止运营而去执行中断服务程序,这时任务的状态叫做中断服务状态。4、P61例3-1一个用C语言编写的任务5、空闲任务(该任务必须用)为了使CPU在没有用户任务可执行时有事可做,uC/OS-II提供了一个叫做空闲任务OSTaskIdle()的系统任务。6、记录任务(该任务可用可不用)记录任务OSTaskStart()。7、任务的优先权与优先级最多可以在uC/OS-II中创建64个任务,所以任务的优先级别最多有64级,每个级别都用一个整数数字来表达,即0、1、2、…、63;数字越小优先级别越高。8、任务堆栈所谓堆栈,就是在存储器中按数据“后进先出(LIFO)”的原则组织的连续存储空间。9、任务堆栈的创建#defineTask_STK_SIZE512//定义堆栈的长度为(1024字节)OS_STK[Task_STK_SIZE];//定义一个数组来作为任务堆栈10、堆栈的增长方向堆栈的增长方向有两种:向下的(如[MyTaskStKN-1])、向上的。11、任务控制块结构(给出结构体,说明其成员及作用)12、P70了解空任务链表和任务控制块链表13、P73任务就绪表结构14、任务调度调度器的重要工作:在任务就绪表中查找具有最高优先级别的就绪任务;实现任务的切换。实现函数任务级的调度器由函数OSSched()来实现;中断级的调度器由函数OSIntExt()来实现。15、用函数OSTaskCreate()创建任务16、挂起任务(了解)挂起任务函数OSTaskSuspend()17、恢复任务(了解)恢复任务函数OSTaskResume()18、任务的删除(过程重要)先申请再删除自己。19、uC/OS-II的初始化初始化函数OSInit()20、uC/OS-II的启动启动函数OSStart()课后题什么是可剥夺型内核?一个应用程序为什么一定要使用空闲任务?记录任务是必须使用的吗?什么叫做任务的优先权?uC/OS-II是用什么来描述任务的优先权的?在uC/OS-II中任务有哪5种状态?任务控制块记录了任务的哪些信息?什么是空任务控制块链表?什么是任务控制块链表?数组OSTCBTbl[]有什么用途?正在运营任务的任务控制块指针存放在哪个指针变量中?10、变量OSRayGrp有什么用?11、编写一个有3个任务的应用程序,每个任务均会在显示器上显示一个字符,并让3个任务具有不同的等待时间,观测应用程序运营中任务被调度的情况。第4章uC/OS-II的中断和时钟1、uC/OS-II中断响应过程(可了解P110图4-1)中断->若有高优先级则运营高级别的任务->回到原处2、临界段的基本概念不希望被中断的代码段叫做临界段,处在关中断和开中断之间的代码段就是临界段。3、关中断与开中断OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()这两个宏封装了与系统硬件相关的关中断和开中断指令。4、uC/OS-II的时钟(P115掌握时钟节拍)最小的时钟单位就是两次中断之间相间隔的时间,这个最小时钟单位叫做时钟节拍(TimeTick)。5、钩子函数钩子函数OSTimeTickHook()6、任务的延时(重要)OSTimeDly()或OSTimeDlyHMSM()课后题全局变量OSIntNesting的作用是什么?(记录中断嵌套的次数,P110图4-1下面)2、uC/OS-II的中断服务程序何时返回被中断的任务?何时不返回被中断的任务?3、说明延时函数OSTimeDly()与OSTimeDlyHMSM()的区别。第5章任务的同步与通信(重点)1、事件信号量、邮箱(消息邮箱)和消息队列。2、信号量互斥型信号量、计数型信号量。3、消息邮箱在多任务操作系统中,经常需要在任务与任务之间通过传递一个数据(这种数据叫做“消息”)的方式来进行通信。为了达成这个目的,可以在内存中创建一个存储空间作为该数据的缓冲区。假如把这个缓冲区叫做消息缓冲区,那么在任务间传递数据(消息)的一个最简朴的方法就是传递消息缓冲区的指针。因此,用来传递消息缓冲区指针的数据结构就叫做消息邮箱。4、消息队列让数组的每个元素都存放一个消息缓冲区指针,那么任务就可通过传递这个指针数组指针的方法来传递多个消息了。这种可以传递多个消息的数据结构就叫做消息队列。任务B任务B任务A指针(消息队列)指针(消息队列)消息消息缓冲区(存地址)真实信息真实信息(多条)5、P145-P146等待任务控制链表(知识点多,需具体掌握)等待任务表OSEventTbl[]与变量OSEventGrp[]6、任务优先级的反转现象(其解释及如何防范此现象,可参考P161图5-15)(必考)解释:在可剥夺型内核中,当任务以独占方式使用共享资源时,会出现低优先级任务先于高优先级任务而被运营的现象,这就是所谓的任务优先级反转;防范:用互斥型信号量,一旦运营提高优先级。7、P167互斥型信号量高8位用来存放为了避免出现优先级反转现象而要提高的优先级别prio。课后题叙述信号量的工作过程。什么叫优先级反转现象?这种现象会在什么情况下发生?有什么危害?互斥型信号量是如何防止优先级反转现象出现的?什么叫消息邮箱?使用消息邮箱实现任务之间的通信有什么好处?什么是消息队列?7、想一想,在应用程序中消息队列都可以做些什么工作?第6章信号量集1、基本概念在程序中一个任务的操作能否实行,经常需要由多个信号量的逻辑运算结果作为前提条件。为了解决此类问题,uC/OS-II提供了可以解决多个信号量的信号量集。2、信号量集的功能提成哪两部分标志组和等待任务链表3、信号量集的标志组的重要组成部分一个叫做信号列表的二进制书OSFlagFlags。OSFlagFlags其实就是一个位图,其长度可在系统配置文献OS_CFG.H中来定制,系统默认定义为16位。4、等待任务必须完毕的两个操作(1)在多个信号量的输入中挑选等待任务感爱好的输入;(2)把挑选出来的输入按照等待任务所希望的逻辑来运算,以得出输出。5、示例代码6、查询信号量集的状态调用函数OSFlagQuery()可以查询一个信号量集的状态;作用:使任务可根据信号的不同状态实现不同的功能。第7章动态内存管理1、可动态分派内存的划分内存块、内存分区2、内存块uC/OS-II以若干个数据单元组成一个内存块,内存块的大小可由用户定制。在uC/OS-II中,内存块是系统向应用程序提供动态内存的最小

温馨提示

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

评论

0/150

提交评论