Claims
- 1. A method for dynamically setting an optimal base address for a component of a process comprising:
detecting that a process has been loaded from a persistent storage into a memory of a computer system, wherein said process is comprised of one or more components; for each of said components, determining whether an in-memory base address is equivalent to a preferred base address of an on-disk representation of the component; and in response to determining that for a selected component the in-memory base address is not equivalent to the preferred base address, updating the on-disk representation of the selected component to reflect the in-memory base address.
- 2. A computer readable medium having stored thereon computer executable instruction for performing the method of claim 1.
- 3. The method of claim 1, wherein detecting that the process has been loaded from the persistent storage into the memory further comprises the steps of:
determining if the process has been loaded into the memory within a specified time limit; and if the process has been loaded into the memory within the specified time limit, awaiting a detection that another process has been loaded from the persistent storage into the memory.
- 4. The method of claim 1, further comprising the step of saving an audit report for recording transaction data associated with the step of updating the on-disk representation of the selected component to reflect the in-memory base address.
- 5. The method of claim 1, wherein determining for each of said components whether the in-memory base address is equivalent to the preferred base address of the on-disk representation of the component comprises:
creating a list of all of the components in the process; and for each component in the list, comparing the component's in-memory base address to the preferred base address of the on-disk representation of the component.
- 6. The method of claim 1, wherein determining that for the selected component the in-memory base address is not equivalent to the preferred base address further comprises determining that a conflicting component caused the selected component to be relocated to the in-memory base address.
- 7. A computer readable medium having stored thereon computer executable instruction for performing the method of claim 6.
- 8. The method of claim 6, further comprising the step of recording relocation information to a file; and
wherein said relocation information identifies the conflicting component, the selected component, the in-memory base address of the selected component and the preferred base address of the on-disk representation of the selected component.
- 9. The method of claim 8, wherein updating the on-disk representation of the selected component to reflect the in-memory base address comprises:
based on the relocation information, changing the preferred base address of the on-disk representation of the selected component to the in-memory base address; and binding the on-disk representation of the selected component to the in-memory base address.
- 10. A computer readable medium having stored thereon computer executable instruction for performing the method of claim 9.
- 11. The method of claim 8, further comprising the steps of:
prior to changing the preferred base address of the on-disk representation of the selected component to the in-memory base address, determining that the selected component is still loaded in the memory; and in response to determining that the selected component is still loaded in the memory, employing a technique to allow the preferred base address of the on-disk representation of the selected component to be changed while the selected component remains in the memory.
- 12. The method of claim 11, wherein said technique comprises:
renaming the on-disk representation of the selected component from an original name to a new name; making a copy of renamed on-disk representation of the selected component; and renaming the copy of the renamed on-disk representation of the selected component to the original name.
- 13. A computer readable medium having stored thereon computer executable instruction for performing the method of claim 12.
- 14. The method of claim 1, wherein updating the on-disk representation of the selected component to reflect the in-memory base address comprises:
changing the preferred base address of the on-disk representation of the selected component to the in-memory base address; and binding the on-disk representation of the selected component to the in-memory base address.
- 15. The method of claim 14, further comprising the steps of:
prior to changing the preferred base address of the on-disk representation of the selected component to the in-memory base address, determining that the selected component is still loaded in the memory; and in response to determining that the selected component is still loaded in the memory, employing a technique to allow the preferred base address of the on-disk representation of the selected component to be updated while the selected component remains in the memory.
- 16. The method of claim 15, wherein said technique wherein said technique comprises:
renaming the on-disk representation of the selected component from an original name to a new name; making a copy of renamed on-disk representation of the selected component; and renaming the copy of the renamed on-disk representation of the selected component to the original name.
- 17. A computer readable medium having stored thereon computer executable instruction for performing the method of claim 16.
- 18. A system for dynamically setting an optimal base address for a component of a process comprising:
a persistent storage for storing a process, the process comprising one or more components; a memory being logically divided into a plurality of in-memory addresses; and a processor for executing computer-executable instructions for:
detecting that one or more of the components of the process have been loaded from the persistent storage into the memory, for each of the components, determining the in-memory base address of the component is equivalent to the preferred base address of the on-disk representation of the component, and in response to determining that for a selected component the in-memory base address is not equivalent to the preferred base address, updating the on-disk representation of the selected component to reflect the in-memory base address.
- 19. The system of claim 18, wherein detecting that the process has been loaded from the persistent storage into the memory further comprises the steps of:
determining if the process has been loaded into the memory within a specified time limit; and if the process has been loaded into the memory within the specified time limit, awaiting a detection that another process has been loaded from the persistent storage into the memory.
- 20. The system of claim 18, wherein the processor executes further computer-executable instructions for:
creating an audit report for recording transaction data associated with updating the on-disk representation of the selected component to reflect the in-memory base address.
- 21. The system of claim 18, wherein determining for each of said components whether the in-memory base address is equivalent to the preferred base address of the on-disk representation of the component comprises:
creating a list of all of the components in the process; and for each component in the list, comparing the component's in-memory base address to the preferred base address of the on-disk representation of the component.
- 22. The system of claim 21, wherein determining that for the selected component the in-memory base address is not equivalent to the preferred base address further comprises determining that a conflicting component caused the selected component to be relocated to the in-memory base address.
- 23. The system of claim 22, wherein the processor executes further computer-executable instructions for recording relocation information to a file; and
wherein said relocation information identifies the conflicting component, the selected component, the in-memory base address of the selected component and the preferred base address of the on-disk representation of the selected component.
- 24. The system of claim 23, wherein updating the on-disk representation of the selected component to reflect the in-memory base address comprises:
based on the relocation information, changing the preferred base address of the on-disk representation of the selected component to the in-memory base address; and binding the on-disk representation of the selected component to the in-memory base address.
- 25. The system of claim 24, wherein the processor executes further computer-executable instructions for:
prior to changing the preferred base address of the on-disk representation of the selected component to the in-memory base address, determining that the selected component is still loaded in the memory; and in response to determining that the selected component is still loaded in the memory, employing a technique to allow the preferred base address of the on-disk representation of the selected component to be changed while the selected component remains in the memory.
- 26. The system of claim 25, wherein said technique comprises:
renaming the on-disk representation of the selected component from an original name to a new name; making a copy of renamed on-disk representation of the selected component; and renaming the copy of the renamed on-disk representation of the selected component to the original name.
- 27. The system of claim 18, wherein updating the on-disk representation of the selected component to reflect the in-memory base address comprises:
based on the relocation information, changing the preferred base address of the on-disk representation of the selected component to the in-memory base address; and binding the on-disk representation of the selected component to the in-memory base address.
- 28. The system of claim 27, wherein the processor executes further computer-executable instructions for:
prior to changing the preferred base address of the on-disk representation of the selected component to the in-memory base address, determining that the selected component is still loaded in the memory; and in response to determining that the selected component is still loaded in the memory, employing a technique to allow the preferred base address of the on-disk representation of the selected component to be changed while the selected component remains in the memory.
- 29. The system of claim 28, wherein said technique comprises:
renaming the on-disk representation of the selected component from an original name to a new name; making a copy of renamed on-disk representation of the selected component; and renaming the copy of the renamed on-disk representation of the selected component to the original name.
RELATED APPLICATION
[0001] The present application claims the benefit of U.S. Provisional Patent Application Serial No. 60/265,684 filed Jan. 31, 2001, which is hereby incorporated by reference as if set forth fully herein.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60265684 |
Jan 2001 |
US |