Not using an RTOS? – here’s why you’re right
Your application is most likely “small”, using a low-mid-power CPU. RTOS products use a multitasking design with multiple stacks. This makes them unsuitable for small applications.
An RTOS can be stripped back – but what’s the point?
It’s true that an RTOS can be scaled back to say, a couple of services. This would achieve very low-level event-driven multitasking, but what’s the point? All of the most useful features of an RTOS would be lost. Only an extremely simple application would use that approach. Also, the RTOS model requires a memory-hungry stack for each and every task. Memory is often an issue when using low-mid-power microcontrollers and RAM utilization alone can be a cause for rejection. Or, the footprint of the RTOS could be so large that the application exceeds the available ROM.
The DIY approach – Super Loop with Callbacks
The unsuitability of RTOS products for small applications forces developers to take a DIY code foundation approach, typically using a “Super Loop with Callbacks” design. Callbacks are often executed with system interrupts disabled, making the system less responsive. That may be an issue. What a Super Loop does not do is promote order. Because callbacks have an effect on timing, they can cause race conditions and other problems that require workarounds, ultimately ending with a bunch of spaghetti code, all of which are really bad for product evolution.
The Novos EFB approach – Super Loop on Steroids
The Novos EFB Environment is based on the Super Loop architecture, but Turbocharges it by adding a new and very efficient means for high priority foreground operations. EFB offers an organized, rule-based way of providing order to handling events such that timeliness is not impacted, race conditions eliminated and spaghetti code avoided. And it’s “Ready-to-Go”.
Novos EFB has only one task – the Background. The Background task is the application (except for what goes on at the Foreground level). There is no system requirement as to how the application must be structured as compared to the strict structuring of an RTOS task. Novos EFB is NOT an RTOS. More…
There are 53 bespoke Novos services supporting five object classes in EFB. But those can be whittled down to a very few and still have the organization and responsiveness to support the application.
Foreground Tasks provide Prioritized Multitasking
The clever bit is that Novos EFB adds a new, unique and very efficient means for prioritized multitasking amongst the Foreground tasks. Those tasks result from external or internal events that take place and need timely handling such as processing data from an interrupting device or taking action if a queue reaches its limit.
Novos EFB is Very Organised
More than a simplistic callback model, Novos EFB provides an organized, rule-based way of giving order to handling Foreground tasks so that timeliness is not impacted, race conditions eliminated and spaghetti code avoided. Contrary to the RTOS stack requirements in which each task requires its own stack, Novos EFB uses only a single stack for all Foreground operations, making it highly efficient with respect to RAM utilization. More…
Impressively, Novos EFB provides Hard Real-Time performance
Because of the use of a simple, but turbocharged Super Loop architecture, EFB can provide hard real-time performance. This is achieved through the use of bespoke Novos foreground entities, regardless of what the application is doing in the background – a very efficient way to achieve a low level prioritization of background processes. The result is hard real-time performance, making Novos EFB a very powerful and excellent fit for most small applications.
FREE Source Code and Very Quick to Set Up and Use
Novos is available in source code form for FREE. User Manuals are offered at a modest cost. Configuration is minimal, if any, because Novos EFB comes with a default configuration, enabling you to start using Novos with minimum effort. Coupled with our Getting Started Guides, you get to concentrate on the application.
In the end, it’s all about money
Applications without documented organization and coding are most likely to wither and die, if they even make it to market at all. And all the monies spent on them are lost. Novos EFB is a way to secure the investment and the product’s future. Why waste money? Or product reliability? Or product or company reputation? Novos EFB reduces the risk of failure. This benefits both the company and the developer. More…
If Novos EFB is not quite what your application needs, then have a look at the whole Novos family:
Novos EFB – Extended Foreground / Background – 53 Services
Super Loop Background with pre-emptive priority scheduling of Foreground entities, including a highly responsive model for the management of interrupt-driven devices, time-based events and queued data passing. More…
Novos FCFS – First Come First Served – 76 Services
Simple, cooperative multitasking in which Background tasks are scheduled the order of arrival plus pre-emptive, priority scheduling of Foreground entities. More…
Novos PPS – Pre-emptive Priority Scheduling – 96 Services supporting 10 Classes
Comprehensive multitasking kernel using pre-emptive priority, FCFS and RRS scheduling of Background tasks plus pre-emptive priority scheduling of Foreground entities. More…