本节咱们将从实时操作体系来解说,首要是从下面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之间。时钟的节拍式中止使得内核能够将使命延时若干个整数时钟节拍,以及当使命等候事情产生时,供给等候超时的根据。时钟节拍率越快,体系的额定开支就越大。