|
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.
|