Most commercial real-time operating systems(RTOS) rely on a set of tools to facilitate their development of real-time applications. Apart from the regular programming tools like compilers, debuggers, and editors, other advanced tools that are specifically designed for the development of real-time applications are typically used. These tools include performance profilers, simulators and memory analyzers.
Popular commercial real-time operating systems include:
PSOS is widely used in embedded applications and is a host target type of RTOS. It isused in numerous commercial embedded products like cell phone system base stations. PSOS supports 32 priority levels that are assigned to tasks. It supports priority ceiling protocols and inheritance for sharing critical resources among its real-time tasks. Since it is designed for use in small- to medium-sized embedded applications, PSOS does not support virtual memory,but supports segmented memory management instead. It defines a memory region as a physically contiguous memory block that is created by the operating system as a response to the application’s call. A programmer can easily allocate a task to the memory region.
VRTX is an OS that is compliant with POSIX-RT and is certified by the US Federal Aviation Agency for use in life- and mission-critical applications like avionics. It is offered as two multitasking kernels,VRTXmc and VRTXsa. VRTXsa supports virtual memory and is used for medium- and large-sized applications. Its library is POSIX compliant and it supports priority inheritance. VRTXmc is optimized for ROM and RAM sizes and power consumption. It features a small footprint and it requires 1 KB of RAM and 4 to 8 KB of ROM. It does not support virtual memory because it is designed for embedded applications like cell phones and computer-based toys among other small hand devices.
Linux is a feature-rich, efficient, robust and free general-purpose operating system. Real-time Linux operates on a Linux system; the real-time kernel is placed between the Linux system and the hardware. All interrupts generated by the hardware are intercepted by the real-time Linux kernel. However, hardware interrupts are not associated with the real-time system activities but are held and passed to the Linux kernel as software interrupts when the standard Linux kernel is running and the real-time Linux is idle. Hence, Linux operates as a low-priority real-time Linux background task.
Lynx is a microkernel-based RTOS that is fully Linux-compatible;a Linux program’s binary image can be effectively run on Lynx. The Lynx microkernel is about 128 KB and offers essential synchronization, task scheduling and interrupt dispatch services. Its other services are offered as kernel plug-ins (KPIs). Once KPIs are added to microkernels, a system can be easily configured to support file systems, sockets, and I/O. if fully configured, the system can function as a multipurpose Unix machine where both hard and soft real-time tasks can be executed. Lynx supports memory protection.