3 ms·
One of main differences between a traditional multiprocessing operating system and a real time one is that in the latter each process gets a fixed time slot to
by inkyoto 2y ago
One of main differences between a traditional multiprocessing operating system and a real time one is that in the latter each process gets a fixed time slot to run and the kernel provides a guarantee that the process will be preempted no matter what. This gives every process running under the supervision of a real-time kernel a chance to do something useful.
Whereas in non-RT systems, a process may «overstay the welcome», and the time slot it has been allotted may lengthen (e.g. due to a computationally intensive unit of work or a blocking I/O operation) at the expense of other processes waiting in the scheduler run queue.
So non-RT kernels operate on the best effort basis («I will try my best to ensure each time slot has the same duration») vs guaranteed preemption in RT kernels («I hereby underwrite a guarantee that each time slot has the same duration and pledge that offending squatters will be evicted»).
Other than an example with the car, real-time processing is important in the audio engineering or processing where an audio stream will stutter in a non-RT operating system. There are other similar scenarios as well.
- SOLAR_FIELDS 2y agoI learned about RTOS in the context of flight and air traffic control systems, as another concrete example