Not just another RTOS!
OCEOSmp is new design that is ready for tomorrow’s embedded systems with their many cores.
It can be restricted to using a subset of the cores present, allows tasks be restricted to specific cores, allows cores be taken out of use without disrupting scheduling, and itself is distributed and robust against individual core failures.
It allows the same tasks be run concurrently on different cores and the results compared, and provides performance records that simplify policing system behaviour and anticipating and detecting faults.
It schedules fixed priority tasks pre-emptively in a way that provides deterministic behaviour and supports schedulability analysis.
Its design prevents problems such as unbounded priority inversion and chained blocking, allows freedom from deadlocks be guaranteed, and provide maximum performance by distributing tasks evenly over the available cores.
OCEOSmp is compact with a single system stack per core rather than a stack for each thread, minimising the need for fast memory and facilitating the use of memory protection features if present.
It provides mutual exclusion semaphores, read-write semaphores, counting semaphores, and data queues and allows data outputs and task start requests be set to occur at specific times independent of scheduling. It is statically linked with only the components used by an application linked into the executable.
OCEOS is a multicore real-time pre-emptive fixed priority operating system that can be used in applications that require European Space Agency ECSS Category B or ISO 26262 standards. It has a small memory footprint and requires only one system stack per CPU rather than a stack for each task. It provides support for precisely timed data outputs independent of task scheduling. OCEOS supports applications running on RISC-V, ARM, & SPARC based hardware. In a multicore environment OCEOS can run in parallel with other lower reliability operating systems. Support for AI processing using OpenVX and OpenCL is on the roadmap. OCEOS features include:
- Fixed priority pre-emptive scheduling
- Based on Stack Resource Policy – unbounded priority inversion and chained blocking cannot occur. Deadlocks impossible on single core and warning provided on multicore
- Single stack per CPU rather than separate stack for each task
- Small code footprint ( <10 kB for core functionality)
- Mutex (standard & read/write), counting semaphore, and data queue support
- High precision timed actions independent of scheduling (data output and task start)
- Supports SPARC, ARM, and RISC-V processor architectures
- DMON debug tool support showing task/interrupt execution timeline
- Certification service for OCEOS to run on customer designed boards
- Support & Independent Software Validation services available from OCE
- Compliant with ESA ECSS Category B standard
- Multicore certification for RISC-V Microchip PolarFire®, SPARC LEON4 E698PM, and ARM Cortex-A9 HISAOR AI SOC.
Click here for detailed technical information from the OCE wiki