RTX: Real Time eXtensions for Windows

from Wikipedia, the free encyclopedia
RTX
RTX64.png
developer IntervalZero
License (s) EULA
Current  version RTX2016 (32-bit)
RTX64 3.0 (64-bit)
Architecture (s) x86 , x64
www.IntervalZero.com

RTX ( R eal T ime e X tensions for Windows) is a technology developed by IntervalZero real-time extension that Microsoft Windows is transformed into a real-time operating system. It was the first real-time Windows product.

description

Starting with Windows version NT 3.5, the software has continuously supported the NT architecture since 1994. The RTX 2016 version is currently available for the 32-bit and the RTX64-3.0 version for the 64-bit version of Windows.

RTX is used by embedded device manufacturers who use Windows as a commercial operating system but have the need for a real-time operating system (RTOS). Additional real-time hardware can be dispensed with through the use of software.

The software is mainly used in automation, in the military , in aerospace technology , medical devices, digital media and measurement technology, in video games, but also in future-proof, intelligent power grid applications (e.g. monitoring of energy production in Power plants and energy distribution ( smart grid )).

history

RTX was originally developed by VenturCom , which was renamed Ardence in 2005 . Ardence was bought by Citrix two years later . In 2008, Citrix spun off the Embedded Systems division under the name IntervalZero . Since then, RTX and its subsequent versions have been further developed and maintained by IntervalZero.

Technical details

HAL extension (Hardware Abstraction Layer)

RTX64 / RTX is based on an extension of the Windows HAL . The RTX64 / RTX-HAL extension initializes and starts the processors assigned to RTX64 / RTX and provides the RTX64 / RTX real-time subsystem (RTSS) with high-resolution timers (up to 1 microsecond). It also offers isolation mechanisms for interrupts.

Symmetrical Multiprocessor System (SMP)

Like Windows, RTX64 and RTX are based on an SMP architecture. Depending on the respective real-time requirements, the RTX64 / RTX user can choose the number of processors that he assigns to RTX in order to execute his real-time applications (up to 63 assigned processors for RTX64, and up to 31 processors for RTX). By configuring the threads and the interrupt binding, the user then divides his real-time applications among the processors assigned to RTX / RTX64.

Interrupt management

RTX64 / RTX supports both line -based ( IRQs ) and message-based (MSI / MSI-X) interrupts. The latency times of the Interrupt Service Thread (IST) are less than 10 microseconds.

Memory management

The deterministic memory that can be assigned to RTX64 / RTX is formed from the "non-paged" memory areas of the system memory. The "non-paged" memory area that can be assigned to RTX64 / RTX, for example under Windows 7 RTX64 / RTX, is:

  • with 32-bit: 75% of the RAM up to a maximum of 2 GB
  • with 64-bit: 75% of the RAM up to a maximum of 128 GB

Scheduling

A common scheduler is used across all real-time processors. A common scheduler (one instance for all real-time cores) assigns the corresponding task to the real-time cores. A Symmetric Multiprocessing Scheduler uses both priority-controlled (128 priority levels) and preemptive algorithms to ensure time-critical thread switchovers. In order to avoid an inversion of the priorities, the real-time subsystem (RTSS) implements the classic solution of priority promotion. This means that high-priority threads run in a sub-microsecond range.

Windows interaction

Due to the strict separation of the real-time applications from Windows and the Windows processes, even a Windows STOP or shutdown message does not affect the real-time process, which continues to run independently (but without being able to use Windows services) until a security shutdown. The Windows-RTX64 / RTX communication is carried out as standard using interprocess communication between Windows applications (Windows user processes or Windows kernel drivers) and real-time processes. Events , mutexes and semaphores can be used for synchronization, shared memory and sockets are used to share data for communication .

RTX64 / RTX application development

Application development for RTX64 / RTX is done with Microsoft Visual Studio in C / C ++ with Windows-like APIs. RTX64 / RTX executable files have the extension «.rtss» and DLLs use «.rtdll».

Network communication

The RT-TCP / IP real-time stack supports TCP / UDP / IP networks for RTX64 / RTX processes; RTX64 / RTX shared NICs drivers are provided with the RT-TCP / IP real-time stack.

Individual evidence

  1. http://www.all-electronics.de/texte/verbindungen/49092/Transformiert-Windows-in-ein-RTOS
  2. Real-Time for Windows Support. United Electronic Industries, accessed April 12, 2015 .
  3. https://www.intervalzero.com/products/product-release-notices/
  4. IntervalZero: RTX64 Downloads
  5. http://www.computer-automation.de/steuerungsebene/industrie-pc/artikel/112952/2/
  6. http://www.businesswire.com/news/home/20120517005456/de/#.VSfBdvWJjcs
  7. IntervalZero Overview. IntervalZero, accessed April 17, 2015 .
  8. http://www.intervalzero.com/german/technische-daten-rtx-64rtx/