Patent ID: 7478204
Filing Date: 2009-01-13
Classification: G06F

Abstract:
1. A method for efficient sharing of memory between applications running under different operating systems on a shared hardware system, comprising: concurrently executing a first operating system, a first application adapted to execute under control of said first operating system, a second real-time operating system and a second real-time application adapted to execute under control of said second operating system, on a system of shared hardware resources with support from a hypervisor; managing a region of shared memory on behalf of said first and second applications; said first application periodically executing a critical section that accesses shared data in said shared memory region using a mutual exclusion mechanism that prevents said second application from simultaneously accessing said shared data; said first application periodically emerging from said critical section; conditionally avoiding preemption of said first application by both of said first operating system and said hypervisor when said first application is in said critical section accessing said shared data in said shared memory region but allowing preemption when said first application is not executing said critical section; and conditionally minimizing memory access faults due to said first application attempting to access data that is not in physical memory when said first application is in said critical section but allowing unrestricted memory access faults when said first application is not in said critical section; whereby said second application will not be unduly delayed when attempting to access said shared memory region due to delays stemming from said first application's access of said shared memory region.