【单片机到嵌入式之路】序列之7:操作系统基本概念你知道多少?

发布时间:2016-1-29 10:27    发布者:designapp
关键词: 嵌入式 , 操作系统
  本节我们将从实时操作系统来讲解,主要是从下面3个方面进行讲解:
  1.操作系统的分类
  2.实时操作系统
  3.嵌入式实时操作系统的基本概念
  一、操作系统分类:
  目前广泛使用的操作系统有三个:
  A.多道批处理操作系统
  B.分时操作系统
  C.实时操作系统
  


  这三种系统虽然都很重要,但是我们接触最多的是实时操作系统,所以下面重点将介绍实时操作系统。
  二、实时操作系统:
  1.实时操作系统具有如下特点:
  a) 异步的事件响应
  b) 切换时间和中断延迟时间确定
  c) 优先级中断和调度
  d) 抢占式调度
  e) 内存锁定
  f) 连续文件
  g) 同步
  实时操作系统总的来说是事件驱动的,能对来自外界的作用和信号在限定的时间范围内做出响应。它强调的是实时性、可靠性和灵活性,与实时应用软件相结合成为有机的整体起着核心作用,由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。
  从实时系统的应用特点来看实时操作系统可以分为两种:
  a.一般实时操作系统
  b.嵌入式实时操作系统
  2.实时操作系统的特点
  一般实时操作系统应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境
  嵌入式实时操作系统应用于实时性要求较高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是一致。嵌入式实时操作系统具有规模小(一般在几K~几十K内)、可固化使用实时性强(在毫秒或微秒数量级上)的特点。
  三、嵌入式实时操作系统的基本概念
  下面主要认识一下几个嵌入式实时操作系统的基本概念,这也是学习操作系统的基础。
  1、前后台系统:对基于芯片的开发来说,应用程序一般是一个无线循环,可称为前台系统或超循环系统。
  


  2、操作系统:是计算机中最基本的程序。操作系统负责计算机系统中全部软硬件资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,是用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。
  


  3、实时操作系统(RTOS):实时操作系统是一般在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中,每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。
  4、代码临界区:也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打入(这不是绝对的,如果中断不调用任何包含临界区的代码,也不访问任何临界区使用的共享资源,这个中断可能可以执行)。为确保临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立即开中断。
  5、资源:程序运行时可使用的软、硬件环境统称为资源。资源可以是输入设备。也可以是一个变量、一个结构或一个数组等。
  6、共享资源:可以被一个以上的任务使用的资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。
  


  7、任务:一个任务也称作一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。
  8、任务切换:当多任务内核决定运行另外的任务时,它保证正在运行任务的当前状态,即CPU寄存器中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自己的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的栈中重装如CPU的寄存器,并开始下一个任务的运行,这个过程就称任务切换。做任务切换所需要的时间取决于CPU有多少寄存器要入栈。
  9、内核:多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核提供必不可少的系统服务,如信号量、消息队列、延时等。
  10、调度:调度是内核的主要职责之一。调度就是决定该轮到哪个任务运行了。通过优先级来实行调度(非占先式还是占先式)。
  11、非占先式内核:要求每个任务自我放弃CPU的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,知道该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。
  12、占先式内核:当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。
  13、任务优先级:任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态。
  14、中断:中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到:
  A. 在前后台系统中,程序回到后台程序;
  B.对非占先式内核而言,程序回到被中断了的任务;
  C.对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。
  


  15、时钟节拍: 时钟节拍是特定的周期性中断。这个中断可以看作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。
                               
               
本文地址:https://www.eechina.com/thread-160537-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表