嵌入式操作系统讲稿.ppt
《嵌入式操作系统讲稿.ppt》由会员分享,可在线阅读,更多相关《嵌入式操作系统讲稿.ppt(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式操作系统第一页,讲稿共八十页哦操作系统的功能1)内存管理:通过对虚拟内存的设置使用户程序感觉不到内存的限制。2)进程管理:通过多进程的实现,使用户程序能做到“同时”运行。3)设备驱动:完成操作系统与硬件设备之间的交互作用,抽象具体的硬件。4)文件系统:文件系统是用户能方便地使用存储系统中的文件和目录,而不用关心它们所在的物理存储器的特性。第二页,讲稿共八十页哦操作系统提供的服务程序运行程序运行:一个程序的运行离不开操作系统的配合,其中包括命令和数据载入内存,I/O设备和文件系统的初始化等。I/O 设备访问设备访问:每种I/O设备的管理和使用都有自己的特点。而操作系统接管了这些工作,从而使
2、得用户在使用这些I/O设备的过程中会感觉更方便。文件访问文件访问:文件访问不仅需要熟悉相关I/O设备(磁盘驱动器等)的特点,而且还要熟悉相关的文件格式。第三页,讲稿共八十页哦操作系统提供的服务2系统访问系统访问:对于一个多用户或者网络操作系统而言,操作系统需要对用户系统访问权限做出相应的规定和处理。错误检测和反馈错误检测和反馈:操作系统应当提供相应的机制来检测运行时出现的问题,并且能对某些问题给出合理的处理或者报告用户。系统使用纪录系统使用纪录:在一些现代操作系统中,操作系统会对用户使用过程纪录相关信息。程序开发程序开发:一般操作系统都会提供丰富的API供程序员开发应用程序,并且很多程序编辑工
3、具,集成开发环境等等也都是通过操作系统提供的。第四页,讲稿共八十页哦操作系统发展史简单批处理系统多道程序设计批处理系统分时系统现代操作系统第五页,讲稿共八十页哦8.1嵌入式操作系统的发展嵌入式操作系统伴随着嵌入式系统的发展经历了三个比较明显的阶段,具体如下。无操作系统阶段简单操作系统阶段实时操作系统阶段第六页,讲稿共八十页哦8.1.1无操作系统阶段嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式出现,具有监测、伺服、设备指示等功能,通常应用于各类工业控制和飞机、导弹等武器装备中,一般没有操作系统的支持,只能通过汇编语言对系统进行直接控制,运行结束后再清除内存。这一阶段嵌入式系统的主
4、要特点是:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统使用简便、价格低廉,因而在工业控制领域中得到了非常广泛的应用。第七页,讲稿共八十页哦8.1.2简单操作系统阶段20世纪80年代,嵌入式系统的程序员也开始基于一些简单的操作系统开发嵌入式应用软件,大大缩短了开发周期、提高了开发效率。这一阶段嵌入式系统的主要特点是:出现了大量高性能、低功耗的嵌入式CPU(如Power PC等),各种简单的嵌入式操作系统开始出现并得到迅速发展。此时的嵌入式操作系统虽然还比较简单,但已初步具有了一定的兼容性和扩展性,内核精巧且效率高,主要用来控制系统负载以及监控应用程序的
5、运行。第八页,讲稿共八十页哦8.1.3实时操作系统阶段20世纪90年代,随着计算机网络、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步飞速发展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入式系统的主流。第九页,讲稿共八十页哦这一阶段嵌入式系统的主要特点是:操作系统的实时性得到了很大改善,已经能够运行在各种不同类型的微处理器上,具有高度的模块化和扩展性。此时的嵌入式操作系统已经具备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了大量的应用程序接口(API),从而使得应用软件的开发变得更
6、加简单。第十页,讲稿共八十页哦8.2软件编程的模式第十一页,讲稿共八十页哦8.2.1无操作系统的软件编程模式在没有操作系统的情况下,只能通过汇编语言或者特定的C语言对系统进行直接控制。由于没有操作系统对系统任务进行调度,应用程序必须直接面向硬件编程,并且合理安排CPU资源,使多任务系统能够合理运行。其编程模式可以归结为:“过程处理+死循环中断处理”模式,第十二页,讲稿共八十页哦死循环中断处理程序中断信号PC过程处理程序起始位置过程处理+死循环中断处理第十三页,讲稿共八十页哦过程处理过程处理主要完成系统的初始化操作,例如设置处理器堆栈指针、设置中断控制寄存器、设置I/O口的状态、初始外外围设备等
7、工作。使系统进入合适的工作状态、为系统进行下一步的工作做好准备。总的来讲,过程处理程序的特点是其在系统复位之后仅执行一次(针对任务而言),顺序执行,没有反复。第十四页,讲稿共八十页哦死循环死循环的作用是查询某些寄存器或者I/O口的工作状态,当得到希望的状态后,进一步执行相应的操作。然后继续进入循环状态,如此重复。死循环可以用来处理一些系统中实时性要求不太高的操作,例如读取键盘的数据等。死循环在系统软件中是必须的,从而保证了处理器能够响应外部中断信号并进入中断处理程序。没有死循环的程序最终会把处理器带入类似死机的状态。第十五页,讲稿共八十页哦中断处理中断处理程序是对系统中的各种中断做出相应的处理
8、,它主要用来处理系统中对实时性要求较高的任务,或者作为一些特殊用途,例如使用定时器中断作为系统多任务处理时的系统时钟的等。第十六页,讲稿共八十页哦无操作系统软件编程的例子例如,我们开发一个智能数字钟,它主要完成的任务有:在LED数码管上显示时间信息。完成对4x4键盘的控制。根据键盘的输入,可以调整数码管上显示的时钟值或者实现显示模式的切换,例如显示年份、月份、星期、时钟、上下午等。通过串行口接收其它设备发过来的数据,实现对时钟的调整。每到整点要进行要输出一个控制信号,控制整点报时设备。第十七页,讲稿共八十页哦无操作系统软件编程的例子针对这个系统的5项任务,可以这样安排:利用死循环来实现对4x4
9、键盘的控制,利用循环输出键盘扫描信号,并同时查询键盘的输入。利用定时器中断来实现时钟信号的发生。利用串口中断完成串口信号的接收工作。在定时器中断处理程序中,完成时钟增加的功能,由于其非常简单,耗时较短。在串口波特率不是太高的情况下可以把定时器中断的优先级设的高于串口中断的优先级,并且允许在串口中断时能够响应定时器中断。第十八页,讲稿共八十页哦第十九页,讲稿共八十页哦8.2.2有操作系统的编程模式在有操作系统的系统开发中,操作系统的基本功能就是完成一个死循环,并控制着CPU的使用权,任何需要CPU运行的任务都需要向操作系统提起申请,由操作系统来统一进行调度,安排时间来执行。第二十页,讲稿共八十页
10、哦第二十一页,讲稿共八十页哦操作系统的两个基本功能,即:(1)管理系统的硬件资源,高效组织和正确使用计算机的资源。(2)为上层应用程序提供应用程序开发接口(API:Application Program Interface),对系统任务进行合理调度、进行进度管理。第二十二页,讲稿共八十页哦使用操作系统带来的好处操作系统架起系统软件人员和硬件工程师之间的桥梁,使用操作系统带来了以下好处:(1)简化应用程序的编写。(2)简化多任务程序的编写。(3)OS对关键事件的处理在延迟时间上有保证。(4)提高系统的稳定性、可靠性。(5)基于操作系统提供的编程接口,使开发人员不需要昂贵的硬件调试工具(如ICE)
11、就可以进行应用程序的开发调试工作。第二十三页,讲稿共八十页哦使用操作系统也有一些缺点 (1)操作系统本身要占用相当的资源,不适合配置较低的嵌入式系统。(2)任务调度与切换要增加2%5%的CPU负荷。(3)增加产品额外的成本,许多商业OS软件都需要许可费用。(4)使用不成熟操作系统带来的系统不稳定性可能会带来较大的问题。第二十四页,讲稿共八十页哦8.3嵌入式操作系统的特点实时性可剪裁性可配置性可移植性可靠性有功耗管理功能第二十五页,讲稿共八十页哦实时性大多数嵌入式操作系统工作在对实时性要求很高的场合,主要对仪器设备的动作进行检测控制,这种动作具有严格的、机械的时序;而一般的桌面操作系统基本上是根
12、据人在键盘和鼠标发出的命令进行工作,人的动作和反应在时序上并不很严格。第二十六页,讲稿共八十页哦可剪裁性可剪裁性是嵌入式操作系统区别于桌面操作系统的重要特征,嵌入式操作系统是基于模块化设计的,开发人员可以根据应用的需要对操作系统进行配置、裁减构建自己需要的操作系统。第二十七页,讲稿共八十页哦可配置性可配置性是嵌入式操作系统的另一个重要特征。嵌入式系统是面向应用的,其应用需求、硬件配置、外围接口、实时性要求是千变万化的,这就要求一个好的嵌入式操作系统在设计时提供可配置性,允许用户根据具体的需求对其进行配置,例如配置实时时钟的周期等等。第二十八页,讲稿共八十页哦可移植性一个好的嵌入式操作系统应该可
13、以应用于不同的硬件平台。为了满足可移植性的要求,嵌入式操作系统在设计时,经常将代码分为公共部分和可移植部分,公共部分是和系统的硬件无关的,在移植到不同硬件平台时是保持不变的。可移植部分是与硬件平台密切相关的,嵌入式操作系统在设计时,会把与硬件平台相关的代码集中起来,用户在移植操作系统时只需修改这一部分代码即可,为编程人员提供便利。第二十九页,讲稿共八十页哦可靠性一般来说,嵌入式系统一旦开始运行就不需要人的过多干预。在这种条件下,要求负责系统管理的嵌入式操作系统具有较高的稳定性和可靠性。而普通操作系统则不具备这种特点。这导致桌面操作环境与嵌入式环境在设计思路上有重大的不同。第三十页,讲稿共八十页
14、哦桌面环境假定应用软件与操作系统相比而言是不可靠的,而嵌入式环境假定应用软件与操作系统一样可靠。运行于嵌入式环境中的RTOS要求应用软件具有与操作系统同样的可靠性,这种设计思路对应用开发人员提出了更高的要求,同时也要求操作系统自身足够开放。桌面操作系统比较庞大复杂,而嵌入式系统提供的资源有限,由于硬件的限制,嵌入式操作系统必须小巧简捷。对于系统来说,组成越简单、性能越可靠,组成越复杂,故障概率越大是一个常理。局部的不足会导致整体的缺陷,系统中任何部分的不可靠都会导致系统整体的不可靠。第三十一页,讲稿共八十页哦有功耗管理功能许多嵌入式系统应用于手持式、便携式等对功率消耗比较敏感的环境中,这就要求
15、相应的嵌入式操作系统要有一定的功耗管理功能。通过合理控制系统中各个硬件资源的工作状态(运行、休眠、等待等)来节约系统的能源消耗。第三十二页,讲稿共八十页哦8.4实时操作系统8.4.1实时和分时操作系统8.4.2实时操作系统的特点第三十三页,讲稿共八十页哦8.4.1实时和分时操作系统操作系统可以分为实时操作系统和分时操作系统两类。实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。实时操作系统的首要任务是调度一切可利用的资源完成实时控制任务;其次才着眼于提高计算机系统的使用效率,其重要特点是通过任务调度来满足对于重要事件在规定的时间内做出正确的响应。实时操作系统的重要特点是具有系统的可
16、确定性,即系统能对运行的最好和最坏情况做出精确的估计。第三十四页,讲稿共八十页哦8.4.2实时操作系统的特点实时嵌入式系统是为执行特定功能而设计的,可以严格地按时序执行功能。其最大的特征就是程序的执行具有确定性。第三十五页,讲稿共八十页哦实时系统的分类实时系统根据响应时间可以分为弱实时系统、一般实时系统和强实时系统三种。第三十六页,讲稿共八十页哦弱实时系统弱实时系统在设计时的宗旨是使各个任务运行得越快越好,但没有严格限定某一任务必须在多长时间内完成,弱实时系统更多关注的是程序运行结果的正确与否,以及系统安全性能等其它方面,对任务执行时间的要求相对来讲较为宽松,一般响应时间可以是数十秒或者更长。
17、第三十七页,讲稿共八十页哦一般实时系统一般实时系统是弱实时系统和强实时系统的一种折衷,它的响应时间可以在秒的数量级上,广泛应用于消费电子设备中。第三十八页,讲稿共八十页哦强实时系统强实时系统则要求各个任务不仅要保证执行过程和结果的正确性,同时还要保证在限定的时间内完成任务,响应时间通常要求在毫秒甚至微秒的数量级上,这对涉及到医疗、安全、军事的软硬件系统来说是至关重要的。第三十九页,讲稿共八十页哦软实时系统和硬实时系统根据任务的截止时间对操作系统的要求,实时系统又可以分为软实时系统(softreal-time-system)和硬实时系统(hardreal-time-system)。硬实时和软实时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 操作系统 讲稿
限制150内