RTOS
RTOS
RTOS
Introduction
Introduction
Structure of RTOS
Components of RTOS
RTOS Kernel
Tasks
Memory
Timers
I/O
IPCs
Device Drivers
Expectations
Examples
Structure of a RTOS
Introduction
Structure of RTOS
Components of RTOS
Applications
RTOS Kernel
Tasks
Memory
Timers
I/O
IPCs
Device Drivers
RTOS-kernel
BSP
Expectations
Examples
Custom-Hardware
Components of RTOS
Introduction
Structure of RTOS
Components of RTOS
RTOS Kernel
Tasks
Memory
Timers
I/O
IPCs
Device Drivers
Expectations
Examples
).
RTOS KERNEL
Introduction
Structure of RTOS
Components of RTOS
RTOS Kernel
Tasks
Memory
Timers
I/O
IPCs
Device Drivers
Expectations
Examples
Clock
driven
Priority driven (RMS & EDF)
TID
SAVED_TASK_STATE
Resource 1 (signals)
Memory
Timers
Resource 2 (events)
I/O
IPCs
Device Drivers
Expectations
Examples
.
.
System Variables
Task Control Block
RMS, EDF
XXX_CreateTask
XXX_AddtoProcessQueue
XXX_ChangePriority
XXX_KillTask
XXX_CreateTaskQueues
Memory is premium in
environments where RTOS
work.
Supports Virtual Memory
(MMU) and Memory
Protection (MPU) models.
User space and Kernel space
memory.
Physical Address
Structure of RTOS
Virtual Address
Components of RTOS
RTOS Kernel
Tasks
Memory
Timers
I/O
IPCs
Device Drivers
Expectations
Examples
PHY1
VIRT1
PHY2
VIRT2
PHY3
VIRT3
PHY4
VIRT4
.
.
.
.
.
Virtual Memory Concept
RTOS Kernel
Tasks
Memory
Timers
P1
P2
I/O
IPCs
Device Drivers
Expectations
Examples
M1
M2
Kernel Space Memory
XXX_Kmap
XXX_PassToUserSpace
XXX_Mmap
XXX_PurgeMemory/Kfree
XXX_Kmalloc
XXX_SetTimer
XXX_AddtoTimerQueue
XXX_isExpired
XXX_RunAtExpiry
XXX_PurgeTimerQueue
XXX_IORead/IOWrite
XXX_IOMap/Unmap
XXX_BindInterrupt
RTOS KERNEL:
Inter-process Communication(1)
Introduction
Structure of RTOS
Components of RTOS
RTOS Kernel
Tasks
Memory
Timers
I/O
IPCs
Device Drivers
Expectations
Examples
RTOS KERNEL:
Inter-process Communication(2)
Introduction
Structure of RTOS
Components of RTOS
RTOS Kernel
Tasks
Memory
Timers
I/O
IPCs
Device Drivers
Expectations
Examples
Semaphores
(Binary, Mutual)
Message Queues
Pipes/Named
Pipes
Shared Memory
Signals/Slots
Mail slots
Sockets/XTI
RTOS KERNEL:
Inter-process Communication(3)
Introduction
Structure of RTOS
Components of RTOS
RTOS Kernel
Tasks
Memory
Timers
I/O
IPCs
Device Drivers
Expectations
Examples
A common
shared datastructure
residing in
kernel or user
space.
Mechanism to
access it.
RTOS KERNEL:
Device Drivers(1)
Introduction
Structure of RTOS
Components of RTOS
RTOS Kernel
Tasks
Memory
Timers
I/O
IPCs
Device Drivers
Expectations
Examples
RTOS KERNEL:
Device Drivers(2)
Introduction
Structure of RTOS
Components of RTOS
Client Drivers
RTOS Kernel
Tasks
Memory
Timers
Protocol Layers
I/O
IPCs
Device Drivers
Expectations
Examples
Hardware
RTOS KERNEL:
Device Drivers(3)
Introduction
Structure of RTOS
Components of RTOS
RTOS Kernel
Tasks
Memory
Timers
I/O
IPCs
Device Drivers
Expectations
Examples
Deadline-driven
Work with Dearth of Resources
Intricate I/O interfaces (Touch
panels, Push buttons )
Fail-safe and Robust
Availability
An Example RTOS
Introduction
Structure of RTOS
Components of RTOS
RTOS Kernel
Tasks
Memory
Timers
I/O
IPCs
Device Drivers
Expectations
Examples
EMERALDS architecture
http://www.intelinfo.com/it_training_materials_and_books/free_real_time_
operating_systems_training_materials.html
Linux Device Drivers Alexander Rubini, Oreilly publications
http://www.ddjembedded.com : Dr. Dobbs Journal
http://www.embedded.com
http://www.ll.mit.edu/HPEC/agendas/proc02/abstracts/ahlander.pdf
http://www.cs.berkeley.edu/~culler/cs294-f03/papers/emeralds.pdf