17. Januar 2018

Das neue KiK64

Für diejenigen, die sie noch nicht kennen, hier ein kurzer Rückblick:

Im Unterschied zu normalen Anwendungen ist auf der Kernel-Ebene eines 64-Bit-Windows auch nur 64-Bit-Echtzeitcode lauffähig. "KiK64" (Kithara-32-in-Kithara-64) ermöglichte, dass auch 32-Bit-Echtzeitcode unter 64-Bit-Windows-Systemen ausführbar war. Das alte KiK64 nahm die dafür notwendigen fortlaufenden Addressumrechnungen vor.

Was bisher grundsätzlich funktionierte, hatte jedoch einige Einschränkungen was Leistungfähigkeit sowie Kompatibilität mit aktuellen und zukünftigen Windows-Versionen angeht. In der aktuell veröffentlichten Version unserer Software gibt es deshalb ein verbessertes KiK64-Konzept. Dies sind einige der Unterschiede zwischen alt und neu:

KiK64 bisher

  • 32-Bit-Anwendung (EXE) und 32-Bit-Echtzeit-DLL
  • nur bis Windows 7
  • einige Echtzeit-Funktionen eingeschränkt
  • kein nativer Code, häufige Adressumrechnungen, CPU-Leistung dadurch deutlich gemindert

KiK64 künftig

  • 32-Bit-Anwendung (EXE) und 64-Bit-Echtzeit-DLL
  • bis einschließlich Windows 10 und zukünftiger Versionen
  • Echtzeit-Funktionen ohne Einschränkungen
  • nativer Code, keine Adressumrechungen, somit volle CPU-Leistung und optimales Echtzeitverhalten

Zusätzlicher Unterschied hinsichtlich Shared Memory: Beim neuen KiK64 gibt es eine 32-Bit-Sicht auf den Speicher aus der EXE, während eine 64-Bit-Sicht auf den Speicher aus der Echtzeit-DLL heraus besteht. Daher ist das Shared Memory so zu organisieren, dass trotz unterschiedlicher Sicht auf den Speicher beide zu identischen Zugriffen führen. Eine genauere Anleitung dafür finden Sie hier (Abschnitt: "Spezielle Vorgehensweise mit KiK64").

Mehr Flexibilität

Das neue KiK64-Konzept ermöglicht, dass mit einer einzigen 32-Bit-Anwendung (EXE), bei vollem Funktionsumfang und Echtzeitleistung, sowohl auf 32-Bit-Systemen als auch 64-Bit-Systemen gearbeitet werden kann. Dazu stellt der Entwickler lediglich eine 32-Bit-DLL bzw. eine 64-Bit-DLL bereit, je nachdem, auf welchem System der Code ausgeführt werden soll.

Update

Die neue KiK64-Funktion wird mit Erscheinen automatisch mit dem neuen "Base/Kernel Module", einer Verschmelzung dieser beiden Module, mitgeliefert. Dies gilt nur für 64-Bit-Versionen der Software.