

Running State – The task’s code is currently being executed by the CPU.Īn RTOS task usually has the following main states: If the timing requirements of all the tasks are fulfilled we can say we have concurrent like executions of multiple tasks without the use of separate microprocessors for each task.

Each task that the operating system should execute is given a time window in which it can utilize the CPU, and then the execution of another task proceeds according to a predefined scheduling algorithm. Achieving the required multitasking is possible using a mechanism known as time multiplexing. A single microprocessor, however, can execute code from only one task at a time.

in different operating systems.Īn operating system is expected to execute many different tasks at once – reading inputs, outputting data, reacting to events, etc. A task can be also referred to as a thread, process, activity, etc. 1 RTOS within the embedded system abstraction layers RTOS Main Components TasksĪ piece of code performing a specific function is usually called a task.

Some RTOS may contain middleware software such as networking, file systems, etc.įig. The RTOS does not provide low-level drivers for microcontroller peripherals. We can design a real-time embedded system without the use of RTOS, however, using one can make the design process shorter and the whole system easier to manage.Īs part of the embedded system abstraction layers, an RTOS is placed above the low-level device drives and below the user application. This mechanism is at the heart of every RTOS. This is achieved using a scheduling mechanism. Real-time operating systems (RTOS) provide a framework that enables guaranteed response times and deterministic behavior. Real-time embedded systems do not react immediately to every event but can guarantee a worse case response time. It should be noted that all systems have a response time (latency). Aren’t all embedded systems operating in real-time? In order for an embedded system to be classified as real-time, it must guarantee a strictly defined response time to the events it is tasked with observing and controlling. The tricky part is to make the distinction of what exactly qualifies such a system as real-time. Embedded systems are microcontroller-based systems that are designed to perform specific functions such as reading sensor data, responding to external events, communicating with other systems, controlling processes, etc.
