µLithOS is a para-virtualised guest operating system for less complex systems which provides the ARINC 653 P4 subset as a lightweight alternative to LithOS (P1) for embedded real time operating systems used in avionics. The specification maintains compatibility with ARINC-653 P1 while simplifying software design and dynamic behavior, thereby reducing the operating system complexity.
The ARINC-653 P4 list of services identifies the minimum functionality provided to the application software and is the standard interface. It is intended for this interface to be as generic as possible, since an interface with too much complexity or too many system specific features is normally not accepted over a variety of systems.The ARINC-653 P4 subset, which uses a compatible but simplified execution model, is defined for systems that do not require the size, complexity and features of the full specification. µLithOS uses the services provided by XtratuM to complete the mechanisms required to develop application based on ARINC-653 P4:
µLithOS provides the ARINC-653 P4 application executive (APEX). µLithOS offers partitions the inter-partition communication, partition management, time management and Health Monitoring services.
- Partition management: The standard defines basic services related to the partition. ARINC-653 P4 uses a simplified execution model with a time and space partitioned software environment that allows multiple partitions with only one or two processes per partition.
- Time management: µLithOS uses the basic services provided by XtratuM to retrieve the current time or arm a timer. Internally, µLithOS implements a timer data structure (heap structure) to build as many timers as needed by the application. The clock granularity is 1 nanosecond.
- Inter-partition communication: The inter-partition communication mechanisms (ports and channels) defined in XtratuM were inspired in the ARINC-653 specification. So, these services are used directly by µLithOS' internal processes.
- Health monitoring (HM): XtratuM defines a HM service inspired in the ARINC-653 HM. Through the configuration file, the predefined HM events are associated to predefined services. Some of them can be propagated to the faulty partition. µLithOS provide the services to install an exception handler process which is in charge of manage the raised exceptions. Application based exceptions can be defined, raised and managed using the services provided by µLithOS .
ARINC-653 extended services
µLithOS implements the multiple module schedule defined in ARINC-653 Part 2, "Extended Services" and present in LithOS.
A set of packages are defined in µLithOS to provide the schedule plan management; a system partition can change the schedule plan.