Download Introduction to Real-Time Operating Systems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Collaborative decision-making software wikipedia , lookup

Transcript
RTOS_K - Version: 1 - 05/05/2017
Introduction to Real-Time Operating Systems
3 days Course
Course Description
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 preemptive 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.
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, micro-C/OS and others *.
Instructors can provide in-depth insight into
the specific workings of these RTOSs during the course, if it is of particular interest.
Intended Audience
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.
This is a course for engineers in industry with less than 3 years of experience with real-time
operating systems.
Prerequisites
• Course participants are expected to be knowledgeable in the C programming language.
Objectives
• 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.
Reading
Topics
• RTOS Basics - Communicating between Tasks
o Intertask Communication and Synchronization Overview
o Messages and Message Queues
o Exercise: Intertask Communication via Message Queues
o Semaphores: Binary and Counting Semaphores
o Exercise: Intertask Synchronization via Semaphore
o Priority Inversion
o Mutexes: Priority Inheritance and Priority Ceiling
o Exercise: Priority Inversion
• Additional RTOS Kernel Topics
o Dynamic Memory Allocation: Fragmentation Issues
o RTOS Timers: Relative and Absolute Timing
o Asynchronous Signals
o Device I/O Supervisor
• RTOS Topics Beyond the Kernel
o Network Communication Programming: Sockets Interface
o Application Software: Device Drivers
o Application Software: Interrupt Service Routines
o Exercise: Interrupt Service Routines
o Operating System Configuration
o Development Environment: Classes of Debuggers
• Optional Topics
o Picking an RTOS for Your Project
o RTOS Trends in the Next 5 Years
Follow on courses
• Architectural Design of Real-Time Software