Real-Time Extensions

Basic Functions

Kithara RealTime Suite is a real-time extension for Windows. As a function library, it covers a wide range of different areas that are required for PC-based automation:

  • Real-time multitasking system
  • Hardware-dependent programming
  • Real-time communication
  • Automation and fieldbus protocols
  • Real-time machine vision
  • Automotive protocols
Windows in real time

Modules

The basic functions of the modular system of Kithara RealTime Suite consist of the following components:

  • General management, execution of real-time code at kernel level, real-time memory management, debugging support, system information Base/Kernel Module
  • Interception of system events, fail-safe handler System Module
  • Mathematical/trigonometrical and string/memory functions in real time Runtime Library

Base/Kernel Module

General management, debugging-support, system information, basic resources, device-handling

  • Common
  • Features
  • Supported Hardware
  • Extensions

The Base/Kernel Module is generally the basis for every real-time system of Kithara RealTime Suite. It provides functions for opening the real-time driver from the Windows application as well as for the execution of real-time code at kernel level in order to reach the real-time context. It enables functions for general management tasks, version information and helper functions for debugging and for determining system information. It also contains mechanisms for fundamental resources such as real-time tasks, events, callbacks, shared memory, data and message pipes and fast mutex objects. Additonally, it provides functions for real-time memory management, memory copy as well as generic WDM drivers for plug-and-play installation. The integrated KiK64 allows for 32-bit code to run on 64-bit systems (only with the 64-bit version of Kithara RealTime Suite)

Maximum number of 12 logical CPUs incl. Hyperthreading, above requires Kernel CPU Extension.

Maximum 32 Gbyte RAM, above requires Kernel Memory Extension.

  • Functions for opening the driver
  • Execution of real-time code at kernel level
  • Retrieve error descriptions
  • Debugging support
  • Determining system information
  • Real-time tasks
  • Functions for event and callback objects, fast mutex objects
  • Functions for shared memory
  • Data and message pipes with automatic decoupling between writing and reading side
  • Device information, driver management
  • Real-time memory management
  • Memory copy function for real-time context
  • Generic WDM driver for plug-&-play installation included
  • Generated log messages compatible to Kithara Kernel Tracer
  • KiK64 function: 32-bit code executable on 64-bit systems (only with the 64-bit version of Kithara RealTime Suite)
  • Only languages that can generate native machine code (C/C++ or Delphi)
  • Base/Kernel Module Addons: Kernel CPU Extension, Kernel Memory Extension

The following system requirements are necessary:

  • Support of the CMPXCHG8B/CMPXCHG16B CPU instruction

Kernel CPU Extension

Extension for using additional logical CPUs up to 48 (more on request)

Kernel Memory Extension

Extension for using additional PC RAM

  • Extended Level: up to 128 GByte
  • Unlimited Level (requires Extended Level): unlimited

Kernel NUMA Extension

Use of multi-socket systems with “non-uniform memory access” architecture in real time, automatic optimization of memory allocation.

Thunderbolt Extension

Support for devices connected with Thunderbolt.

System Module

Interception of system events, Fail-Safe-Handler

  • Common
  • Features

The System Module provides the interception of system events, e. g. protection faults and system crashes at the kernel level. For that purpose pre-registered handler (Callback functions or real-time tasks) can be started. Thus, FailSafe handler ("BlueScreen handler") can be implemented and in case of an error a predefined reaction can be executed.

  • Interception of system events with Callback functions and real-time tasks in the case of protection faults and system crashes at the kernel level
  • Implementation of FailSafe handler (“BlueScreen handler”)

Runtime Library

Mathematical/trigonometric and string/memory functions in real-time

  • Common
  • Features

For the execution of application codes in a real-time context, functions of the common runtime library are often required. However, they are possibly not qualified for real-time execution. Therefore, the Runtime Library provides real-time modified functions of the C-standard library, including mathematical/trigonometric and string/memory functions in real-time.

  • Specific real-time based implementation of C-standard library functions
  • More than 20 mathematical/trigonometric functions (e. g. cos, tan, arcus and hyperbolicus functions, exp, log, pow, sqrt, floor, ceil)
  • More than 20 string/memory functions (e. g. memcpy, memset, strlen, strcmp, strcpy, strcat, strtok)
  • Supports application and kernel level