Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Standard view
Full view
of .
Look up keyword or section
Like this

Table Of Contents

Course Outline
Language Prerequisites
Language Prerequisites (2)
Jargon used in these lectures
Lecture 1: Introduction
Multitasking vs true concurrency
Task States
Multi-tasking issues for RTOS
A Simple real-time system
Task pseudocode
Execution Trace
Real-Time Task Structure
Real-Time System Design: Summary
FreeRTOS tasks
Stack use in RTOS
Stack sizing for ARM7/Keil port
FreeRTOS API –Task Control in Detail
Task delay -vTaskDelay
Task delay in detail
Task Delay –xTaskDelayUntil()
Kernel Control
Nesting critical sections
Task priorities & scheduling
Determining task priorities
Lecture 2: Summary
Review Questions 2
Lecture 3: The Shared Data Problem
Task execution interleaving
Error Counting
Curse of the infrequent error
Atomic operations
Assignment statements are not atomic
Re-entrant Functions
Is printfre-entrant?
Inconsistent Data Structures
Case study: Best Fit Memory Allocation
Memory Allocation (2)
Memory allocation (3)
Sequential code to allocate memory
Data Sharing Issues
Concurrent code to allocate memory
Free list node insertion
Lecture 3: Summary
Review Questions 3
Semaphore introduction
Semaphore Implementation
Semaphore Usage
Signal & Wait Paradigm
One to Many Synchronisation Paradigm
Mutual Exclusive Access Paradigm
Recursive (nested) semaphore use
When to create semaphores
Semaphore Problems
Summary of Semaphore Features
Lecture 4: Summary
Lecture 4: Review Questions
What is a Message Queue?
Interlocked one-way communication
Interlocked one-way communication (2)
Queue Features
Lecture 5: Summary
Lecture 5: Review Questions
Synchronisation Objects
Barrier Synchronisation
Solution 1: Helper Task & Semaphores
Alternative solutions
Rendezvous synchronisation
Event Flag Registers
Event Flag Example
Cf Event Flags & Semaphore
Solution 2: Mutex Variable & Event Flag
Solution 3: Multiple event flags
Solution 4: Multiple event flags
Lecture 6 Summary
Lecture 7: Scheduling Theory
Whento schedule?
Co-routine scheduling
Co-routine scheduling (cont'd)
Preemptive scheduling
Time-slice (round-robin) Scheduling
Whichtask to schedule?
Job modelfor tasks in an RTOS
Round-robin scheduling
Rate Monotonic Analysis
RMA discussion
Extended RMA
Estimating blocking Bi
Further reading on scheduling
Lecture 7: Summary
Anatomy of problems
A simple example
The Classic problem
Conditions for Deadlock
Deadlock Detection & Recovery
Deadlock Avoidance
Deadlock Prevention
Starving Philosophers
Deadlock vs Starvation
Real Livelock
Priority Inversion
Priority Ceiling Protocol (PCP)
PCP example
PCP Analysis
Blocking under PCP
Lectures 8 & 9: Summary
0 of .
Results for:
No results containing your search query
P. 1


Ratings: (0)|Views: 36|Likes:
Published by Anubhav Rohatgi

More info:

Published by: Anubhav Rohatgi on Dec 22, 2010
Copyright:Attribution Non-commercial


Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less





You're Reading a Free Preview
Pages 4 to 14 are not shown in this preview.
You're Reading a Free Preview
Pages 18 to 98 are not shown in this preview.
You're Reading a Free Preview
Pages 102 to 143 are not shown in this preview.
You're Reading a Free Preview
Pages 147 to 151 are not shown in this preview.
You're Reading a Free Preview
Pages 155 to 159 are not shown in this preview.

You're Reading a Free Preview

/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->