Virtual Machine Environment for RTOS on Host OS
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solutions for porting Real-Time Software Applications (RTSAs) to generic operating systems result in unacceptable latency and poor real-time performance, as they often require modifications to the host operating system or duplication of hardware resources, making them costly and inefficient.
Innovation Solution
A virtual machine environment (VME) is introduced that includes virtual I/O services, a non-blocking messaging queue, an interrupt emulator, and a hardware exception handler emulator to emulate hardware services and manage interrupts, allowing RTOS environments to run on native host operating systems without the need for hardware emulation or modification, enabling efficient resource sharing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a virtual machine manager takes control of underlying hardware and schedules virtual OS instances, then resource sharing is enabled, but latency increases and real-time performance deteriorates
Solution Approach 1:
The patent introduces a hybrid architecture where a native host OS acts as an intermediary layer between the hardware and the virtualized RTOS environment. This mediator handles general resource management and I/O operations, while the RTOS runs in a virtualized environment with direct hardware access paths for time-critical operations, thus enabling resource sharing without compromising real-time performance
Solution Approach 2:
The system segments resource management functions into two parts: non-time-critical resource sharing managed by the native host OS, and time-critical operations managed by the virtualized RTOS environment with direct hardware access. This segmentation allows different QoS levels for different operations, resolving the contradiction between resource sharing and low latency
2Adaptability or versatility
If processor emulation is used to run original processor instructions on new host OS, then portability is achieved, but real-time performance becomes inefficient
Solution Approach 1:
Instead of emulating the entire processor architecture, the patent creates a virtualized environment that copies only the essential hardware interfaces and I/O pathways that the RTOS needs. The native host OS handles the processor emulation for non-critical operations, while the virtualized environment provides direct access paths for time-critical instructions, achieving portability without sacrificing real-time performance
Solution Approach 2:
The system applies different quality levels to different parts of the execution environment: full emulation for non-time-critical operations handled by the host OS, and direct hardware access for time-critical RTOS operations. This local differentiation allows the system to be portable where needed while maintaining high performance where required
3Reliability
If one processor is dedicated to RTSA with RTOS and another to other applications, then real-time isolation is achieved, but hardware resources must be duplicated and utilization efficiency decreases
Solution Approach 1:
The native host OS serves multiple functions: it manages general system resources, handles non-time-critical I/O operations, and provides the virtualization layer for the RTOS environment. This multi-functionality eliminates the need for dedicated hardware for each function, reducing hardware duplication while maintaining real-time isolation through virtualization boundaries
Solution Approach 2:
The patent merges the functions of hardware management, general OS services, and RTOS virtualization into a single integrated system. The native host OS and virtualized RTOS environment share the same physical hardware resources, with the virtualization layer providing isolation and resource allocation. This combining approach reduces hardware duplication while maintaining real-time performance through dedicated virtualized access paths
Data Source
AI summary
A method for transmitting data to a RTOS environment via a virtual machine environment (VME) includes at least one virtual I/O service, and a custom remote procedure call for relaying calls and call responses between the RTOS and the native HOS by invoking HOS services by means of a proxy, to a non-blocking message queue. A notification is generated and transmitted from the I/O to an interrupt emulator. An interrupt is generated and includes an identifier of the I/O and triggers the RTOS to poll the non-blocking message queue to retrieve data. Relaying the interrupt to the RTOS via a hardware exception handler emulator, which makes the interrupts and an exception appear as if they had occurred on the RTOS natively. Relaying the data to the RTOS when a poll for the data is received at the non-blocking message queue. The VME includes a supervisory instruction emulator for emulating instructions.


