Real-Time performance

MontaVista provides real-time performance features in a 100% native Linux platform to meet the stringent requirements of telecom and networking device manufacturers. Today, developers of embedded devices embrace MontaVista for real-time applications across a broad spectrum of industries: industrial control, instrumentation, medical, even mission-critical roles in aerospace and defense.

By working in concert with the open source community at large and with key kernel maintainers in particular, MontaVista has been instrumental in developing and propagating numerous advances in the Linux kernel and user space libraries to enable native real-time. For real-time as well as for CPU and board support, development tools, power management and other embedded application enablers, MontaVista shows its ongoing commitment to community processes and open source software.

Linux

To achieve the performance requirements of carrier-grade systems, MontaVista has added new features or modified existing features to enhance standard Linux and make it suitable for carrier-grade applications. Attributes of MontaVista Carrier Grade Edition include the following:

  • Offers response latencies on a par with legacy systems and meets emerging requirements
  • Uses existing native Linux/POSIX APIs, IPCs, and other constructs; does not inject new ones
  • Enables real-time programming in both user program and Linux kernel contexts
  • Does not break existing non real-time behaviors or semantics
  • Allows reuse of existing board support and device drivers
  • Offers sufficiently compelling performance improvements to gain acceptance by the larger Linux kernel development community

Benchmark tests have proven that MontaVista's integrations of real-time features deliver much lower latency levels than non-MontaVista implementations. Features of MontaVista real-time responsiveness include:

  • MontaVista Linux preemptible kernel technology (100% native Linux; no double-kernel non-Linux add-ons)
  • High-resolution POSIX timers
  • Threaded soft and hard IRQ handlers
  • Application-level priority inheritance
  • Priority queuing
  • Robust mutexes
  • Futexes
  • Userland support
  • Preempt_RT