E-Learning Course Real-Time Operating System
E-Learning Real-Time Operating System (65 min)
- General Introduction
- Typical Problems
The goal of this course is to provide a basic knowledge of real-time operating systems. The learner will understand what a real-time operating system is and how it works.
It is predominantly designed for people who are new to software engineering, but it is also suitable for hardware engineers who want to broaden their understanding of embedded systems. If you are not familiar with the topic of operating systems, we recommend taking the course “Operating System” first. This course discusses the topic “Multitasking”, which is very important for the understanding of real-time operating systems.
What Are Real-Time Operating Systems?
Real-time operating systems (RTOSs) are operating systems that meet real-time requirements. That means if there is a request of an application program or an incoming signal over a hardware interface, it needs to be processed by the operating system during a fixed time period that was defined in advance. There are soft real-time requirements and hard real-time requirements, where hard real-time requirements are much stricter.
Why Are Real-Time Operating Systems Needed?
Real-time operating systems are used to operate real-time systems. Real-time systems are necessary when the system is taking measurements or controlling the outside world because a delay in these actions would lead to a failure of the system or significant errors. They are important in the automotive industry and the field of automation for example.
How Are Real-Time Operating Systems Related to Embedded Systems?
Embedded RTOSs are used to operate embedded real-time systems such as cars or industrial robots. Most of the time, embedded systems are real-time systems because they are measuring and controlling.
What Can You Learn About Real-Time Operating Systems in the Embedded Academy E-Learning?
You will learn when real-time operating systems are needed and which requirements they have. In particular, we cover the difference between soft real-time requirements and hard real-time requirements. You will also encounter the term “timing analysis” and learn about the difference between time-based tasks and event-based tasks. At the end you will be familiarized with three scheduling algorithms, before we cover three typical problems: task starvation, deadlock and race conditions.