Patent ID: 8146107

Claim:
A method for transmitting data to a real time operating system (RTOS) environment via a virtual machine environment (VME), the method including computer hardware enabled to run the VME for interfacing the RTOS environment with a native host operating system (HOS), the data intended for the RTOS environment, the method comprising: transmitting, the data, from at least one virtual input/output (I/O) service of a plurality of virtual input/output (I/O) services, to the native HOS, wherein said virtual I/O service emulates a hardware service available to the native HOS and wherein said transmitting of said data, is performed by a custom remote procedure call (RPC) of the VME for relaying calls and call responses between the RTOS environment and the native HOS by invoking native HOS services by means of a proxy, to a non-blocking message queue; generating a notification and transmitting said notification from said at least one virtual I/O service to an interrupt emulator of the VME, wherein said notification includes an identifier of said virtual I/O service that originates said notification; generating an interrupt at said interrupt emulator, in response to receiving said notification, wherein said interrupt include an identifier of said virtual I/O service that originates said notification and triggering the RTOS environment to poll the non-blocking message queue to retrieve data from said non-blocking message queue; relaying said interrupt to said RTOS environment via a hardware exception handler emulator of the VME, wherein the hardware exception handler emulator relays said interrupt by triggering said RTOS to save its state and is enabled to manage said interrupts and an exception from the native HOS to make said interrupts and said exception appear to the RTOS environment as if they had occurred on hardware running the RTOS environment natively; and relaying said data to the RTOS environment when a poll for said data is received at said non-blocking message queue from the RTOS environment, said poll triggered at the RTOS environment by said interrupt, wherein said VME further comprises a supervisory instruction emulator, in communication with said hardware exception handler emulator, for at least one of: emulating supervisory instructions executed by the RTOS environment; emulating instructions to handle exceptions invoked due to improper use of hardware; and emulating instructions to handle exceptions invoked due to software intent.