August 24th, 2016 by
Most operating systems are known to allow disparate programs to run at the same time. This is usually referred to as multi-tasking. In reality however, each processor core is only able to run a single execution thread at a given point in time. The scheduler is a part of the operating system that determines which programs to run and when they should run. It provides the illusion of simultaneous execution by switching between each program rapidly.
How the scheduler decides which program to run and when, often defines the type of operating system. In a multi-user operating system such as Unix for instance, the scheduler will always ensure that each user gets an equal share of the processing time. In a desktop operating system like Windows, the scheduler will try and ensure that the computer remains responsive to the user. For a real-time operating system, the scheduler is typically designed to offer a predictable execution pattern. This is why you may find some people referring to them as a deterministic modeling operating system.
Windows CE is one of the most controversial operating systems as to its classification. While some consider it to be a hard real-time operating system, some deem it to be a soft real-time OS. The truth is that it can be both depending on how you choose to define hard real-time. There are those who believe that hard real-time should have a latency of less than 10 microseconds. In such a case, WinCE cannot be defined as a hard real-time.
On the other hand, some people define hard real-time operating system as that which allows for 50 to 100 microseconds of latency. Under this definition, Windows CE qualifies to be a hard real-time operating system. In most cases, Windows CE can have interrupt latencies varying between 50 to 100 microseconds. This is quite acceptable for applications that require periodic interrupts ranging in milliseconds. If an application requires periodic interrupts of between 1 and 100 microsecond range, Windows CE will not suffice under those circumstances.
Apart from Windows CE, there are many other Windows based real-time operating systems. Third party add-ons such as IntervalZero’s RTX have now made it possible for Windows Embedded and Standard Windows to be used as real-time operating systems.