Real Time Windows
Anyone familiar with the concept of real time knows how important it is nowadays in numerous IT areas. Whether for parallelly operating servomotors in a robotic arm, precise measurement applications, or camera-based driving assistance systems—the reaction times between hardware and software components are a crucial factor in many modern electronic technologies. What once was achieved either through special stand-alone real-time operating systems (RTOS) or hardware (DSP and FPGA), can now also be implemented by utilizing regular, commercially available Windows PCs. However, Windows itself is not a real-time system, as it frequently interrupts running applications to execute other programs and processes for maintenance. So how can these supposed opposites be brought together? How does real time function with Windows?
Real-Time and Windows – The Solution
The only requirement for real time on Windows PCs is a processor with at least two cores. The basic operating principle is to instruct Windows to only use a limited number of CPU cores of a multicore processor. On the now vacant cores, the real-time system is booted, which from here on out functions just like a separate RTOS, while Windows retains its full operability on the remaining CPU cores. This means that from this point on, Windows and the real-time system run simultaneously and parallel to each other on the same computer, without one restricting the other. The instruction for Windows to boot on a limited number of cores can be carried out relatively simply by using the configuration program msconfig. A guide for this can be found here : Setting up Dedicated CPUs.
Thanks to this procedure, the real-time system gains a protected area, ensuring that Windows processes do not obtain a higher priority over time-critical operations and thus preventing it from negatively impacting real-time performance. The ultimate goal is to achieve specifically “hard” real-time capabilities on Windows PCs. But what exactly does “hard” mean in this context?
Booting on Separated Cores
When it comes to real time, we need to distinguish between different demands and how the timeframe for executing processes is handled. While “soft” real time only approximates an average of reaction times, “hard” real time needs to guarantee that a set period of time is not exceeded. Due to these higher requirements, achieving “hard” real-time capabilities is significantly more complex and challenging. This deterministic time behavior, however, is indispensable in automated industrial areas, especially in measurement, testing, and control technologies.
Booting on Separated Cores
When it comes to real time, we need to distinguish between different demands and how the timeframe for executing processes is handled. While “soft” real time only approximates an average of reaction times, “hard” real time needs to guarantee that a set period of time is not exceeded. Due to these higher requirements, achieving “hard” real-time capabilities is significantly more complex and challenging. This deterministic time behavior, however, is indispensable in automated industrial areas, especially in measurement, testing, and control technologies.
How Real-Time Systems Work with Windows
The real-time system is implemented as a device driver and provides its own API, which allows the user to export the time-critical code parts of a Windows application into a DLL. This DLL is then loaded into the real-time context of the RTOS. In order for Windows and the DLL to communicate with each other from their different contexts—besides using indirect methods such as pipes or sockets—a shared memory area can be created, which both have access to. Despite the utilization of a real-time operating system, Windows remains as both programming interface and host system for execution.
Why Use Windows as an RTOS?
In contrast to pure real-time operating systems and real-time hardware solutions, a Windows PC offers specific advantages:
- Familiar User Interface: Windows provides a wide-spread, intuitive, and familiar user interface.
- Broad Driver Support: Extensive driver support ensures compatibility with various hardware.
- Regular Updates: Frequent updates and improvements maintain the system’s reliability and security.
- Rich Ecosystem: Access to a wide range of executable programs and development tools.
- Ease of Use: Low implementation and training cost compared to specialized systems.
- Longevity: High market share and continuous development ensure long-term viability.
While hardware solutions such as FPGAs and DSPs can be tailored to specific needs, they often require complex and time-consuming programming. To achieve “hard” real-time functionality under Windows, only a dual-core PC is needed.
Kithara Software: The Best Solution for Real-Time on Windows
Kithara Software is at the forefront of providing real-time solutions for Windows. Their flagship product, the Kithara RealTime Suite, transforms standard Windows PCs into powerful real-time systems capable of meeting the most stringent time-critical requirements. Kithara RealTime Suite offers:
- Deterministic Behavior: High-frequency real-time timers ensure precise and predictable task scheduling.
- Low Latency: Extremely low maximum response times crucial for critical applications.
- Seamless Integration: Uses familiar programming languages and development tools, simplifying the development process.
- Comprehensive Support: Extensive library support for industrial protocols and standards.
Kithara Software’s innovative approach allows for the seamless integration of real-time capabilities with the versatility of the Windows operating system, making it an ideal solution for various industrial applications.
Local Support with Tenet Technetronics
In India, Tenet Technetronics is the official distributor of Kithara Software. We provide comprehensive support and assistance to customers looking to implement real-time solutions on Windows. Tenet Technetronics offers:
- Expert Guidance: Professional advice on selecting and integrating Kithara real-time solutions.
- Local Support: On-the-ground technical support to address any implementation challenges.
- Training and Workshops: Educational resources to help teams quickly get up to speed with Kithara Software.
Conclusion
Windows is optimally suited for industrial applications due to its:
- Intuitive user interface
- Access to the latest communication interfaces
- Efficient developer tools
- Low implementation and training cost
- Longevity due to continuous development and high market share
The missing real-time capabilities of Windows are supplemented by real-time systems such as the Kithara RealTime Suite, enabling the implementation of time-critical applications through:
- Deterministic behavior with high-frequency real-time timers
- Extremely low maximum response times
- Familiar programming languages and tools
- Efficient, easy-to-apply functions
- Short training time and cost-effective development
- Broad support for industrial protocols and standards
Real-Time Windows in Action
Windows and real time are not a contradiction. The seamless interaction of both worlds allows for optimal solutions, often making their utilization in industrial fields possible.
Experience how real-time can be achieved under Windows by trying the free trial version of the Kithara RealTime Suite, complete with full functionality and numerous samples to help you get started. For local support and further assistance, reach out to Tenet Technetronics, your reliable partner in India for real-time solutions on Windows.
Reach out to us at info@tenettech.com to learn more on Kithara Suite of Products and for evaluation/demo licenses to test drive the software for your next project .