Operating systems
Real-time for Windows 10
Windows 10 is well on its way to replacing Windows CE in the near future, because the new standardized operating system has a lot of advantages, especially in IoT times. What is missing is the deterministic behavior that enables a combination with a real-time platform.
The Internet of Things (IoT) is growing and growing. As a result, the systems must also evolve - and essentially the operating systems too. Microsoft's transition to Windows 10 towards a complete Windows world is certainly to the benefit of IoT systems. But is this enough to meet the real requirements of this new network? In some, not to say many, cases, companies creating IoT apps will need a real-time operating system (RTOS). This is because a real-time solution ensures that the performance of their applications is not only maintained, but that determinism is significantly improved. And all this without wasting memory and the ability to run other applications simultaneously without slowing down the system.
Although Microsoft has not yet made a direct statement on the future of Windows Compact Edition (CE), it is obvious that CE will be replaced by Windows 10 IoT Core.
Pioneer Windows CE
To date, CE has been used for products that require real-time processing and no or only minimal determinism. In the beginning, CE was a simple general-purpose operating system that was different from Windows, but had a similarly simple programming interface (Win32 subset) and a similar appearance. CE was originally designed for small devices that were only built for one application.
However, when using CE, it became clear that in many cases hard real-time requirements were needed - for example, for control systems in building automation or brewing systems.
Microsoft reacted quickly and brought industry experts on board, including VenturCom (now Intervalzero). A real-time scheduler has already been added to the Windows CE kernel in version 2.12.
Windows 10 IoT Core now faces the same two use cases as its predecessor. In terms of real-time priority classes, this also presents a problem for Microsoft: how can real-time users be satisfied and new users be acquired?
Large gaps to standard system
Windows CE ultimately failed on the market due to its discontinuous relationship with standard Windows. Although there were many similarities between CE (Windows Compact Edition) and WES (Windows Embedded Standard), there were also major gaps, for example in terms of user interaction and development tools.
These difficulties were mainly due to the fact that CE uses a different core and in some cases different programming interfaces - which proved to be a serious problem for many companies. Although developers could use much of the same code for each system, they still had to switch to code that was specific to CE platforms or standard Windows platforms including WES systems.
In contrast, Microsoft has redesigned Windows 10 so that the different editions of the operating system (including IoT versions) are built on the same core and functionalities that can be applied to all devices and platforms and therefore form a unified device platform. This important criterion towards a truly scalable operating system has been solved with OneCore.
The OneCore foundation
One operating system, many devices: Windows 10 covers many applications, from smartphones to IoT devices.
© IntervalzeroOneCore exists as the foundation of all Windows 10 platforms, including IoT SKUs (stock keeping units). This has evolved into 'IoT Core'. IoT Core is the operating system for the Internet of Things, which can run on x86, x64 and ARM devices. IoT Enterprise is just an x86/x64 operating system - effectively the exact same product as the Windows 10 Enterprise LTSB (Long Term Service Branch) - just with a different licensing model. This is good news for IoT or embedded developers, as it ensures that changes to the operating system, including updates, only occur at relatively long intervals, unlike the frequently updated commercial version.
UWP (Universal Windows Platform) and .NET Core take OneCore one step further by providing services for developers and programming interfaces that work across different platforms. Now when users develop with .NET Core, their application can run on the complete set of IoT devices, from Core to Enterprise, enabling scalability.
At the system level, universal drivers such as UWP and .NET Core are programming interfaces that, if adhered to during development, can generate drivers from the same source code that run on x86, x64 and ARM systems. This results in considerable advantages for manufacturers who offer hardware and work with many different systems. Windows 10 is therefore an ideal tool in the sense of "write once - use often".
Final puzzle: Real-time processing
Microsoft has now bridged almost all the previous gaps between Windows CE and WES. The last and most important is the real-time processing component. For example, Windows 10 IoT is best suited for ATMs and vending machines. But there are many devices and systems that require at least a minimal amount of hard real-time processing.
To replace rigid hardware systems with the power of Intel architecture, a solution such as the combination of Microsoft Windows 10 IoT and a real-time platform such as RTX64 is required and available. These systems are reaching the performance limit in terms of multi-function processing: from using the Windows network to fulfilling hard real-time requirements - at the same time and on the same system. With the combination of Intel's small form factor Atom processors, Microsoft's consolidation of Windows 10 OS for IoT devices and a real-time platform such as Intervalzero's RTX64, a simple solution presents itself as a CE successor. This makes it possible to develop individual real-time solutions that can run on small devices up to enterprise-level systems without binary changes.
Constructing systems on a common basis with ever-improving functional components offers great potential. It enables a Windows 10 IoT platform with real-time capability with functional modules such as programmable logic controllers (PLCs), vision machines and motion control applications. These individual 'plug-and-play' modules can be easily integrated into the platform to create a fully functional, flexible and scalable system. This gives companies using the IoT a fully integrated solution - the extensibility and scalability they need for IoT solutions now and in the future.
Author: Daron Underwood is CTO at Intervalzero.











