Reliable Multithreaded Programming with and without an RTOS - Corporate Training
Bright Solutions Global PLC
Summary
Overview
There is a lot of misinformation about multithreaded programming and the use of real-time operating system (RTOS) features. Misinformation and programmer inexperience often leads to unreliable multithreading and introduces the possibility for dangerous system failures such as starvation, deadlock, and priority inversion. This course teaches the proper use of RTOS APIs in developing multithreaded software as well as techniques for developing reliable multithreaded program structures without an RTOS at all.
Description
Course Outline
Multitasking Fundamentals
Tasks and Task States
Scheduling Points
Context Switching
System Calls
Mutual Exclusion
Rate Monotonic Scheduling
Preemption
Rate Monotonic Algorithm
Schedulable Bound
Aperiodic Tasks and Interrupts
Priority Inversion
Intertask Communication
Semaphores
Mailboxes
Message Queues
Event Flags
Starvation and Deadlock
Related Topics in RTOSes
Memory Management
Timer Ticks
OS Hooks
Interrupt Handling
Task Partitioning
Preemption Implications
Ten Negatives
System Failures
Overhead Costs
Three Positives
Cooperative Multitasking
Foreground Background
Cyclic Executive
Co-Routines
Function Queues
Event Driven Programming
Events and Reactions
Event Queues
State Machines
Run-to-Completion
Active Objects
UML Statecharts
States and Transitions
Guard Conditions
Actions and Reactions
Entry and Exit Actions
Hierarchy
All exercises are done using the IAR Embedded Workbench integrated C/C++ compiler-debugger on the Renesas target development board. RTOS exercises are based on Micrium’s popular, royalty-free MicroC/OS-III real-time operating system.
Questions and answers
Reviews
Currently there are no reviews for this course. Be the first to leave a review.
Legal information
This course is advertised on reed.co.uk by the Course Provider, whose terms and conditions apply. Purchases are made directly from the Course Provider, and as such, content and materials are supplied by the Course Provider directly. Reed is acting as agent and not reseller in relation to this course. Reed's only responsibility is to facilitate your payment for the course. It is your responsibility to review and agree to the Course Provider's terms and conditions and satisfy yourself as to the suitability of the course you intend to purchase. Reed will not have any responsibility for the content of the course and/or associated materials.