Dual Mode | Low Power | Interrupts | Licenses | Performance
What is a dual mode RTOS?
A Dual Mode Real Time Operating System is also called a convergent RTOS because it combines the traditional thread-based architecture with specialized fibers for DSP and dataflow operations. This unified kernel solution enables both types of application code to run fully optimized on a single processor.
What is the overhead of a dual mode RTOS?
There is no overhead. Q▪Kernel can be used for traditional thread based systems and high data-load systems only. Most developers start with the traditional thread based system and recognize later that there application need high performance fibers for data processing.
How fast is a dual mode RTOS compared to a traditional system?
Look for performance here. You will see that the system excels in almost all categories.
Why don’t other systems implement dual mode?
A dual mode RTOS requires a completely different architecture and a complete re-write of the system.
Is investing in a dual mode RTOS expensive?
No, Q▪Kernel-Free is free and the Q▪Kernel-Pro is just as expensive as or less expensive than a thread–only competitive RTOS. Q▪Kernel gives you best of both worlds.
How do fibers save RAM?
Fibers save RAM because they don’t need a stack like threads.
Can I use fibers instead of threads?
Yes, but not always. Fibers can not wait on an event, but in many cases that is not an issue because they can use non-blocking services. See the User Guide for examples which threads can be converted to fibers.
Does your RTOS support power management?
An application that has power restrictions can benefit from an RTOS. Q▪Kernel has integrated power management that helps the developer minimize power consumption. Applications and drivers are prompted by Q▪Kernel with the lowest possible power mode.
What is a tick-less RTOS and how does it decrease power consumption?
A tick specifies the smallest amount of time in which the RTOS can operate. With a tick-less RTOS, the smallest division of time is determined by one processor cycle, not the RTOS. Most RTOSes require a tick for time management and this causes the system to be frequently activated and drain power. Q▪Kernel is tick-less and thereby, completely eliminates looping and polling.
It is impossible to never disable interrupts!
This is an incorrect statement. It is possible if there is hardware support for atomic test and set instructions and the implementation is based on the “Segmented Interrupt” architecture.
How important is it to not disable interrupts?
This is a very good question. Most competitive systems need to disable interrupts. The internal data structures need to be manipulated by system functions and interrupts are disabled to prevent these structures from getting corrupted. Most RTOSes disables interrupts for hundreds of machine cycles. Q▪Kernel never disables interrupts and still offers complete integration between the interrupt handling software, threads and fibers.
What is the interrupt latency?
It is zero. This means that the Q▪Kernel does not influence the interrupt response time. The 16-bit Microchip processors have a fixed 4 cycle hardware latency.
Is a “Segmented Interrupt” architecture slower?
The alternative of a “Segmented Interrupt” architecture is a unified interrupt architecture. Both architectures need the same time to complete all interrupt processing, but the difference is that the unified structure is not deterministic. If an interrupt need to be processed immediately it can sometimes take only 5 cycles to react but when a context switch is happening it takes 100 cycles. This is not deterministic.
Some big companies provide graphs that show that the “Segmented Interrupt” architecture is slower. What’s your comment?
We have seen those too. They manipulate the scale so it looks like the “Segmented Interrupt” architecture is slower. Don’t forget that all new embedded kernels are built with the “Segmented Interrupt” architecture. The big companies have too much interest in there current solution.
Are Q▪Kernel-Free and Q▪Kernel-Pro the same?
Yes. The source for both versions is the same. They are only under different Licenses.
Can I start working with Q▪Kernel-Free and when the project becomes commercial upgrade to Q▪Kernel-Pro?
Can I use one Q▪Kernel-Pro License for multiple products?
Can multiple people within a company use one Q▪Kernel-Pro License?
No, but we have a site license for more than one user. Contact us for more information.
Can I change the code?
Yes. The code can be changed in any way including porting to other MCUs
Why is the interrupt processing so much faster than the competition?
The “Segmented Interrupt” architecture and the micro-kernel architecture provide the fast interrupt processing. The system just uses less cycles.
Why is the message processing so fast compare to the competition?
Q▪Kernel uses a micro-kernel architecture so sending and receiving of messages is fast because they don’t go deep in the kernel itself.
Q▪Kernel wins in almost all performance aspects sometimes with a big difference. Why is that?
Q▪Kernel used the segmented interupt architecture which gives it a specific advantages. Q▪Kernel uses atomic operations and inline code where possible, which improves performance.