Introduction to Real-Time Operating Systems
Duration: 2 or 3 days
Number of participants: recommended optimum 15, maximum 25
- Can be tailored to focus on a specific Real-Time Operating System (RTOS), such as: VRTX, pSOS, VxWorks, OSEK/VDX, Nucleus, OSE, μC/OS and others
- Can be tailored to focus on the Transition of Applications between specific RTOSs, such as: VRTX, pSOS, VxWorks, OSEK/VDX, Nucleus, OSE, μC/OS and others
The primary goal of this course is to give the participant the skills necessary to develop software for embedded computer systems using a real-time operating system. This is a very practical, results oriented course that will provide knowledge and skills that can be applied immediately. This course introduces the principles shared by many real-time operating systems, and their use in the development of embedded multitasking application software.
The course begins with the fundamental elements of real-time multitasking embedded application software design and development. Processor and operating system concepts relevant to multitasking systems are examined, with focus on pre-emptive task scheduling, intertask communication and synchronization.
The course continues with a detailed survey of popular operating system kernel services, giving many application examples. Topics include timer services, dynamic memory allocation schemes, network communication programming interfaces and device driver supervisors. Multitasking code development is discussed and example programs are reviewed and debugged. Practical experience is gained during student work exercises.
On the third day of this course, advanced topics are discussed such as operating systems and hypervisors for symmetric and asymmetric multiprocessing which are appropriate for multi-core SOCs.
The faculty for this course has extensive experience with a number of major real-time operating systems (RTOSs), including VRTX, pSOS, VxWorks, OSEK / VDX, Nucleus, OSE, μC/OS and others . Instructor can provide in-depth insight into the specific workings of these RTOSs during the course, if it is of particular interest.
This course is intended for practicing embedded systems software development engineers, software
system architects, project managers and technical consultants who are responsible for designing and
implementing the software for real-time and embedded computer systems using a real-time operating
This is a course for engineers in industry with less than 3 years of experience with real-time operating
systems. For those with more experience, we recommend the advanced course “Architectural Design
of Real-Time Software”.
Course participants are expected to be knowledgeable in the C programming language.
The course is based on presentation with student work exercises.