Introduction to RTOS
About SwiftACT
• A Technology services startup company
o
Under establishment
• Areas of specialties:
o
o
Mobile telecommunication services development
Embedded systems development
• Types of services:
o
o
o
o
Consultation
Managed services
Sourcing
Training
Amr Ali Abdel-Naby@2010
Introduction to RTOS
About Me
• Graduated 2004
o
ECE, ASU: 5 yrs distinction
• 5+ years in embedded systems development
o
SDLC, Apps, MW, DD, Porting, ...
• 3+ years in SW engineering
o
PSP, CMMI, Systematic reuse, ...
• 3+ years in SW testing
o
IBM certified, ISTQB certified, ...
Amr Ali Abdel-Naby@2010
Introduction to RTOS
Copyright
• Materials in this course is the property of Amr Ali Abdel-Naby.
• Reproduction or transmission of the materials in any manner
without the copyright owner permission is a law violation.
Amr Ali Abdel-Naby@2010
Introduction to RTOS
Outline
•
•
•
•
•
•
Introduction
Tasks
Semaphores
Message Queues
Other Kernel Objects
Other Kernel Services
Amr Ali Abdel-Naby@2010
Introduction to RTOS
Outline
•
•
•
•
•
•
Introduction
Tasks
Semaphores
Message Queues
Other Kernel Objects
Other Kernel Services
Amr Ali Abdel-Naby@2010
Introduction to RTOS
Indirect Message Passing
• Messages are sent from task to task via queues.
o
Not sent directly from task to task
• Message queues are separate RTOS objects.
o
o
Caution: Messages are copied by the RTOS as they enter/exit the
queue.
They are copied twice.
Amr Ali Abdel-Naby@ 2009
Real-Time Operating Systems
Asynchronous Data Communication
• Loosely-coupled operation: Sender shoots & forgets
o
o
o
o
o
Task delivers messages to RTOS, then continues execution.
Never waits
Message normally deposited at the tail of the receiver’s queue.
Hopes that receiver task will fetch the message
Content/Structure of message payload are irrelevant to RTOS.
Variable data, pointers, structures, unions, …
Amr Ali Abdel-Naby@ 2009
Real-Time Operating Systems
Message Queue
Message delivered
(msgs--)
Message delivered
(msgs--)
Message delivered
(msgs = 0)
Queue created
(msgs = 0)
Empty
Not Empty
Message arrived
(msgs = 1)
Message arrived
(msgs = queue length)
Message arrived
(msgs++)
Amr Ali Abdel-Naby@2010
Full
Introduction to RTOS
Message Queues: 4 Traditional
Usages
•
Non-interlocked one-way data communication
o
•
Interlocked one-way data communication
o
o
•
= Non-interlocked one-way data communication + Binary semaphore
Binary semaphore used for handshake (wait/signal semaphore usage)
Interlocked two-way data communication
o
o
•
= Indirect message passing
2 message queues
Handshake messaging
Broadcast communication
o
= Indirect message passing + multiple receivers
Amr Ali Abdel-Naby@ 2009
Real-Time Operating Systems
Examples: Wait/Signal, Credit
Tracking
Non-interlocked, 1-way
Interlocked, 1-way
Interlocked, 2-way
Amr Ali Abdel-Naby@ 2009
Real-Time Operating Systems
Typical Message Queue Operations
• Message queue creation and deletion
o
o
Create
Delete
• Sending and receiving messages
o
o
o
Send: non blocking, block with timeout, or block forever
Receive: destructive read, or non-destructive read
Broadcast
• Obtaining message queue information
o
o
Show queue info
Show queue’s blocked task-waiting list
Amr Ali Abdel-Naby@2010
Introduction to RTOS