Then software is the brain controlling the tasks and operations behind the scenes. It provides memory management, task allotment, priority scheduling etc. Operating system or OS is mainly divided into two main categories Real Time Operating Systems (RTOS) or General-Purpose Operating Systems (GPOS). The classification is based on how they allocate resources
The difference
GPOS is used in desktop, laptops, tablets or smart phones where the processor performs several tasks at once. Here deadline for a given process is not important, and small delays are overstepped.
RTOS is used in embedded systems such as medical equipment, flight avionics etc where one task is processed at any given time. Here deadline needs to be met without compromise, and data inputs are computed in real time.
GPOS are usually used in microprocessors which have high computation power and voltage requirements. Examples include Intel x86/64 and AMD Ryzen chips
RTOS are used in microcontrollers which are reverse of the same, with low computational power and lower voltage requirements. Examples are ESP32, Atmel chipsets
In depth
RTOS has several features which are detailed below.
- Priority based execution is the hallmark of this system. Each task is processed based on the importance assigned. When two tasks compete for execution, the higher priority is given preference, and lower one is kept on hold. The priority level can be changed by developer input.
- Interrupts when a task needs to be processed, it raises an interrupt. The processor then checks the request, and services it. This is known as an interrupt service routine. Again, higher priority is processed first, followed by the lesser one
- Memory is stored in the form of stacks and heaps. Stacks are used to store local variable and functions. They are constantly monitored to prevent overflows. Heaps are used to store variables or objects, during runtime.
- Scheduler is used to assign priorities to various tasks, provide time limit on when to start and stop an operation. Preemptive scheduling is a process by which a high priority task is allowed to continue till completion, unobstructed.
- Symmetric multiprocessing is used when multiple processors are given access to the same resources, typically memory. This helps to split task between them, allowing for load balancing and reduced latency
- Fast dispatch latency is the rate at which a processor can switch between tasks. Higher this ratio, better the processing power and reduced delay.
- Hard RTOS here deadlines need to met by precision, and any delay could result in an error generation. Examples include avionic systems, radar control.
- Firm RTOS here also deadlines are crucial, but occasional miss is allowed. Examples include factory equipment, robotics.
- Soft RTOS delays are completely overlooked, and more focus is given to accuracy and user interaction. Examples include smart phones, tablets
Comments
Post a Comment