嵌入式操作系统(1)

上传人:油条 文档编号:1272221 上传时间:2017-06-04 格式:PPT 页数:38 大小:511KB
返回 下载 相关 举报
嵌入式操作系统(1)_第1页
第1页 / 共38页
嵌入式操作系统(1)_第2页
第2页 / 共38页
嵌入式操作系统(1)_第3页
第3页 / 共38页
嵌入式操作系统(1)_第4页
第4页 / 共38页
嵌入式操作系统(1)_第5页
第5页 / 共38页
点击查看更多>>
资源描述

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

1、4.1 嵌入式操作系统,概述,计算机系统由硬件和软件组成,在发展初期没有操作系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源也愈来愈丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序又进一步发展形成了操作系统(Operating System)。发展到现在,广泛使用的有三种操作系统即多道批处理操作系统、分时操作系统以及实时操作系统。,在课程体系中的位置,参考书目,UC/OS-II源代码公开的实时嵌入式操作系统.邵贝贝. 中国电力出版社,2001 嵌入式实时操作系统UC/OS-II原理与应用.任哲 .北京航空航天大学出版社,2005,

2、引子,微机原理和单片机原理课程中还没有任何操作系统的观念;直接通过程序去存取8051运算器或是外围芯片上的寄存器或是内存内容并直接运算,然后将结果写回这些寄存器或是内存。(电子工程师)PC机上软件开发通过利用各种各样的函数调用来实现设计目的,不会直接去取得处理器或是外围芯片的寄存器状态来直接运算。(计算机工程师),在嵌入式系统设计中,常常要跟硬件打交道。由于现在的应用软件已经越来越复杂,要设计复杂的程序,需要一个操作系统来帮忙,特别是牵涉到需要有关于内存管理、多线程执行的管理、外围资源管理的程序,就非常需要一个操作系统来“统一”控制这些问题。,4.1 嵌入式操作系统,操作系统(Operatin

3、g System)是一种系统软件。在计算机硬件与计算机应用程序之间,通过提供应用程序接口(API),屏蔽计算机硬件工作的一些细节,从而使应用程序的设计人员得以在一个友好的平台上进行应用程序的设计和开发,大大提高了应用程序的开发效率。嵌入式操作系统:运行在嵌入式硬件平台上,对整个系统及其操作的部件、装置等资源进行统一协调、指挥和控制的系统软件。,操作系统的功能,对计算机硬件的封装和功能的扩充计算机资源的管理者 处理器的管理(中断的管理、处理器工作的调度)存储器存储空间的管理I/O设备的管理文件的管理网络和通信的管理,“实时性”的理解,实时性是一个相对的概念。计算机系统完成任务所需的时间可预知,并

4、且小于完成任务所要求的最低时限的系统。正确性:逻辑或功能正确(Logical or Functional Correctness)时间正确(Timing Correctness)指的是计算机的软件是否能充分发挥计算机硬件的潜力,从而使计算机解决某一个问题所需的时间在可能的情况下最短。设计实时系统之初,应该明确目标系统的实时要求是秒级的,还是毫秒、微秒级的,避免盲目追求高速度,造成浪费。,4.1 嵌入式操作系统,概述,时 间 先 后,4.1 嵌入式操作系统,概述,监控程序,操作系统,实时操作系统,分时操作系统,多道批处理操作系统,时 间 先 后,实时操作系统是我们介绍的重点,4.1 嵌入式操作系

5、统,实时操作系统的特点,IEEE 的实时UNIX分委会认为实时操作系统应具备以下的几点: 异步的事件响应 切换时间和中断延迟时间确定 优先级中断和调度 抢占式调度 内存锁定 连续文件 同步,4.1 嵌入式操作系统,实时操作系统的特点,总的来说实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。它强调的是实时性、可靠性和灵活性, 与实时应用软件相结合成为有机的整体起着核心作用, 由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。 从实时系统的应用特点来看实时操作系统可以分为两种:一般实时操作系统和嵌入式实时操作系统。,4.1 嵌入式操作系统,实时操作

6、系统的特点,一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境。 嵌入式实时操作系统应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致。嵌入式实时操作系统具有规模小(一般在几K几十K 内)、可固化使用实时性强(在毫秒或微秒数量级上)的特点 。,4.1 嵌入式操作系统,基本概念,对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。 很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等。在另外一些基于微处理器应用中,从省电的角度出

7、发,平时微处理器处在停机状态,所有事都靠中断服务来完成。,前后台系统,基本概念,中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。,前后台系统,4.1 嵌入式操作系统,基本概念,操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。,操作系统,4.1 嵌入

8、式操作系统,基本概念,实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中, 每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。,实时操作系统(RTOS),4.1 嵌入式操作系统,基本概念,代码的临界区也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打入(这不是绝对的,如果中断不调用任何包含临界区的代码,也不访问任何临界区使用

9、的共享资源,这个中断可能可以执行)。为确保临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立即开中断。,代码的临界区,4.1 嵌入式操作系统,基本概念,程序运行时可使用的软、硬件环境统称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器。资源也可以是一个变量、一个结构或一个数组等。,资源,4.1 嵌入式操作系统,基本概念,可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。,共享资源,访问共享资源之前申请信号量,其它任务访问受阻而不能使用共享资源,得到允许后,才能使用共享资源,4.1 嵌入式操作系统

10、,基本概念,一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。,任务,4.1 嵌入式操作系统,基本概念,当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即CPU寄存器中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自已的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的栈中重新装入CPU的寄存器,并开始下一个任务的运行。这个过程就称为任务切换。这个过程增加了应

11、用程序的额外负荷。CPU的内部寄存器越多,额外负荷就越重。做任务切换所需要的时间取决于CPU有多少寄存器要入栈。,任务切换,4.1 嵌入式操作系统,基本概念,多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如25的CPU运行时间、RAM和ROM等。 内核提供必不可少的系统服务,如信号量、消息队列、延时等。,内核,4.1 嵌入式操作系统,基本概念,调度是内核的主要职责之一。调度就是决定该轮到哪

12、个任务运行了。多数实时内核是基于优先级调度法的。每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。,调度,4.1 嵌入式操作系统,基本概念,非占先式内核要求每个任务自我放弃CPU 的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃

13、CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。,非占先式内核,4.1 嵌入式操作系统,基本概念,当系统响应时间很重要时,要使用占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。,占先式内核,4.1 嵌入式操作系统,基本概念,任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级

14、应越高,越容易被调度而进入运行态。,任务优先级,4.1 嵌入式操作系统,基本概念,中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到:1. 在前后台系统中,程序回到后台程序;2. 对非占先式内核而言,程序回到被中断了的任务;3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。,中断,4.1 嵌入式操作系统,基本概念,中断,4.1 嵌入式操作系统,基本概念,时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间

15、隔取决于不同应用,一般在10ms到200ms之间。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。,时钟节拍,4.1 嵌入式操作系统,使用实时操作系统的必要性,嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。使用实时操作系统主要有以下几个因素:嵌入式实时操作系统提高了系统的可靠性。 提高了开发效率,缩短了开发周期。 嵌入式实时操作系统充分发挥了32位CP

16、U的多任务潜力。,4.1 嵌入式操作系统,实时操作系统的优缺点,优点:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。缺点:使用嵌入式实时操作系统还需要额外的ROM/RAM开销,25%的CPU额外负荷,以及内核的费用。,uClinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码。uClinux从Linux2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器,例如ARM7TDMI。它通常用于具有很少内存或Flash的嵌入式系统。它保留了Linux的大部分优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

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