Real-Time Operating System – RTOS, is an operating system designed for real-time applications. RTOS operating systems are designed to serve real-time application processes when they occur without the use of delay buffers. The main feature of an RTOS is the level of consistency regarding the amount of time it takes to accept and complete a task. There are both real-time hard and soft operating systems. Software systems are those that can generally complete a task until its deadline. The hard end is used to determine a task until its deadline. These systems are generally used for embedded systems (embedded in larger devices), such as smartphones, industrial robots, spacecraft, industrial control systems, scientific research equipment, and so on. The POSIX 1003.1 standard defines the real-time OS attribute of an operating system as the ability of the operating system to provide the required service level in a short predefined response time. Real-time operating systems are mainly used for their rapid response capability, and not for the total amount of work they can perform.
A real-time operating system does not need a high computing speed – its calculation speed is influenced not only by the CPU’s running speed but also by the specialized scheduling algorithm as well as a high frequency of the clock interruption. Their primary purpose is to optimize the use of equipment resources and to ensure the predictability of their operation.
Real-time operating systems can be divided into real-time systems and soft-realtime systems. Most real-time operating systems are real-time software systems, such as those used for remote control of various devices and multimedia devices, home appliances, etc. Real-time systems are prevalent in industrial processes, where time constraints are always a priority and are generally more complex (eg flight control systems). The real-time operating system has functions similar to the operating system in the general-purpose computer, which individualizes the embedded system. It is closely related to hardware, with events and multiple service requests, being frequently simultaneous.
In addition to providing timely responses, real-time systems need to deliver multiple simultaneous answers, also on time.
1. Sophisticated functionality, the degree of complexity is dependent on the application.
2. Low development and marketing costs.
3. Processor dependent applications.
4.Security – ensuring the confidentiality of the processed data
5. Multitasking – must be able to work with multiple inputs/outputs and various events independently.
6. Multiprocessing – runs various processes by sequentially switching from the context of a process to the context of another by context switching.
8. Respond to device needs; adaptation is made by finding an appropriate compromise between size and performance to optimize the operating system
9. Programming – usually programming is in a high-level language (compiled languages, assembly languages) and is done on a computer that emulates the embedded system.
Embedded Linux distributions:
Embedded Linux distributions are Linux-based real-time operating systems and adapted to an embedded system.
Unlike Linux for computers and personal servers, the various Linux RTOS systems are designed for limited resource systems.
Operating systems based on the Linux kernel are used in embedded systems such as consumer electronics (smart TV, smartphone, smartwatch), automobile dashboard computers, network equipment (router, modem), industrial automation, navigation equipment, flight software for spacecraft, medical instruments, etc.
Linux embedded systems typically have little RAM and frequently use flash memory rather than a hard drive. Because they are often dedicated to a small number of tasks on a well-defined hardware target, they use versions of the Linux kernel optimized for specific contexts. Embedded Linux distributions usually have a real-time kernel.