
Fig. 1: A Diagram Illustrating Real Time Embedded System with RTOS

Fig. 2; A Figure Showing Structure of a Soft Real Time System
RTOS Features
RTOS Features
i. Multithreading and preemptability – The scheduler should be able to preempt any task in the system and allocate the resource to the thread that needs it most even at peak load.
RTOS Architecture – Kernel

Fig. 3: A Figure Illustrating the General Architecture of RTOS
Fig. 4: A Figure Showing Common Services Offered By a RTOS System
Architecture – Task Management

Fig. 5: A Diagram Illustrating Use of RTOS for Time Management Application

Fig. 6: A Figure Representing Different Time Management Tasks Done by an RTOS
Task_ID
|
Task_State
|
Task_Priority
|
Task_Stack_Pointer
|
Task_Prog _Counter
|
· Scheduler
The scheduler keeps record of the state of each task and selects from among them that are ready to execute and allocates the CPU to one of them. Various scheduling algorithms are used in RTOS
· Polled Loop: Sequentially determines if specific task requires time.
Fig. 7: A Diagram Illustrating Process Flow of a Scheduler
· Polled System with interrupts. In addition to polling, it takes care of critical tasks.
Fig. 8: A Figure Illustrating Polled Systems with Interrupts
· Round Robin : Sequences from task to task, each task getting a slice of time
Fig. 9: A Diagram Representing Round Robin Sequences From Task to Task
· Hybrid System: Sensitive to sensitive interrupts, with Round Robin system working in background
· Interrupt Driven: System continuously wait for the interrupts
· Non pre-emptive scheduling or Cooperative Multitasking: Highest priority task executes for some time, then relinquishes control, re-enters ready state.
Fig. 10: A Figure Illustrating Non-Preemptive Scheduling or Cooperative Multitasking
· Preemptive scheduling Priority multitasking: Current task is immediately suspended Control is given to the task of the highest priority at all time.
Fig. 11: A Diagram Representing Preemptive Scheduling or Priority Multitasking
· Dispatcher
The dispatcher gives control of the CPU to the task selected by the scheduler by performing context switching and changes the flow of execution.
Architecture Contd.

Fig. 12: A Diagram Showing Architecture of Semaphore Functionality

Fig. 13: A Diagram Showing Flow of a Message Queue in a Mailbox
Popular RTOS
RTOS
|
Applications/Features
|
Windows CE
|
· Used for Small footprint, mobile and connected devices
· Supported by ARM,MIPS, SH4 & x86 architectures
|
LynxOS
|
· Complex, hard real-time applications
· POSIX-compatible, multiprocess, multithreaded OS.
· Supported by x86, ARM, PowerPC architectures
|
VxWorks
|
· Most widely adopted RTOS in the embedded industry.
· Used in famous NASA rover robots Spirit and Opportunity
· Certi?ed by several agencies and international standards for real time systems, reliability and security-critical applications.
|
Micrium µC/OS-II
|
· Ported to more than a hundred architectures including x86, mainly used in microcontrollers with low resources.
· certi?ed by rigorous standards, such as RTCADO-178B
|
QNX
|
· Most traditional RTOS in the market.
· Microkernel architecture; completely compatible with the POSIX
· Certi?ed by FAADO-278 and MIL-STD-1553 standards.
|
RT Linux
|
· Hard realtime kernel
· Good real time performance, but no certification
|
Jbed
|
· Developed for embedded systems and Internet applications under the Java platform.
· Allows an entire application including the device drivers to be written using Java
|
Symbian
|
· Designed for Smartphones
· Supported by ARM, x86 architecture
|
VRTX
|
· Suitable for traditional board based embedded systems and SoC architectures
· Supported by ARM, MIPS, PowerPC & other RISC architectures
|
Filed Under: Articles
Questions related to this article?
👉Ask and discuss on EDAboard.com and Electro-Tech-Online.com forums.
Tell Us What You Think!!
You must be logged in to post a comment.