Whether you are designing a precision laser cutting machine or writing code for a high-speed semiconductor test system, the bottom line is that many engineering applications have similar requirements. Execution needs to happen in real-time with deterministic timing and reliable results. For years, engineers have been making use these of hard and soft real-time systems to get the job done.
The challenge is that real-time systems, by their very nature, do not typically provide the graphics capabilities needed to provide operators or engineers with information on how the system is performing. While some applications can be deployed and left running in a black-box, systems that require a human machine interface (HMI) leave the designer with little choice: add more hardware.

Traditional real-time systems often feature two computers: one for real-time processor and another to provide graphics (HMI) capabilities.
In many traditional systems, an entire second computer (whether it be single-board or standalone) must be added to a system just to provide HMI capabilities. While this method has been proven as a solution, it means added system cost, increased footprint, and some redundant hardware. Who needs two computers that only use half of their processing power?
Virtualization technology provides a way for engineers (who are willing to slightly increase the complexity of their system) to add an HMI to their real-time applications without extra hardware. While desktop virtualization software like VMWare Workstation won’t provide the real-time performance needed for engineering applications, there exists a second type of virtualization software called bare-metal that does not comprimise determinism. That’s good news for engineers working on reducing the cost of building and maintaining their real-time systems.

Bare-metal virtualization software enables engineers to combine real-time processing and an HMI on the same computing hardware.
By installing bare-metal virtualization software, a real-time OS, and a general purpose OS with built-in graphics capabilities (such as Windows or Linux), engineers that are willing to spend some extra configuration time can build HMI-enabled real-time applications while leaving the extra hardware behind.
For more information on real-time virtualization, visit ni.com/virtualization or post your question here. How are you using virtualization in your engineering application?




tries to execute a privileged instruction (such as I/O access), the virtual machine monitor can alter instructions on-the-fly so that system state isn’t affected. Basically, binary translation relies on software to catch any instructions that would cause problems in a virtualized system.
instruction is executed the processor can use built-in capabilities to automatically call virtual machine monitor (VMM) software. The VMM can then execute safer instructions that have the same result (e.g. I/O) without problems. Examples of hardware assist technology include Intel-VT and AMD-V respectively.
modified (a designer must have access to the source code) to make calls into the VMM whenever necessary. These calls are called “hypercalls”. Paravirtualization, though it involves some work in modifying OS code, can increase performance in a virtualized system by minimizing the number of times that VMM software must be called.


