实时操作系统及其应用 点击:2954 | 回复:0



中国工控网

    
  • 精华:141帖
  • 求助:0帖
  • 帖子:163帖 | 91回
  • 年度积分:0
  • 历史总积分:1543
  • 注册:2020年3月27日
发表于:2006-07-04 13:48:00
楼主
陈冠玲女士,上海第二工业大学电子与电气工程学院高级工程师;毛炼成先生,高级工程师。

关键词: 实时操作系统 RTOS



一 实时操作系统基本概念

1. 操作系统的分类

  (1)顺序执行系统:即系统内只含一个运行程序,它独占CPU时间,按语句顺序执行该程序,直至执行完成,另一程序才能启动运行。DOS操作系统就属于这种系统。
  (2)分时操作系统:系统内同时可有多道程序运行。所谓同时,只是从宏观上说;实际上系统把CPU的时间按顺序分成若干片,每个时间片内执行不同的程序。这类系统支持多用户,当今广泛用于商业、金融领域,如UNIX操作系统。
  (3)实时操作系统(RTOS):系统内同时有多道程序运行。每道程序各有不同的优先级。操作系统按事件触发使程序运行。多个事件发生时,系统按优先级高低确定哪道程序在此时此刻占有CPU,以保证优先级高的事件实时信息及时被采集。RTOS是操作系统的一个分支,也是最复杂的一个分支。它与一般商用多任务OS如Unix、Windows等有共同的一面,也有不同的一面。对于商用多任务OS,其目的是方便用户管理计算机资源,追求系统资源最大利用率和公平对待所有的系统请求,一般称之为通用操作系统(GOS);而RTOS追求的是实时性、可确定性、可靠性。

2. RTOS的应用形式

  (1)集中式RTOS:它是指基本运行环境为一台计算机的RTOS。这种系统应用广泛,因为它具备了实时操作系统最基本的实时多任务调度功能、I/O管理功能、同时提供了应用程序开发环境。对现场的数据采集与控制是通过主机总线上的PIO控制器实现的,如图1所示。

  (2)网络型RTOS:它保持了集中式系统的实时、可靠特性,增加了网络驱动与通信的能力、负载平衡调整能力及容错能力,从而使系统不仅功能更强,可靠性也更好。 
  (3)嵌入式RTOS:嵌入式是指将操作系统固化到存储器中。含有操作系统的芯片安装到专用装置中,支持应用程序运行,便形成了智能化设备。嵌入式操作系统固化后,通常是只读程序,因此在运行中可靠性非常高。在嵌入式系统下运行的应用程序往往需要另一种开发环境来开发调试,这一开发环境能仿真应用环境运行。近些年来,电子技术中存储器技术、CPU技术发展非常快,软件的兼容性也越来越好,为嵌入式系统的发展及其应用软件开发创造了有利的物质条件。开发环境中软硬件通用性好,使得现在的嵌入式系统和应用可设计得越来越大,功能越来越全,用途越来越广泛,而成本增加甚少。

二 实时操作系统的实现

1. 实时性的实现

  当硬件环境一定时,系统的实时性主要取决于系统内中断响应方式和任务调度算法。包含:中断及中断处理、任务调度算法。后者主要有优先级加轮询调度方法、非抢占式优先级调度的方法和按优先级抢占的调度方法等。

2. 可靠性的实现

  可靠性通过一下方法实现:双机热备份结构,形成全容错系统;部分硬件冗余结构,改善系统可靠性;高强度全钢抗震防磁结构,这是当前工控机主流结构;集散式系统,这是保证系统可靠的最佳方案。

3. RTOS的评价指标

  评价一个RTOS一般可以从任务调度、内存管理、任务通信、内存开销、任务切换时间、最大中断禁止时间等几个方面来衡量。
  a. 任务调度机制
  RTOS的实时性和多任务能力在很大程度上取决于它的任务调度机制。从调度策略上来讲,分优先级调度策略和时间片轮转调度策略;从调度方式讲,分可抢占、不可抢占、选择可抢占调度方式;从时间片来看,分固定与可变时间片论转。单纯从基于优先级的抢占式调度方式而言,又存在多种优先级计算方法。
  b. 内存管理
  分实模式与保护模式,主要对Intelx86而言有以下三个方面:
  (1)最小内存开销:RTOS的设计过程中,最小内存开销是一个较重要的指标,这是因为实时系统,特别是包括消费类电子产品在内的嵌入式系统中,由于基于降低成本的考虑,其内存的配置一般都不大,而在这有限的空间内不仅要装载实时操作系统,还要装载用户程序。因此,在RTOS的设计中,其占用内存大小是一个很重要的指标,这是RTOS设计与其他操作系统设计的明显区别之一。
  (2)最大中断禁止时间:当RTOS运行在核态或执行某些系统调用的时候,是不会因为外部中断的到来而中断执行的。只有当RTOS重新回到用户状态时才响应外部中断请求,这一过程所需的最大时间就是最大中断禁止时间。
  (3)任务切换时间:当由于某种原因使一个任务退出运行时,RTOS保存它的运行现场信息、插入相应队列、并依据一定的调度算法重新选择一个任务使之投入运行,这一过程所需时间称为任务切换时间。
  上述几项中,最大中断时间和任务切换时间是评价一个RTOS实时性最重要的两个技术指标。

4. RTOS的市场现状

  在所有嵌入式系统开发商中,在其产品中仍有一半在使用自己写的RTOS,也就是称之为in-house的RTOS。这可能是有很多方面的原因:费用约束、产品特殊的技术要求或公司的政策等等。当然,也可能应用过于简单,仅需求很少的的一点操作系统服务。在这种情况下,更简单的结构,比如一个主程序可能就足够了。
  另外的一半则是在使用商用嵌入式RTOS。目前市场上的嵌入式RTOS提供厂家超过100多家。其中比较出色的的有:QNX、Lynx、Concurrent、VxWorks、Vrtx、Psos、eCos等。面对如此众多的商用产品,如何做出选择就成为一项很复杂的工作。

5. 选择RTOS的准则

  (1)是否支持目标硬件平台以及与其他开发工具能否相互关系:一个工程师选择RTOS时,如果不考虑其余与之相关的工具是不行的。微处理器、在线仿真器(ICE)、编译器、汇编器、链接器、调试器以及模拟器,这些工具都这样或那样地影响着操作系统。
  (2)能否满足应用的关键要求:每一个应用开发都有差异,要求满足不同的性能指标。因此在选择实时操作系统时应从以下几方面考虑:操作系统本身的性能,包括:支持的优先级数、调度机制、多任务机制、保证应用功能的前提下内核最小可裁减大小、中断响应时间等,这些性能要以第三方测试为依据;网络栈、设备和驱动程序支持、图形开发包和软件组件;开发工具。包括编辑、编译、联接、调试工具、编译语言支持,是否支持动态下载、调试途径、网络、串口调试方式,操作系统内核配置工具等;第三方工具支持程度;标准兼容性,这将影响应用的可移植性,进而影响到开发周期和成本;另外还要考虑应用行业所要求的安全标准,有些RTOS供应商已经开始认证他们的产品;价格、技术支持和声誉。

6. RTOS产品分析

  过去很多嵌入式系统不是一个操作系统,或者是提供商的专有核心,或者是DOS操作系统的扩展。显然这些方法并不能适应今天嵌入式系统开发的要求!现在的一些商业实时操作系统,尽管提供了很少的核心和多任务开发环境,但性能并不理想,也不符合现在实时嵌入式市场的需求。
  因此,人们把目光投向了通用操作系统(例如Windows、Solaris、Linux),希望把它们“改造”为RTOS。通常这些操作系统功能强大,结构复杂。易于软件的二次开发,实用性强,并且提供编程人员熟悉的API。此外,这些操作系统也提供了一些对实时软件开发的支持。然而,这些操作系统用于嵌入式系统的开发还存在不足。嵌入式系统要求具备高可靠性,满足应用需求的可剪裁性,以及比通用操作系统要求更高的实时性。
  与此对应,目前,市场上销售的RTOS产品大致有三大类
  (1)从UNIX发展起来的RTOS:这类产品非常之多,典型的如:Lynx实时系统公司的LynxOS、QNX软件系统有限公司的QNX以及两种具有代表性的实时Linux——新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux,等等。
  (2)从 Windows操作系统发展起来的RTOS系统:这类产品不多,主要有Windows CE以及基于Windows NT/2000 的HyperKernel软件。
  (3)其他RTOS:这类RTOS一般不是从通用操作系统发展而来的,而是自成体系。
  综上所述,RTOS主要是用于计算机实时系统中,除具有通用操作系统的特性和功能外,其主要特点是实时性强。它在任何时刻,总是保证优先级最高的任务占用CPU。系统对现场不停机地检测,一旦有事件发生,系统能即刻作出相应的处理。这除了由硬件质量作为基本保证外,主要由RTOS内部的事件驱动方式及任务调度来决定。



热门招聘
相关主题

官方公众号

智造工程师