Patent ID: 7523469

Claim:
A system for enabling inter-subsystem resource sharing, comprising: a processor and memory; a remote procedure call client component of a first subsystem of an operating system that receives a request from an application to access a resource of a second subsystem of the operating system, the remote procedure call client component providing a proxy for the resource and sending a request to an associated remote procedure call server component to provide access, wherein the remote procedure call client component and the associated remote procedure call server component execute on the same CPU, the remote procedure call server component associated with the second subsystem of the operating system, wherein the first subsystem is different from the second subsystem; a synchronization component that, upon determining that a result relating to the request is available in a memory region accessible by the remote procedure call server component of the second subsystem of the operating system, synchronizes the memory region accessible by the remote procedure call server component with a corresponding memory region accessible by the remote procedure call client component to make the result available to the application that requested access to the resource; and the synchronization component that, upon determining that a parameter referencing a memory region of the remote procedure call client component is to be made available at the remote procedure call server component of the second subsystem of the operating system, synchronizes the memory region of the remote procedure call client component with a corresponding memory region of the remote procedure call server component to make the parameter available to the resource, the parameter provided by the remote procedure call client component when invoking a function of the remote procedure call server component; wherein the synchronization component employs one or more data structures by adding and removing data in the one or more data structures to determine the corresponding memory regions.