嵌入式实时操作系统UCOSII(邵贝贝)--笔记之实时系统概念(第二章)

本文介绍了实时系统的特点,区分了软硬实时系统的概念,并探讨了实时系统在嵌入式领域的应用。文章详细阐述了前后台系统、任务的临界段、资源管理、多任务、任务切换、内核、调度、不可剥夺型和可剥夺型内核的工作原理。同时,还讨论了可重入性、时间片轮番调度、任务优先级以及优先级反转问题,对于理解和设计实时嵌入式系统具有指导意义。
摘要由CSDN通过智能技术生成

2、实时系统概念

实时系统的特点是,如果逻辑和时序出现偏差将会引起严重后果的系统。有两种类型的
实时系统:软实时系统和硬实时系统。在软实时系统中系统的宗旨是使各个任务运行得越快
越好,并不要求限定某一任务必须在多长时间内完成。
  在硬实时系统中,各任务不仅要执行无误而且要做到准时。大多数实时系统是二者的结
合。实时系统的应用涵盖广泛的领域,而多数实时系统又是嵌入式的。这意味着计算机建在
系统内部,用户看不到有个计算机在系统里面。

实时应用软件的设计一般比非实时应用软件设计难一些

 

2.0  前后台系统  (Foreground/Background System)

应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,
这部分可以看成后台行为(background)。中断服务程序处理异步事件,这部分可以看成前台
行为(foreground)。后台也可以叫做任务级。前台也叫中断级。时间相关性很强的关键操作
(Critical operation)一定是靠中断服务来保证的。因为中断服务提供的信息一直要等到后台程
序走到该处理这个信息这一步时才能得到处理,这种系统在处理信息的及时性上,比实际可
以做到的要差。这个指标称作任务级响应时间。最坏情况下的任务级响应时间取决于整个循
环的执行时间。因为循环的执行时间不是常数,程序经过某一特定部分的准确时间也是不能
确定的。进而,如果程序修改了,循环的时序也会受到影响
  很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等。在另外
一些基于微处理器的应用中,从省电的角度出发,平时微处理器处在停机状态(halt),所有
的事都靠中断服务来完成。

2.1  代码的临界段

  代码的临界段也称为临界区,指处理时不可分割的代码。一旦这部分代码开始执行,则
不允许任何中断打入
。为确保临界段代码的执行,在进入临界段之前要关中断,而临界段代
码执行完以后要立即开中断。(也就是一段只要开始执行就必须执行完的代码,中间不可停止)

2.2   资源

  任何为任务所占用的实体都可称为资源。资源可以是输入输出设备,例如打印机、键盘、
显示器,资源也可以是一个变量,一个结构或一个数组等

2.3  共享资源

  可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共
享资源打交道时,必须独占该资源。这叫做互斥
(mutual exclusion)。在2.18节“互斥”中,
将对技术上如何保证互斥条件做进一步讨论。

2.4  多任务

多任务运行的实现实际上是靠CPU(中央处理单元)在许多任务之间转换、调度。CPU

只有一个,轮番服务于一系列任务中的某一个(CPU在某一时间使能执行一个程序)。

多任务运行很像前后台系统,但后台任务有
多个。多任务运行使CPU的利用率得到最大的发挥,并使应用程序模块化。在实时应用中,
多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使用多任务,应用程序
将更容易设计与维护。

2.5  任务

一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全只属该程
序自己(这个意思是从任务角度出发,任务的每次执行都是独占CPU的)。
实时应用

程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应
用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空
(如图2.2 所示)。

  典型地、每个任务都是一个无限的循环。每个任务都处在以下5种状态之一的状态下,
这5种状态是休眠态,就绪态、运行态、挂起态(等待某一事件发生)和被中断态(参见图2.3)  
休眠态相当于该任务驻留在内存中,但并不被多任务内核所调度。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值