将Linux 作为电子设备的软件开发和运行平台,这早已成为设备软件领域的热门话题,这的确可以为电子产品制造企业带来不少好处。然而,由于Linux一直都只能提供软实时(soft real-time)性能,而在汽车控制、工业控制、电信基础建设等诸多需要硬实时性能的应用中,都无法采用只有“软实时”能力的Linux,这就使得许多对时间较为敏感的应用都成为Linux难以涉入的禁地。

  最近,美国风河系统公司从FSMLabs购买了硬实时Linux技术——RTLinux,并将其与风河全球领先的Linux设备软件平台的结合,为电子设备制造商提供一套成熟、可靠的全新技术,用于开发和部署各种基于Linux的下一代应用,满足电子设备制造商们对“硬实时(hard real-time)”特性的需求,例如功能型手机、需要高容量流媒体的数字图像应用以及包括车辆避撞系统在内的各类车载应用等。其中,集成 RTLinux技术的Wind River Platform for Consumer Devices, Linux Edition可以把各种基于Linux的高速包交换设备软件应用提升到一个全新的高性能级别。

  那么,就让我们一起来了解一下,“硬实时”和“软实时”有什么样的区别,哪些场合必须有“硬实时”的软件系统来实现,以及怎样才能获得真正具有“硬实时”特性的Linux平台。

  实时性的“软”和“硬”

  实时操作系统 (Real-time OS) 是相对于分时操作系统 (Time-Sharing OS) 的一个概念。在一个分时操作系统中,计算机资源会被平均地分配给系统内所有的工作。在分时系统中,各项任务需要花多长时间来完成,这一点并不重要;而在一个实时操作系统之中,最关注的是每个任务在多长时间内可以完成。简单地说,实时和分时操作系统最大的不同在于 “时限(deadline)”这个概念。

  从上述区别中可以看出,在实时操作系统中,系统必须在特定的时间内完成指定的应用,具有较强的“刚性”,而分时操作系统则注重将系统资源平均地分配给各个应用,不太在意各个应用的进度如何,什么时间能够完成。不过,就算是实时操作系统,其“刚性”和“柔性”的程度也有所不同,就好像是系统的“硬度”有所不同,因而有了所谓的“硬实时(hard real-time)”和“软实时 ( soft real-time)”。硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。超时错误会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。软实时系统的时限是一个柔性灵活的,它可以容忍偶然的超时错误。失败造成的后果并不严重,例如在网络中仅仅是轻微地降低了系统的吞吐量。