Home
Consultant Summary
Associate Companies
Courses
Publications
Books
Contact

 

A Practical Introduction to Real-Time Operating Systems
(a C-based implementation)

This can also be downloaded as a PDF.
    

Course Description
A four-day course providing an introduction to the theory, structure and practice of real-time operating systems. Particular emphasis is placed on issues relating to embedded applications. Nevertheless this course is still of significant value to engineers developing non-embedded real-time projects. The course covers basic concepts, practical issues and commercial implementations of modern operating systems.

The course is split into two equal parts. In part 1 approximately 25% of the time is given over to lectures and 25% to course workshops. Part 2 is concerned with implementing RTOS constructs on a real embedded target system using C as the programming language.

This course is ideal for engineers who are new to the field of real-time or who are considering the use of Real-Time Operating Systems (RTOS) on future projects.

The course has been developed by the well-known real-time author Dr. J. E. Cooling.

It is available on-site and is also part of our public training schedule.
We are always happy to discuss course customisation.

Overview
A four-day course providing an introduction to the theory, structure and practice of real-time operating systems.

Course Objectives
After completing the course attendees will:

  • Appreciate the use of multitasking techniques in real-time systems
  • Understand the fundamental concepts of real-time operating systems
  • Understand the features and structures of practical implementations
  • Appreciate how application areas (e.g. safety-critical, desktop, etc.) impact on RTOS facilities
  • Be competent to progress to vendor-specific detailed training

Please note: This course does not set out to equip attendees with the skills, knowledge and expertise to design real-time operating systems. It is, however, a suitable precursor to specific training by commercial RTOS vendors.

Pre-requisites

  • Good competency in C programming.
  • An understanding of the fundamentals of computer-based systems.

Who should attend
Application programmers, software engineers, support engineers or technical staff new to the field of Real-Time Operating Systems (RTOS).

Duration
Single Four-day course or else two two-day courses.

Course Material
Delegate handbook

 Part 1
RTOS fundamentals:

- Basic features of real-time operating systems
- Tasks and tasking
- Scheduling – concepts and implementation
- Control of shared resources – mutual exclusion
- Resource contention and deadlocks
- Intertask communication
- Memory management
- OS structures from Nanokernels through Microkernels to full RTOSs
- Process, Memory, Filesystem, Device and Memory management aspects
- Performance and safety features
- Real-Time Posix issues
- Development support
- Real-Time benchmarking
- Overview of some modern OS’s (e.g. VxWorks, RTKernel, OSE Delta, Windows CE)

Part 2:
RTOS practicals:

(a) Basics of multitasking design and implementation.

  • Implementing a single periodic task.
  • Producing accurate periods and time delays.
  • Creating variants of a specific task.
  • Implementing multiple independent periodic tasks.

(b) Handling shared resources.

  • Eliminating resource contention using simple techniques: suspending the scheduler.
  • More efficient techniques: implementing and using the mutex.
  • Implementing robust and secure mutex designs: the mini-monitor.

(b) Supporting task intercommunication.

  • Using flags for inter-task signalling: implementing busy-wait methods.
  • Achieving task synchronization: a semaphore implementation.
  • Replacing flags by semaphores: implementation of suspended-wait methods.
  • Implementing random-access data sharing methods: the pool.
  • Implementing sequential-access data sharing methods: the queue.
  • Implementing data transfer at task synchronization time: the mailbox.
    

Return to Courses