MontaVista Enables Seamless Real-Time Scheduler For Linux

Scheduler plug-in expands Linux application space; offers real-time priorities while preserving Linux programming model

SUNNYVALE, Calif. - May 4, 2000 - MontaVista Software, Inc., supplier of Hard Hat Linux for embedded applications, today announces the availability of a new real-time scheduler for the Linux kernel. The MontaVista real-time scheduler gives developers of embedded applications new options for meeting real-time performance requirements while preserving the standard Linux programming model and Application Programming Interfaces (APIs).

In contrast to other real-time add-ons to Linux, the MontaVista real-time solution does not introduce a second kernel underneath Linux, nor does it attempt to substitute so-called "Linux-compatible" real-time operating system (RTOS) components for Linux itself. Rather, the MontaVista real-time scheduler is integrated into the standard Linux kernel, fully realizing the already-present "real-time" scheduling policies, but with enforced hard prioritization. The benefit to embedded Linux applications is twofold. First, applications with real-time requirements behave more predictably and reliably. Second, developers can still leverage the standard Linux APIs and memory-protected programming models, resulting in shorter development cycles, better code reuse and high reliability.

The MontaVista scheduler, which executes before the standard Linux scheduler, optimizes Linux process/thread scheduling by only examining and dispatching the highest priority real-time entity that is ready to run. Unlike the Linux scheduler, overhead for process selection is fixed, yielding extremely high performance. If no real-time entity is available for execution, or none has been specified as real-time, then scheduling falls through to the standard scheduler and fairness-based scheduling proceeds apace. "Everyone benefits from a fully transparent solution," states Kevin Morgan, MontaVista Software vice-president of engineering. "Our real-time scheduler doesn't force the developer to learn another OS in order to build predictable embedded applications - we just help Linux accomplish the real-time mission using time-tested open Linux APIs and programming paradigms." Morgan adds that he and his engineering team look forward to feedback from the open-source community in response to releasing this technology.

"MontaVista is once more excited to lead in expanding the Linux application space," enthuses Jim Ready, embedded industry pioneer and MontaVista Software founder and CEO. "With each advance in performance and real-time responsiveness, embedded Hard Hat Linux addresses more applications once considered the exclusive domain of proprietary embedded kernels."


Immediate Availability



The MontaVista real-time scheduler is available immediately in source form on the MontaVista Web and ftp sites. For additional information and for unrestricted download of source packages and documentation, visit


Technical Background


Linux is a multi-process operating system, that is, it can perform multiple tasks at the same time. The methods used to choose which of numerous tasks to perform at a given moment in time greatly impact system performance. The off-the-shelf Linux kernel employs a mixture of strategies to govern program scheduling and execution, and great care is taken to ensure that all waiting tasks are given a chance to run. Such a policy is required in general purpose and server systems to ensure that no program is starved, and that maintenance and logging tasks can do their jobs.

Many embedded applications, especially those involving machine control or processing of high-speed data streams, require more stringent guarantees that key software will execute in response to external events or will generate constant frequency output. Such "real-time" applications must observe performance deadlines, and the underlying OS kernel may need to stop the currently executing program and initiate execution of another in as little as a few milliseconds (thousandths of a second) or in some cases in a few tens of microseconds (millionths of a second).

The MontaVista scheduler helps to ensure this kind of responsiveness by exerting control prior to the standard Linux scheduler, invoking hard (fixed) execution priorities to achieve improved soft (statistical) scalable real-time response. The MontaVista real-time scheduler is implemented as a Linux kernel configuration option, and does not disable standard Linux scheduling and fairness policies when no real-time process/thread is available to run.

For more information about the MontaVista real-time scheduler, and to view the white paper, "Linux for Real-Time Systems: Strategies and Solutions", please see the MontaVista Web site -


About MontaVista Software, Inc.


MontaVista Software Inc., founded in 1999 by real-time operating system pioneer James Ready, delivers open-source software solutions for the worldwide embedded software market. MontaVista's principal offering is the Linux¬ operating system tailored for embedded software applications. MontaVista products include Hard Hat? Linux, a standard off-the-shelf binary distribution of Linux for x86, PowerPC, StrongARM, MIPS and other microprocessor architectures. Hard Hat Linux is supported by a comprehensive tool suite including optimizing compilers for C, C++ and other languages; high-level language debuggers; and performance monitoring tools. The company's Subscription Plans also provide Linux support, porting and customization services to customers worldwide. MontaVista headquarters are in Sunnyvale, Calif., in the heart of the Silicon Valley.


Linux is a registered trademark of Linus Torvalds. Hard Hat is a trademark of MontaVista Software Inc. All other names mentioned are trademarks, registered trademarks or service marks of their respective companies.


Primary Contact:
Sam Paior
1535 Seabright Avenue, Suite 100
Santa Cruz, CA 95062
Phone: (831) 234-1031

Secondary contact:
Michael Rosenberg
1535 Seabright Avenue, Suite 100
Santa Cruz, CA 95062
Phone: (831) 420-2682