嵌入式操作系统复习_第1页
嵌入式操作系统复习_第2页
嵌入式操作系统复习_第3页
嵌入式操作系统复习_第4页
嵌入式操作系统复习_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、yC/OS-II口Micrium公司产品口公开源码(教育免费,商业收费)口实时操作系统口基于优先级抢占式多任务调度口功能不完善:多任务管理和简单内存管理口内核精简:几KB几十KB口可裁减性好、可移植性好口最新版本2.86口工具链:GCC,KeilMDK-ARM,IAREWARM等第一章操作系统:一组控制和管理计算机软、硬件资源,为用户提供便捷使用计算机的程序的集合是连接硬件和软件的桥梁作用:OS作为用户与计算机之间的接口;OS作为计算机系统资源的管理者;对资源的管理体现在:(1)处理机管理用于分配和控制处理机(2)存储器管理主要负责内存的分配和回收(3)I/O设备管理一一负责I/O设备的分配与

2、操纵(4)文件管理负责文件的存取、共享和保护。特点:并发性、共享性、虚拟性和不确定性(异步);构成:任务管理、存储器管理、设备管理、文件管理、用户接口1、什么是嵌入式操作系统嵌入式操作系统(EOS)一种支持嵌入式系统应用的操作系统软件,是嵌入式系统极为重要的组成部分通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面等具有通用操作系统的基本特点能够有效管理越来越复杂的系统资源能够把硬件虚拟化,简化的驱动程序移植和维护能够提供库函数、驱动程序、工具集以及应用程序2、嵌入式操作系统的优缺点口优点(利大于弊)程序的设计和扩展变得容易,移植性好任务分析成模块,简化应用程序的设计

3、:对实时性要求苛刻的事件得到了快速、可靠的处理通过有效的系统服务,使得系统资源得到更好的利用口缺点:额外的存储开销25%的CPU额外负荷内核的费用3、嵌入式操作系统的构成1)初始化工作应用初始化:初始化任务的运行环境请求分配内存c)创建任务d)创建队列e)创建管道f)创建事件组g)创建信号量h)注册中断处理程序2)多任务管理任务管理是嵌入式操作系统的核心a)任务控制例程b)任务调度任务调度策略任务状态设置e)任务通信Ifll.dJll.即血1巾中断IKIiudincnlpC曲制Df川iiilfijll畑耀jlhnriVilBT.诫加巒nJ1ii汗讪I册贸QCtfilnriflnSIntEcii

4、O随网a诵驗畑tQ假r训fifubiFj:mII电陆n険11)i.hIrHklr*II花liiidjl如欣IulMim-ictl)3)内存管理I/O管理5)文件系统图形用户接口备注:操作系统内核包括:任务管理、内存管理4、嵌入式系统的组成口嵌入式系统一般由嵌入式硬件和软件组成口硬件以微处理器为核心集成存储器和系统专用的输入/输出设备口软件包括:初始化代码及驱动、嵌入式操作系统和应用程序等,这些软件有机地结合在一起,形成系统特定的一体化软件。5、嵌入式操作系统与通用操作系统的区别口嵌入式系统是不同于通用计算机系统的一种专用计算机系统口不以独立的物理设备的形态出现,即:它没有一个统一的外观,它的部

5、件根据主体设备以及应用的需要,嵌入在该设备的内部,发挥着运算、处理、存储以及控制等作用。书本P7区别体现在:地址空间内存管理应用方式课件:通用计算机与嵌入式系统对比嵌入述系统通用I:卜那机棗铳外观迪特,面向隔用.各不相同具有台式机、笔记丰尊标准外观组腔面向应式越处浬器总践和件部摆1多集咸在处理器内部,戟件与谨件修密集成在一起通用处理蜡、标准总线利外设软科和硬杵相对独立安轅押載话行方式基于固定谨件”口动话行.不可慨及用户可艮任意选择运行或慘改生成启再运厅卄屋平合采用交叉开雄方式开境平白一股采用通用计灯桝幵发平白足通用计萍机二执开发性一般不能再啟编捏开发应用程序可亜新编制应用稈序网定.碗用软件与操

6、作至城建合悴在累轨中运行爭种爭样与彗系统柑互独6、嵌入式系统的一些特点嵌入式操作系统在嵌入式系统中并不是必须的1、嵌入式系统通常是形式多样、面向特定应用的一般用于特定的任务,其硬件和软件都必须高效率地设计,量体裁衣、去除冗余,而通用计算机则是一个通用的计算平台。它通常都具有低功耗、体积小、集成度高等特点,能够把通用微处理器中许多由板卡完成的任务集成在芯片内部。嵌入式软件是应用程序和操作系统两种软件的一体化程序。2、嵌入式系统得到多种类型的处理器和处理器体系结构的支持通用计算机采用少数的处理器类型和体系结构,而且主要掌握在少数大公司手里。嵌入式系统可采用多种类型的处理器和处理器体系结构。在嵌入式

7、微处理器产业链上,IP设计、面向应用的特定嵌入式微处理器的设计、芯片的制造已相成巨大的产业。大家分工协作,形成多赢模式。有上千种的嵌入式微处理器和几十种嵌入式微处理器体系结构可以选择。3、嵌入式系统通常极其关注成本4、嵌入式系统有实时性和可靠性的要求一方面大多数实时系统都是嵌入式系统另一方面嵌入式系统多数有实时性的要求,软件一般是固化运行或直接加载到内存中运行,具有快速启动的功能。并对实时的强度要求各不一样,可分为硬实时和软实时。嵌入式系统一般要求具有出错处理和自动复位功能,特别是对于一些在极端环境下运行的嵌入式系统而言,其可靠性设计尤其重要。在大多数嵌入式系统的软件中一般都包括一些机制,比如

8、硬件的看门狗定时器,软件的内存保护和重启动机制。5、嵌入式系统使用的操作系统一般是适应多种处理器、可剪裁、轻量型、实时可靠、可固化的嵌入式操作系统由于嵌入式系统应用的特点,像嵌入式微处理器一样,嵌入式操作系统也是多姿多彩的。大多数商业嵌入式操作系统可同时支持不同种类的嵌入式微处理器。可根据应用的情况进行剪裁、配置。嵌入式操作系统规模小,所需的资源有限如内核规模在几十KB。一般包括一个实时内核,其调度算法一般采用基于优先级的可抢占的调度算法。目前一些操作系统还提供了HA(HighAvailable)机制。嵌入式操作系统能与应用软件一样固化运行。6、嵌入式系统开发需要专门工具和特殊方法a)多数嵌入

9、式系统开发意味着软件与硬件的并行设计和开发,其开发过程一般分为几个阶段:1)产品定义2)软件与硬件设计与实现3)软件与硬件集成产品测试与发布5)维护与升级口由于嵌入式系统资源有限,一般不具备自主开发能力,产品发布后用户通常也不能对其中的软件进行修改,必须有一套专门的开发环境。口该开发环境包括专门的开发工具(包括设计、编译、调试、测试等工具),采用交叉开发的方式进行7、嵌入式操作系统的特点P61)可裁剪性2)强实时性3)可移植性4)可扩展性8、“C/OS-II的特点有源代码源代码公开的实时操作系统可移植性MC/OS-II的源代码使用一致性很强的ANSIC编写,与微处理器相关的代码使用汇编语言编写

10、的。3)可固化只要是具备合适的系列软件工具,就可以将MC/OS-II嵌入到产品中作为产品的一部分可裁剪用户可以在应用程序中通过语句#defineconstants来定义所需的pC/OS-II功能模块,以减少不必要的存储空间的开支可剥夺性pC/OS-II是完全可剥夺的实时型内核,即pC/OS-II总是运行就绪条件下优先级最高的任务多任务pC/OS-II可以管理64个任务,支持56个用户任务,8个系统保留任务。赋予每个任务的优先级必须是不同的,这意味着pC/OS-II不支持时间片轮转调度算法可确定性绝大多数pC/OS-II的函数调用和服务执行时间具有可确定性。用户可以知道执行了多长时间任务栈pC/

11、OS-II的每个任务都有自己的任务栈,它允许每个任务有不同的栈空间系统服务pC/OS-II提供很多系统服务,如信号量、事件标志、消息邮箱、消息队列、块儿大小固定的内存申请与释放及时间管理函数等。中断管理中断可以使正在执行的任务暂时挂起。如果pC/OS-II优先级更高的任务被该中断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌套的数量可以达到255层。9、嵌入式系统、嵌入式操作系统的区别第二章1、嵌入式软件的交叉开发环境口交叉开发环境是指用于嵌入式软件开发的所有工具软件的集合,一般包括文本编辑器、交叉编译器、交叉调试器、仿真器、下载器等工具。口交叉开发环境由宿主机和目标机组成,宿主机

12、与目标机之间在物理连接的基础上建立起逻辑连接。宿主机(Host):是用于开发嵌入式系统的计算机。一般为PC机(或者工作站),具备丰富的软硬件资源,为嵌入式软件的开发提供全过程支持。目标机(Target):即所开发的嵌入式系统,是嵌入式软件的运行环境,其硬件软件是为特定应用定制的。在开发过程中,目标机端需接收和执行宿主机发出的各种命令如设置断点、读内存、写内存等,将结果返回给宿主机,配合宿主机各方面的工作。口物理连接和逻辑连接:物理连接是指宿主机与目标机通过物理线路连接在一起,连接方式主要有三种:串口、以太口和OCD(OnChipDebug)方式如JTAG、BDM等。物理连接是逻辑连接的基础。逻

13、辑连接指宿主机与目标机间按某种通信协议建立起来的通信连接,目前逐步形成了一些通信协议的标准。2、交叉编译技术把在宿主机上编写的高级语言程序编译成可以运行在目标机上的代码,即在宿主机上能够编译生成另一种CPU(嵌入式微处理器)上的二进制程序。3、具体有哪些调试技术,有哪些特征、区别口交叉调试器:是指调试程序和被调试程序运行在不同机器上的调试器,调试器通过某种方式能控制目标机上被调试程序的运行方式,并且通过调试器能查看和修改目标机上的内存、寄存器以及被调试程序中的变量等。口非交叉调试:是指仿真开发方式,用软件模拟目标机硬件资源环境来进行调试软件。交叉调试非交叉调就调试誰和被调试稈序运疔在不同的计算

14、机上调试器和被调试程序运行在同-台计算机上可独立运行,无需操作系统支持需要操柞系统的支持被调试程序的装载由调试器完成被调试程序的裝载由专门的Loader程序完成需妾通过外部通信的方式来控制被调试程序不需要通过外部通信的方式来控制被调试程序可以直接调试不同指令集的稈序只能頁接阖试相同指令樂的程怦交叉调试方式CrashandBurnRomMonitorSimulator方式(非交叉)交叉开发的缺点:硬件支持必须有目标机或评估板易使用性普通编程人员不熟悉廉价性成本高可移植性、可扩展性不高团队开发较难开发周期较长第三章1、任务指拥有所有CPU资源的简单程序。实时应用程序的设计与实现过程,主要包括如何把

15、问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有一套CPU寄存器和栈空间2、任务的管理典型的实时系统中,每个任务都是一个无限的循环。每时每刻每个任务都处在以下5种状态之一,这5种状态是休眠态,就绪态、运行态、挂起态和被中断态。任务的五个状态睡眠态、就绪态、运行态、等待态、中断服务状态。任务状态的转换。口任务控制块OS_tcb,主要包括:任务堆栈指针状态:优先级任务表位置任务链表指针等口所有的任务控制块分为两条链表空闲链表使用链表任务切换及上下文切换的区别,任务切换是否包含上下文切换任务调度的方式剥夺和非剥夺什么是剥夺什么是非剥夺什么是可重入代码模块与模块是否共

16、享,如果有共享则要考虑执行顺序优先级反转是什么,如何解决优先级反转同步、互斥(消息邮箱、信号量之类的,在后面章节)第四章MC/OS-II的优缺点,如何运行,有哪些特点、实时性强强在哪里MC/OS-II的结构分成几块(书中有图)具体函数的调用与应用相关的(配置文件、?)整个内核结构要清楚重点:MC/OS-II里面的任务队列如何刮泥、如何调度、就绪如何实现,如何查找优先级,如何删除行、列入队、出队、选择最高优先级具体任务切换的工作流程中断,具体函数的使用嵌套中断如何实现中断服务程序中断处理的流程MC/OS-II的初始化过程,必须做哪些工作(任务控制块、存储管理模块等、还有变量等的初始化任务的建立、

17、空闲任务实时操作系统中的任务调度算法图、谁先执行谁后执行(执行时间/周期时间)W1则说明是可调度的第五章有关任务管理所涉及到的接口,基本的应用创建一个任务首先要MC/OS-II有哪些状态任务间的通信问题,所有的同步以事件为基础如何从邮箱中如何建立消息队列、如何生成消息队列互斥信号量如何解决优先级反转如何解决优先级反转第七章内存管理采用什么方式具体的数据结构时钟的延时操作第二次课:重点:作业:1、画出uC/OS-II中的中断处理过程图。2、简述uC/OS-II中的中断服务子程序的功能。3、列举5项可以提高嵌入式系统实时效果的内核技术。4、简述运用查表法将某就绪的任务插入就绪任务表。比如任务优先级为295、简述运用查表法选出优先级最高的任务的步骤。6、简述将某就绪的任务移出就绪任务表。比如任务优先级为37。习题:口请运用相关算法,实现以下操作:1、从等待任务列表中删除一个优先级为26任务2、在等待任务列表中査找最高优先级的任务(假定当前OSEventGrp的值是112)3、将一个任务插入到事件的等待任务列表中

温馨提示

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

评论

0/150

提交评论