RTOS means Real-Time Operating system (RTOS) will point you to precise differences between a general purpose and real time operating system. Variations are mammoth but these must key features remain same. A deterministic behavior of an operating system is what that makes it real time. A key characteristic of a real-time operating system (RTOS) is the level of its consistency concerning the amount of time it takes to accept and complete a given task. They are intended to serve real time application requests common in embedded world.
Classification of Real Time Operating system (RTOS)
Real-time OS’s are broadly classified into three types
1) hard real-time, degree of tolerance for missed deadlines is extremely small or zero.
2) Firm real-time may allow occasional deadline violations.
3) Soft real-time, deadlines may be missed and can be recovered from.
Key Features of Real Time Operating system
A real-time OS has an advanced algorithm for scheduling. Scheduler flexibility enables wider process priorities, but a real-time OS is more frequently dedicated to a narrow set of applications. Key factors in a real-time OS are minimal interrupt latency and minimal thread switching latency. A basic RTOS must be equipped with the following features.
Multitasking and preemptive
A real-time OS must be multi-tasked and pre-emptive to support multiple tasks in real-time applications. The scheduler should be able to preempt any task in the system and allocate the resource to the task that needs it most even at peak load.
Preemption defines the capability to identify the task that needs a resource the most and allocates it the control to obtain the resource. In real-time OS, such capability is achieved by assigning an individual task with the appropriate priority level. Thus, it is important for realtime OS to be equipped with this feature. Reliable and Sufficient Inter-Process Communication Mechanisms For multiple tasks to communicate promptly and to ensure data integrity among each other, reliable and sufficient inter-task communication and synchronization mechanisms are required.
A system of priority inheritance has to exist to avoid deadlocks. To allow applications with stringent priority requirements to be implemented, real time OS must have a sufficient number of priority levels when using priority scheduling.
Task switching latency
The time needed to save the context of a currently executing task and switching to another task is desirable to be short. Task switching latency must be predefined.
The time elapsed between the execution of the last instruction of the interrupted task and the first instruction in the interrupt handler. Interrupt latency must be predefined.
Interrupt dispatch latency
The time from the last instruction in the interrupt handler to the next task scheduled to run. Interrupt Dispatch latency must be predefined.
The speed of allocation is important in real-time OS. A standard memory allocation scheme scans a linked list of indeterminate length to find a suitable free memory block. This is unacceptable in a real-time OS since memory allocation has to occur within a certain amount of time. The simple fixed-size-blocks algorithm works quite well for simple embedded systems because of its low overhead.
I hope that you understand my post. if you like this post then share my post, and comment on my post if you have any suggestion or Queries related to SSL. Thank you!