Introduction —
RTOSs Aren't "Fair" —
Preemptible Kernel —
Mechanisms to Avoid Priority Inversion —
Partitioning Schedulers for Guaranteed CPU Availability —
"Dualing" Kernels —
Extending the RTOS for Application-specific Requirements —
A Strategic Decision
[+]
Introduction
Do most embedded projects still need an RTOS? It’s a good question, given the speed of today’s high-performance processors and the availability of realtime patches ...
RTOSs Aren't "Fair"
The need for "hard" real time — and for the RTOSs that enable it — remains prevalent in the embedded industry. The question is ...
Preemptible Kernel
In most GPOSs, the OS kernel isn’t preemptible. Consequently, a high-priority user thread can never preempt a kernel call, but must instead wait for the entire call to complete ...
Mechanisms to Avoid Priority Inversion
In a GPOS, and even in an RTOS, a lower-priority thread can inadvertently prevent a higher-priority thread from accessing the CPU — a condition known as priority inversion ...
Partitioning Schedulers for Guaranteed CPU Availability
For many systems, guaranteeing resource availability is critical. If a key subsystem is deprived of, say, CPU cycles, the services provided by that subsystem becomes unavailable ...
"Dualing" Kernels
GPOSs — including Linux, Windows, and various flavors of Unix — typically lack the realtime mechanisms discussed thus far. In an attempt to fill the gap ...
Extending the RTOS for Application-specific Requirements
Whatever their shortcomings in deterministic environments, there are, nonetheless, benefits to using GPOSs. These benefits include ...
A Strategic Decision
An RTOS can help make complex applications both predictable and reliable; in fact, the precise control over timing ...