COMPARISON OF RTOS
III YEAR EEE
EE 8691- EMBEDDED SYSTEMS
UNIT-4
K.BALAJI , AP/ECE, SSMCE
COMPARISON OF RTOS
VxWorks - RTOS
• VxWorks is a Hard Real Time ,
Multitasking RTOS from Wind River
Systems
• Compatible with POSIX standard Task
Scheduling
• Supports Intel-x86, ARM,MIPS,Power PC
• Kernel is called as WIND
• Supports Multicore Design
K.BALAJI , AP/ECE, SSMCE
VxWorks - RTOS
• APPLICATION: AEROSPACE,
DEFENSE,ROBOTICS,INDUSTRIAL
• IPC Using Queue,
sockets,Pipes,Signals
• Synchronisation using Semaphore
K.BALAJI , AP/ECE, SSMCE
VxWorks - RTOS
TASK CREATION & MANAGEMENT
• READY: Ready for executionn, waiting to
get CPU time
• PEND: Task in the Blocked State,
(waiting for resources)
• DELAY: Sleeping State
• SUSPEND: Used to halt a task for
Debugging
K.BALAJI , AP/ECE, SSMCE
VxWorks - RTOS
• TASK SCHEDULING:
– POSIX SCHEDULING FOR Process
– Wind Scheduling for Task
• Supports
– Round Robin
– Priority Based Preemption
• Interrupt Handling
– Can Handle Hardware Interrupts
K.BALAJI , AP/ECE, SSMCE
VxWorks - RTOS
• TASK SCHEDULING:
– POSIX SCHEDULING FOR Process
– Wind Scheduling for Task
• Supports
– Round Robin
– Priority Based Preemption
• Interrupt Handling
– Can Handle Hardware Interrupts
K.BALAJI , AP/ECE, SSMCE
VxWorks - RTOS
• WATCH DOG TIMER
–WdStart() Starts the Watchdog Timer when
the task is started
– Wdcancel() - to stop at any time prior to
its expiration
K.BALAJI , AP/ECE, SSMCE
VxWorks - RTOS
• TIMING & REFERENCE
– SIGNALRM The Timer runs with the system
timer tick and it generates the SIGNAL when it
expires
• DEVELOPMENT ENVIRONMENT
– Tornado II – IDE (Integrated Development
Environment)
– Contains Debugging & Simulator
– For Windows & UNIX
– Replaced by Eclipse Based IDE
K.BALAJI , AP/ECE, SSMCE
MICROC/OS-II (UC/OS-II)
• MICROC/OS-II (UC/OS-II) is a simple , easy to
use real time kernel written in C Language .
• It is a commercial RTOS from Micrium Inc
• Features:
– Multitasking
– Priority Based preemptive task scheduling
– Supports 8 Bit, 64 Bit
– Each Task is implemented as Infinite Loop
K.BALAJI , AP/ECE, SSMCE
MICROC/OS-II (UC/OS-II)
STATES:
1. DORMANT : Created , Present in Program
Memory but not moved to RAM
2. READY Task is in memory & waiting for CPU
turn
3. RUNNING executed by CPU
4. WAITING Temporarily Suspended
5. INTERRUPTED Enters ISR due to Interrupt
K.BALAJI , AP/ECE, SSMCE
MICROC/OS-II (UC/OS-II)
KERNEL INITIALISATION:
1. OSInit() :
Initialises Kernel
Creates OSIdle()- when no user task
TASK SCHEDULING
Each Task is assigned a unique priority ranging
from 0 to 63.
0- Highest Priority
K.BALAJI , AP/ECE, SSMCE
MICROC/OS-II (UC/OS-II)
IPC-
-Message Queue is used for exchanging single
message
- Mailbox associates a pointer to the mailbox
TIMING & REFERENCE
- OSTimeTick()- to service the clock tick interrupt
- OS_TICKS_PER_SEC should be set based on
required frequency
K.BALAJI , AP/ECE, SSMCE
MICROC/OS-II (UC/OS-II)
IPC-
-Message Queue is used for exchanging single
message
- Mailbox associates a pointer to the mailbox
TIMING & REFERENCE
- OSTimeTick()- to service the clock tick interrupt
- OS_TICKS_PER_SEC should be set based on
required frequency
K.BALAJI , AP/ECE, SSMCE
MEMORY MANAGEMENT
MEMORY IS DIVIDED INTO
SECTORS, BLOCKS
K.BALAJI , AP/ECE, SSMCE
• INTERRUPT HANDLING:
supports nested interrupts upto 255
• DEVELOPMENT ENVIRONMENT
• NIOS –II IDE
• ALTERA IDE
• SUPPORTS AVR,ARM,8051 CONTROLLERS
K.BALAJI , AP/ECE, SSMCE
PRIORITY INVERSION
• Priority Inversion is a CONDITION in
which a high Priority task needs to
wait for a low priority task to
release a resource, and a medium
priority task continue its execution.
K.BALAJI , AP/ECE, SSMCE
• REASON FOR PRIORITY INVERSION
• Priority Based Preemptive scheduling ensure
that a High Priority task is always executed
first.
• But Lock based Synchronisation mechanism
ensures that a process will not access a shared
resource which is currently in use by another
process.
K.BALAJI , AP/ECE, SSMCE
PRIORITY INHERITANCE
• Priority Inheritance is a METHOD TO AVOID
PRIORITY INVERSION PROBLEM
• In Priority Inheritance , the priority of the task
which is accessing the shared resource is
raised temporarily
• This eliminates the preemption of the low
priority task by other tasks
• The temporarily boosted priority is brought to
original value
K.BALAJI , AP/ECE, SSMCE
REFERENCES:
1. Raj Kamal, ‘Embedded System-Architecture,
Programming, Design’, Mc Graw Hill, 2013.
2. Dr.G.Ram Prabhu, Embedded Systems
K.BALAJI , AP/ECE, SSMCE

Iii eee-ee8691-embedded sys comparison of rtos

  • 1.
    COMPARISON OF RTOS IIIYEAR EEE EE 8691- EMBEDDED SYSTEMS UNIT-4 K.BALAJI , AP/ECE, SSMCE
  • 2.
    COMPARISON OF RTOS VxWorks- RTOS • VxWorks is a Hard Real Time , Multitasking RTOS from Wind River Systems • Compatible with POSIX standard Task Scheduling • Supports Intel-x86, ARM,MIPS,Power PC • Kernel is called as WIND • Supports Multicore Design K.BALAJI , AP/ECE, SSMCE
  • 3.
    VxWorks - RTOS •APPLICATION: AEROSPACE, DEFENSE,ROBOTICS,INDUSTRIAL • IPC Using Queue, sockets,Pipes,Signals • Synchronisation using Semaphore K.BALAJI , AP/ECE, SSMCE
  • 4.
    VxWorks - RTOS TASKCREATION & MANAGEMENT • READY: Ready for executionn, waiting to get CPU time • PEND: Task in the Blocked State, (waiting for resources) • DELAY: Sleeping State • SUSPEND: Used to halt a task for Debugging K.BALAJI , AP/ECE, SSMCE
  • 5.
    VxWorks - RTOS •TASK SCHEDULING: – POSIX SCHEDULING FOR Process – Wind Scheduling for Task • Supports – Round Robin – Priority Based Preemption • Interrupt Handling – Can Handle Hardware Interrupts K.BALAJI , AP/ECE, SSMCE
  • 6.
    VxWorks - RTOS •TASK SCHEDULING: – POSIX SCHEDULING FOR Process – Wind Scheduling for Task • Supports – Round Robin – Priority Based Preemption • Interrupt Handling – Can Handle Hardware Interrupts K.BALAJI , AP/ECE, SSMCE
  • 7.
    VxWorks - RTOS •WATCH DOG TIMER –WdStart() Starts the Watchdog Timer when the task is started – Wdcancel() - to stop at any time prior to its expiration K.BALAJI , AP/ECE, SSMCE
  • 8.
    VxWorks - RTOS •TIMING & REFERENCE – SIGNALRM The Timer runs with the system timer tick and it generates the SIGNAL when it expires • DEVELOPMENT ENVIRONMENT – Tornado II – IDE (Integrated Development Environment) – Contains Debugging & Simulator – For Windows & UNIX – Replaced by Eclipse Based IDE K.BALAJI , AP/ECE, SSMCE
  • 9.
    MICROC/OS-II (UC/OS-II) • MICROC/OS-II(UC/OS-II) is a simple , easy to use real time kernel written in C Language . • It is a commercial RTOS from Micrium Inc • Features: – Multitasking – Priority Based preemptive task scheduling – Supports 8 Bit, 64 Bit – Each Task is implemented as Infinite Loop K.BALAJI , AP/ECE, SSMCE
  • 10.
    MICROC/OS-II (UC/OS-II) STATES: 1. DORMANT: Created , Present in Program Memory but not moved to RAM 2. READY Task is in memory & waiting for CPU turn 3. RUNNING executed by CPU 4. WAITING Temporarily Suspended 5. INTERRUPTED Enters ISR due to Interrupt K.BALAJI , AP/ECE, SSMCE
  • 11.
    MICROC/OS-II (UC/OS-II) KERNEL INITIALISATION: 1.OSInit() : Initialises Kernel Creates OSIdle()- when no user task TASK SCHEDULING Each Task is assigned a unique priority ranging from 0 to 63. 0- Highest Priority K.BALAJI , AP/ECE, SSMCE
  • 12.
    MICROC/OS-II (UC/OS-II) IPC- -Message Queueis used for exchanging single message - Mailbox associates a pointer to the mailbox TIMING & REFERENCE - OSTimeTick()- to service the clock tick interrupt - OS_TICKS_PER_SEC should be set based on required frequency K.BALAJI , AP/ECE, SSMCE
  • 13.
    MICROC/OS-II (UC/OS-II) IPC- -Message Queueis used for exchanging single message - Mailbox associates a pointer to the mailbox TIMING & REFERENCE - OSTimeTick()- to service the clock tick interrupt - OS_TICKS_PER_SEC should be set based on required frequency K.BALAJI , AP/ECE, SSMCE
  • 14.
    MEMORY MANAGEMENT MEMORY ISDIVIDED INTO SECTORS, BLOCKS K.BALAJI , AP/ECE, SSMCE
  • 15.
    • INTERRUPT HANDLING: supportsnested interrupts upto 255 • DEVELOPMENT ENVIRONMENT • NIOS –II IDE • ALTERA IDE • SUPPORTS AVR,ARM,8051 CONTROLLERS K.BALAJI , AP/ECE, SSMCE
  • 16.
    PRIORITY INVERSION • PriorityInversion is a CONDITION in which a high Priority task needs to wait for a low priority task to release a resource, and a medium priority task continue its execution. K.BALAJI , AP/ECE, SSMCE
  • 17.
    • REASON FORPRIORITY INVERSION • Priority Based Preemptive scheduling ensure that a High Priority task is always executed first. • But Lock based Synchronisation mechanism ensures that a process will not access a shared resource which is currently in use by another process. K.BALAJI , AP/ECE, SSMCE
  • 18.
    PRIORITY INHERITANCE • PriorityInheritance is a METHOD TO AVOID PRIORITY INVERSION PROBLEM • In Priority Inheritance , the priority of the task which is accessing the shared resource is raised temporarily • This eliminates the preemption of the low priority task by other tasks • The temporarily boosted priority is brought to original value K.BALAJI , AP/ECE, SSMCE
  • 19.
    REFERENCES: 1. Raj Kamal,‘Embedded System-Architecture, Programming, Design’, Mc Graw Hill, 2013. 2. Dr.G.Ram Prabhu, Embedded Systems K.BALAJI , AP/ECE, SSMCE