Testimonial

"Barr Group training courses should be required before writing any embedded code."

General Dynamics

Subscribe to our Newsletter

Subscribe to our newsletter and receive free how-to articles and industry news as well as announcements on free webinars and other Barr Group Training course information by e-mail.
Sign up today!

Reliable Multithreaded Programming

When it comes to writing multithreaded code, there is a dangerous mix of vendor propaganda and programmer misunderstanding in the embedded systems design community. Those who sell tools, such as real-time operating systems (RTOSes), too often fail to educate their customers in the subtleties of their proper use. And in an industry dominated by self-taught programmers who were formally educated in electrical engineering, there is typically insufficient knowledge of necessary portions of computer science. This combination reduces product reliability and sometimes also puts human life and limb at risk.

Barr Group's Reliable Multithreaded Programming course is an advanced, efficient, and cost-effective hands-on training program for embedded software architects and developers. In just 2-days and through a mix of lectures and programming exercises on actual embedded hardware, attendees learn how to architect and implement multithreaded software for reliable and safe operation. Back at the office, attendees will be able to immediately put the principles learned in this class to use whether their current architecture is based on cooperative or preemptive multithreading and with any OS from Linux to none-at-all.

Upcoming Sessions

This course will be open to the public in the following dates and locations:

Date(s) Location Price*
Oct 20-21 Chicago, Illinois $999 Closed
Oct 24-25 Munich, Germany 1,299€ Closed

* Prices will be discounted 20% for groups of 3 or more and increased 15% for late registration during the final 2 weeks. German course prices are inclusive of VAT tax.

To be automatically notified, by email, of future public training dates and locations, simply sign up here.

Course Length

  • 2 days (hands-on)

Audience

  • Embedded software developers
  • Embedded software architects

Outline

The following outline is provided as a summary of the major course topics and should not be taken as literally the section-by-subsection lecture breakdown.

  • Introduction
    • Types of Threads
    • Reasons to Multithread
    • Reliability/Safety Risks
  • Cooperative Multithreading
    • Syncing main() with ISRs
    • Timing & Cyclic Executives
    • Function Queues
  • Real-Time Operating Systems
    • How Preemption Works
    • Mutual Exclusion
    • Intertask Communication
    • Preventing Starvation and Deadlock
    • Ensuring Deadlines are Met
    • Avoiding Priority Inversion
    • Managing Dynamic Memory
    • Watchdog Supervisor Design
  • Multithreading in Linux
    • Processes vs. Threads
    • Inter-Process Communications
    • Kernel Threads and ISRs
    • Real-Time Linux
  • Pros and Cons of Preemption
    • Top 3 Advantages
    • The 10 Risks/Costs
  • Event-Driven Programming
    • The Event-Reaction Model
    • Managing Event Queues
    • Implementing State Machines
    • Run-to-Completion Steps
    • Cooperating Active Objects
  • Key Takeaways

During the course, attendees will independently complete approximately half a dozen hands-on programming exercises. These exercises are interspersed with the lectures. Attendees will use their computer to compile their programs and then download them for execution on an embedded target board with its own processor, memory, and peripherals.

Prerequisites

Attendees should already be familiar with the C or C++ programming language before taking this course. Prior experience programming for one or more operating systems may be beneficial but is not necessary.

Requirements

Each student will need a computer, such as a laptop, running XP or a newer version of Windows with an available USB port and administrator privileges. (Windows over Mac OS X generally works.)

Find out More

Please contact us today to find out more about this course or to enquire about an on-site training at your company.

Related Courses

If you are viewing this page, the following Barr Group training courses may also be of interest:

Recording Policy

All Barr Group Training Public and On-site courses may not be videotaped or photographed without consent from Barr Group's executive team.