现在的位置: 首页 > 综合 > 正文

RTOS 杂谈

2013年08月23日 ⁄ 综合 ⁄ 共 2934字 ⁄ 字号 评论关闭

1980年,美国Ready System公司推出了实时操作系统VRTX/OS算起,如今已有30年的历史,RTOS产品也是繁花似锦。20世纪80年代,除VRTX外,还有IPI公司的MTOS和ISI公司的PSOS。到了20世纪90年代后,由于现代操作系统的思想运用,诞生了很多如今都在广泛应用的实时操作系统(RTOS),如大家熟知的VxWorks、μC/OS、QNX、Lynx、eCOS等。21世纪,由于商业领域的运作和市场的要求,RTOS产品开始兼并整合,一些产品被兼并淘汰,如PSOS被Windriver收购,主要功能特点合并到VxWorks中;另外一些产品则壮大成熟,如商业上极其成功的VxWorks,和几乎所有MCU都可以使用的μC/OS-II,现在已经发展到了μC/OS-III。当然也出现一些后起之秀,如中国人自己研发的Delta OS、RT-thread和开源世界的FreeRTOS。
RTOS大都是以应用为主的可定制的操作系统。软件模块可被高度的裁剪、定制,以适应各种不同的应用,不同的硬件条件,同时在有限的资源下实现性能的最优化。这是传统的桌面操作系统、服务器操作系统所不及的。进入20世纪90年代后,RTOS在嵌入式系统设计中的主导地位已经形成。它的发展有以下特点:
1.    新处理器大量运用,要求RTOS易于移植,以便在短时间内支持不同的处理器;消费类电子产品对实时性要求并不高,如掌上电脑、手机、机顶盒等,但对软件的可维护性、扩展性、易用性、交互性有比较高的要求,使得WinCE、Linux和uCLinux等软实时操作系统广泛地被应用到消费类电子产品中;
2.    由于电信设备、控制系统的高可靠性,对RTOS提出了新的要求,如双机热备份、线程迁移、使用MMU保护RTOS内核等;
3.    芯片制造技术的提升,多核处理器大量运用,要求RTOS支持单芯片多处理器(Chip-Multiprocessor,CMP)、对称多处理器(Symmetric Multiprocessor,SMP)、非对称多处理器(Asymmetric Multiprocessor,ASMP);
4.    系统级别的应用越来越多,要求系统支持各种各样的协议栈、文件系统、Web服务器、数据库、图形界面,甚至支持Java虚拟机和脚本语言;
5.    开放源码已经成为大势所趋,一些商业老牌的RTOS已经向授权客户开发源码,如VxWorks、QNX等。
6.    RTOS一般都有一套自己的集成开发环境,便于操作系统在实际应用中的定制和应用开发工作,也有采用GNU工具链或第三方工具链的RTOS产品,但工具链大都也经过整合加工,变得更加易用。
嵌入式开发不同于PC平台的开发,它首先面临着软件与硬件同时成熟的风险。同时市场的迫切需求,使得嵌入式产品的开发周期越来越短。虽然新开发方法、新工具的应用提高了开发效率,对开发人员来说,产品成熟的压力和风险依然丝毫未减;再次它面临着硬件资源、系统性能、产品成本的平衡问题,市场的竞争使得嵌入式系统追求最佳的性价比,这更增加了系统设计的难度;最后由于摩尔定律的支配,高性能MCU价格降低并广泛使用,使得前后台系统不再风光一时,系统的可维护性、伸缩性、可移植性等问题越来越突出。要很好地解决这些问题,不得不求助操作系统或一些成熟的中间件。
嵌入式系统级的应用使得开发方面与PC平台差距越来越小,应用层开发和调试难度也逐渐减小。但同时系统级别的应用必然需要牺牲一些效率;同时,操作系统和中间件不可能覆盖所有的硬件,这就要求驱动底层人员不仅熟悉具体的硬件,还要了解操作系统或中间件的工作机制,对底层开发人员要求变高。
中国正在如火如荼的进行一场空前的系统化工程——物联网(The Internet of things)。顾名思义,物联网就是“物物相连的互联网”。有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物体与物体之间,进行信息交换和通信。从而实现比传统的互联网本身更广泛的价值。和传统的互联网相比,物联网有鲜明的特征:
1.    它是各种感知技术的广泛应用。物联网上部署了海量的多种类型传感器,每个传感器都是一个信息源,不同类别的传感器所捕获的信息内容和信息格式不同。传感器获得的数据具有实时性,按一定频率周期性地采集环境信息,不断更新数据;
2.    它是一种建立在互联网上的网络。物联网技术的重要基础和核心仍旧是互联网,通过各种有线和无线网络与互联网融合,将物体的信息实时准确地传递出去。在物联网上,传感器定时采集的数据信息需要通过网络传输。由于其数量极其庞大,形成了海量信息。在传输过程中,为了保障数据的正确性、可靠性和实时性,必须适应各种异构网络和协议;
3.    物联网不仅仅提供了传感器的连接,其本身也具有智能处理的能力,能够对物体实施智能控制。物联网将传感器和智能处理相结合,利用云计算、模式识别等各种智能技术,扩充其应用领域。从传感器获得的海量信息中分析、加工和处理出有意义的数据,以适应不同用户的不同需求。
物联网可以分为三层架构:感知层、网络层和应用层。不难看出,物联网实必须需要嵌入式系统的支撑;物联网需要实现各种各样的系统级应用,并对系统的实时性有一定的要求;物联网的感知层和物联网是一个比传统互联网更加庞大更加复杂的分布式系统。这些要求被转化为对RTOS的要求,推动促进其发展。
RTOS 的发展方向主要集中在三个方面。首先是RTOS的标准化研究。如今国内外的RTOS开发商数不胜数,提供了上百个RTOS,它们各具特色。这也给应用开发者带来难题,当选择不同的RTOS开发时,代码不能复用,用户的软件投资付之东流。RTOS的标准化研究越来越被重视,如IEEE协会在UNIX的基础上,制定了可移植操作系统接口标准 POSIX 1003.1b,用于规范实时系统接口;日本开发的ITRON标准等。新的应用层出不穷,软件接口仍然需要不断地完善,与时俱进。
其次是多处理器结构RTOS、分布式实时操作系统和实时网络的研究。实时应用的飞速发展,对RTOS的性能提出了更高的要求。单处理器的嵌入式系统已不能很好地满足某些复杂实时应用系统的需要,开发支持多处理器结构的RTOS已成为发展方向。至于分布式RTOS,如QNX、VxWorks、RTEMS、eCos等都提供相关的功能。但分布式实时操作系统的研究还未完全成熟,特别是在网络实时性和多处理器间任务调度算法上还需进一步地研究。
最后是集成化的RTOS开发环境的研究。开发实时应用系统,只有RTOS是不够的,还需要集编辑、编译、调试、模拟和仿真等功能为一体的集成开发环境的支持。开发环境的研究还包括网络上多主机协作开发、分布式RTOS的调试等技术。很多开源RTOS在性能方面是超越商业RTOS,但是在工具链方面与商业RTOS还有着不小的差距。如RTEMS使用GNU的工具链,调试使用GDB;而VxWorks的工具链不仅提供图形化调试界面,还提为用户提供系统运行时的一些状态信息。虽然GNU提供了GDB的图形化前端DDD以及insight,但两者差距还是不小。

抱歉!评论已关闭.