RTOS for Drones
A real-time operating system (RTOS) is an operating system that provides precise time constraints for the execution of tasks, enabling it to be much more predictable than general-purpose operating systems.
RTOSes are divided into two general categories – soft and hard. Hard real-time operating systems are much more consistent with the time taken to complete a task, whereas soft RTOSes have more variability. It may also be acceptable for soft RTOSes to provide a late result, whereas this cannot happen with a hard RTOS.
Real-time OS use a task scheduler that allows a priority to be assigned to tasks, ensuring that tasks with a higher priority are executed first. This enables the operating system to achieve one of the key characteristics of a real-time OS – determinism, or the ability to always provide the same output for a repeated input. General-purpose OSes typically schedule tasks to achieve maximum throughput, whereas for RTOSes, speed and predictability of response are considered more important.
RTOSes are usually more compact and streamlined than general-purpose OSes, enabling them to be quick and efficient and resulting in lower probability of a crash due to focusing on a narrower set of tasks. They may be installed on embedded systems, and support multi-core and multi-threaded processors and architectures such as Intel or PowerPC.
UAV & Drone Operating Systems
UAV and drone real-time operating systems control many safety- and mission-critical aspects of the vehicle’s operation, including avionics, flight control and weapons systems. In order for the platform to be certifiable, the drone RTOS may be required to conform to particular aviation software standards, such as DO-178B/C.
UAV RTOSes may be used in conjunction with a separation kernel hypervisor, which provides a secure environment within which multiple dissimilar operating systems can be run on one physical hardware platform. This allows designers to partition systems into smaller independent components, and to allow safety and non-safety critical components to be securely separated.