Efficient sharing of memory between applications running under different operating systems on a shared hardware system
First Claim
1. A system for efficient sharing of memory between applications running under different operating systems on a shared hardware system, comprising:
- a first operating system;
a first application adapted to execute under control of said first operating system;
a second real-time operating system;
a second real-time application adapted to execute under control of said second operating system;
a hypervisor supporting concurrent execution of said first and second operating systems on a system of shared hardware resources;
a region of shared memory managed on behalf of said first and second applications; and
means for avoiding preemption of said first application when it is accessing said shared memory region;
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.
2 Assignments
0 Petitions
Accused Products
Abstract
A system, method and computer program product for efficient sharing of memory between first and second applications running under first and second operating systems on a shared hardware system. The hardware system runs a hypervisor that supports concurrent execution of the first and second operating systems, and further includes a region of shared memory managed on behalf of the first and second applications. Techniques are used to avoid preemption when the first application is accessing the shared memory region. In this way, the second application will not be unduly delayed when attempting to access the shared memory region due to delays stemming from the first application'"'"'s access of the shared memory region. This is especially advantageous when the second application and operating system are adapted for real-time processing. Additional benefits can be obtained by taking steps to minimize memory access faults.
-
Citations
38 Claims
-
1. A system for efficient sharing of memory between applications running under different operating systems on a shared hardware system, comprising:
-
a first operating system;
a first application adapted to execute under control of said first operating system;
a second real-time operating system;
a second real-time application adapted to execute under control of said second operating system;
a hypervisor supporting concurrent execution of said first and second operating systems on a system of shared hardware resources;
a region of shared memory managed on behalf of said first and second applications; and
means for avoiding preemption of said first application when it is accessing said shared memory region;
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. 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; and
avoiding preemption of said first application when it is accessing said shared memory region;
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. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer program product for efficient sharing of memory between applications running under different operating systems on a shared hardware system, comprising:
-
one or more data storage media;
programming means recorded on said data storage media for programming a system of shared hardware resources to operate as by;
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; and
avoiding preemption of said first application when it is accessing said shared memory region;
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. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. An application computer program product for implementing a first application that runs under a first operating system while efficiently sharing memory with a second real-time application that runs under a second real-time operating system on a shared hardware system running a hypervisor to support concurrent execution of said operating systems, and in which a region of shared memory is managed for use by said applications, comprising:
-
one or more data storage media;
programming means recorded on said data storage media for programming said system of shared hardware resources to operate as by;
said first application providing a first indication to said first operating system or said hypervisor that said first application is not to be preempted when it is accessing said shared memory region; and
said first application responding to a second indication from said first operating system or said hypervisor that said first application needs to be preempted when it finishes accessing said shared memory region;
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.
-
-
32. An operating system computer program product for implementing a first operating system that runs a first application which efficiently shares memory with a second real-time application that runs under a second real-time operating system on a shared hardware system running a hypervisor to support concurrent execution of said operating systems, and in which a region of shared memory is managed for use by said applications, comprising:
-
one or more data storage media;
programming means recorded on said data storage media for programming said system of shared hardware resources to operate as by;
said first operating system checking a first indication that said first application is not to be preempted when it is accessing said shared memory region; and
said first operating system providing a second indication to said first application that said first application needs to be preempted when it finishes accessing said shared memory region;
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. - View Dependent Claims (33, 34, 36, 37)
-
-
35. A hypervisor computer program product for implementing a hypervisor that supports concurrent execution of a first application running under a first operating system that efficiently shares a common memory region with a second real-time application running under a second real-time operating system on a shared hardware system that runs said hypervisor, comprising:
-
one or more data storage media;
programming means recorded on said data storage media for programming said system of shared hardware resources to operate as by;
said hypervisor checking a first indication that said first application is not to be preempted when it is accessing said shared memory region; and
said hypervisor providing a second indication to said first application that said first application needs to be preempted when it finishes accessing said shared memory region;
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.
-
-
38. A system for efficient sharing of memory between applications running under different operating systems on a shared hardware system, comprising:
-
a first operating system;
a first application adapted to execute under control of said first operating system;
a second operating system;
a second application adapted to execute under control of said second operating system;
a hypervisor supporting concurrent execution of said first and second operating systems on a system of shared hardware resources;
a region of shared memory managed on behalf of said first and second applications;
means for avoiding preemption of said first application when it is accessing said shared memory region; and
means for minimizing memory access faults when said first application is accessing said shared memory region;
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.
-
Specification