Real time operating system determinism

2 月 1, 2019

In a computing context, determinism is the ability to complete all tasks in a pre-determined time window.  Unlike humans which can deal with the latency in applications like Word processing, many machine controls cannot even withstand a few microseconds of latency or jitter and must complete all tasks in less than 100 microsecondsand do so 100% of the time.  Traditionally, engineers did not consider using a General Purpose Operating System (GPOS) like Microsoft Windows because it needs to schedule memory, tasks and file management to access various resources.   These tasks are what causes latency in an application like when you are typing in a word processor and there is a lag before the letter appears on the screen moments after you type it.

By contrast, the real-time operating system (RTOS) executes commands within a pre-determined time window.  In other words, the activity employs input and output within minimum predetermined duration.  When Windows operating system is used to develop a machine controller then it needs to be extended with an RTOS and thus create a Windows Real-Time or Real Time Windows environment.

Deterministic components (Components required to transform Windows into and RTOS)

The scheduler; it is the major element that determines execution order of tasks. At times it ascertains threads based on scheme priority and could run to a round robin fashion or completion. Some systems might attempt to balance thread along processors but usually need developers to assign affinity process to optimize usage of real-time application.

Symmetric Multiprocessing; this component has capability to separate and handle multiple threads and tasks so that all can work on multiple cores. This activity permits parallel code processing, that is, multitasking.

Function library; is an interface standard that comprises of application program interface (API) that enable routine calling. This interface joins code application and the kernel. The entities of application code direct requests towards kernel through library function to prompt the needed programmatic behavior.

Context switch time; it is also called fast dispatch latency and represents duration that operating system knows end of a task. Other times it shows when process is triggered with high priority cause of tasks to appropriate running task.

Memory management; this allocate memory for each program that ought to run or object referenced task. This is significant in real-time operating system. Just like Windows, it has ability for memory paged because it directs to non-deterministic behavior.  In todays world, 64-bit based Windows OS requires a Real-Time Windows Extension that is likewise natively 64-bit addressable.

Application

RTOS is designed for series of functions. Most of its subsystems have assigned certain tasks that leave everything else undesignated for the Windows operating system. Generally, it assists to provide operational solutions such as control systems, image processing, and motion control.  The control systems regulate sensors and actuators for purposes as digital controller. This function serves brakes, aircraft and engines and is monitored with the assistance of actuators and sensors. As a result, the software reads data sensors and works calculations so that stimulation of motion can happen. The image processing is crucial to make real-time adjustments for objects in motion. These functions enable mobile gadgets, computers and cameras to accomplish intended task in appropriate time for industrial automation. Finally, the Voice over IP depends on internet protocols to transfer voices in actual time. This capability enables implementation of VoIP on networks such as internet, intranets and local area networks.

Summary

Windows is capable of performing the tasks of a machine control if it leverages a Windows Real-Time Extension that transforms Windows into an RTOS. The extension must offer all the deterministic elements that deliver true real-time determinism.