Novos PPS: Pre-emptive Priority Scheduling Environment – A fully-featured RTOS
An Application Framework for Pre-Emptive Priority Scheduling architectures including First Come First Served and Round Robin
The Novos PPS Environment is a complete RTOS that supports pre-emptive scheduling of prioritized Background tasks (BG tasks) and Foreground tasks (FG tasks). It has all the capability one would expect in an RTOS but there are some additional features that go beyond expectations:
In addition to Pre-emptive Priority scheduling, the Novos PPS Environment supports BG task scheduling using a First Come, First Served policy, a Round Robin policy or any combination of the three policies. BG tasks scheduled using FCFS or RRS must have the same priority.
And if that isn’t enough, there is the Foreground that can handle the computational requirements of algorithmic processing such as digital signal processing (DSP), music playback or data acquisition in which a FG task performs the algorithm on a given block of data. The Foreground is also useful in Finite State Machine (FSM) designs built with different FG tasks handling the various state processing.
Why Use the Novos PPS Environment?
Each BG task, including the Idle Task, is an independent entity, having a priority, a time quantum and a stack. The priority is changeable and defines the importance of the BG task in relation to the other BG tasks. The time quantum allows a set of tasks to run in a Round Robin manner provided they all have the same priority.
The stack allows the BG task’s context to be saved during an interrupt, a pre-emption or while waiting to synchronize with an event. When the BG task is resumed, the saved context is restored to permit it to resume its normal operation.
The Scheduler always selects the eligible BG task with the highest priority to be the Current Task, provided there is no Foreground operation taking place. If a BG task becomes eligible to take CPU control and its priority is higher than that of the Current Task, the Scheduler will pre-empt the lower priority BG task and give CPU control to the higher priority BG task. This is the essence of pre-emptive priority multitasking.
The Novos PPS Environment provides:
- multitasking of Background tasks using Pre-emptive Priority, First Come, First Served, or Round Robin scheduling policies, individually or in combination
- pre-emptive scheduling of all Foreground execution entities
- each BG task has its own stack and time quantum
- one stack for all Foreground entities
- data passing between the execution entities, including interrupt service routines
- recognition and synchronization of application code with external or internal events
- a standard model for interrupt servicing
- handling of time-based operations
- complete documentation available for sustainable system development and evolution
Small ROM and RAM footprint
Even though it is a complete RTOS, it has a surprisingly small ROM and RAM footprint. It is available in source code form, too. So whether you are just looking to learn something about RTOS design or want to deploy it in a product, you get to see how the foundation is built. More
Provable Hard Real-Time Performance
Do you need real-time responses to external events or interrupts? Couple the event to a Foreground task and get the responsiveness you need. More
Robust Two-Level Interrupt Service Model
The Novos PPS Application Framework uses two-level interrupt Service model that is common to all Novos Frameworks, providing a robust design and ease of handling interrupts. More
Minimized Event Jitter
“Jitter” can be defined as the variable response time to each instance of an event. Novos virtually eliminates jitter by supporting preemptively scheduled Foreground activities such as Event Action Routines (EARs) that respond to events in a timely, predictable manner. More
Highly Flexible Services
The Novos PPS Application Framework embodies a set of 96 Services that support ten classes. View the Services Matrix
The Novos PPS Environment is fully documented. We offer two separately available volumes of documentation for the Novos PPS Environment, for a small charge. A System Reference Guide explains the Novos PPS Environment design, its classes and how to use it. A Services Reference Guide gives a complete description of each Novos PPS Environment API. Get the code and the docs and see how all of it can help on your next application.