Computer system with virtual memory and paging mechanism
First Claim
1. A method of operating a computer system supporting virtual memory and a paging mechanism, said method comprising the steps of:
- creating a process in memory, said process including at least one component in a first pageable memory region having a first paging characteristic, said first memory region being located at a first virtual address, wherein said first memory region comprises one or more memory segments, wherein the first memory region comprises a process heap segment;
expanding the heap segment;
making a copy in virtual memory of said at least one component at a virtual address different from said first virtual address after said expanding the heap segment;
retaining a portion of the heap in said first memory region having the first paging characteristic; and
replacing the first memory region at the first virtual address with a second pageable memory region having a second paging characteristic, wherein said second memory region comprises one or more memory segments;
wherein said copy of the at least one component is stored in the second memory region having the second paging characteristic.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer system supports virtual memory and a paging mechanism. When a new process is created, this occupies one or more memory region. In one embodiment, at least a first memory region occupied by the process at a first virtual address has predefined, fixed, page characteristics (for example page size). It turns out that these are not optimum for the performance of the process. In order to address this, a routine in a shared library is invoked to copy the component from the first memory region into a second memory region. The second memory region either has different page characteristics from the first memory region (for example, a different page size), or is modifiable to have such different page characteristics. The second memory region is reallocated in virtual memory so that it replaces the first memory region at the first virtual address. The overall consequence of this is that at least one component of the process can now operate at a more suitable page characteristic (such as page size), thereby leading to improved performance.
16 Citations
44 Claims
-
1. A method of operating a computer system supporting virtual memory and a paging mechanism, said method comprising the steps of:
-
creating a process in memory, said process including at least one component in a first pageable memory region having a first paging characteristic, said first memory region being located at a first virtual address, wherein said first memory region comprises one or more memory segments, wherein the first memory region comprises a process heap segment; expanding the heap segment; making a copy in virtual memory of said at least one component at a virtual address different from said first virtual address after said expanding the heap segment; retaining a portion of the heap in said first memory region having the first paging characteristic; and replacing the first memory region at the first virtual address with a second pageable memory region having a second paging characteristic, wherein said second memory region comprises one or more memory segments; wherein said copy of the at least one component is stored in the second memory region having the second paging characteristic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer system supporting virtual memory and a paging mechanism, and including:
-
means for creating a process in memory, said process including at least one component in a first pageable memory region having a first paging characteristic, said first memory region being located at a first virtual address, wherein said first memory region comprises one or more memory segments, wherein the first memory region comprises a process heap segment; means for expanding the heap segment; means for making a copy in virtual memory of said at least one component at a virtual address different from said first virtual address after expanding the heap segment; means for retaining a portion of the heap in said first memory region having the first paging characteristic; and means for replacing the first memory region at the first virtual address with a second pageable memory region having a second paging characteristic, wherein said second memory region comprises one or more memory segments; wherein said copy of the at least one component is stored in the second memory region having the second paging characteristic. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer program product comprising instructions in machine readable form on a storage medium, said instructions when loaded into a computer system supporting virtual memory and a paging mechanism operable to make the system perform a method comprising the steps of:
-
creating a process in memory, said process including at least one component in a first pageable memory region having a first paging characteristic, said first memory region being located at a first virtual address, wherein said first memory region comprises one or more memory segments, wherein the first memory region comprises a process heap segment; expanding the heap segment; making a copy in virtual memory of said at least one component at a virtual address different from said first virtual address after said expanding the heap segment; retaining a portion of the heap in said first memory region having the first paging characteristic; and replacing the first memory region at the first virtual address with a second pageable memory region having a second paging characteristic, wherein said second memory region comprises one or more memory segments; wherein said copy of the at least one component is stored in the second memory region having the second paging characteristic. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
-
40. A computer system supporting virtual memory and a paging mechanism, and comprising:
-
a process including at least one component in a first pageable memory region having a first paging characteristic, said first memory region being located at a first virtual address and comprising a process heap segment; a duplication routine for application to said at least one component to make a copy in virtual memory of said at least one component at a virtual address different from said first virtual address, wherein the copy is made after expanding the process heap segment; and a second pageable memory region having a second paging characteristic; wherein the first memory region at the first virtual address is replaced with said second memory region, wherein said copy of the at least one component is stored in the second memory region having the second paging characteristic, and wherein a portion of the process heap segment is retained in the first memory region having the first paging characteristic.
-
-
41. A method of operating a computer system supporting virtual memory and a paging mechanism, said method comprising the steps of:
-
creating a process in memory, said process including at least one component in a first pageable memory region having a first paging characteristic, said first memory region being located at a first virtual address and comprising a process heap segment; expanding the process heap segment; copying said at least one component from said first memory region into a second pageable memory region having a second paging characteristic, thereby making a copy of said at least one component in virtual memory at a virtual address different from said first virtual address; and reallocating the second memory region in virtual memory so that it replaces the first memory region at said first virtual address while retaining the second paging characteristic, wherein a portion of the process heap segment is retained in the first memory region having the first paging characteristic.
-
-
42. A method of operating a computer system having at least first and second processors and a non-uniform memory architecture, and supporting virtual memory and a paging mechanism, said method comprising the steps of:
-
storing process code for the first processor in a first pageable memory region comprising a process heap segment; expanding the process heap segment; making a copy in virtual memory of said process code in a second pageable memory region; replacing the first memory region for the second processor with the second memory region at the same virtual address; wherein said first and second memory regions have different latencies from the perspective of the second processor, and wherein a portion of the process heap segment is retained in the first memory region having the first paging characteristic.
-
-
43. A computer system having at least first and second processors and a non-uniform memory architecture, and supporting virtual memory and a paging mechanism, said system comprising:
-
means for storing process code for the first processor in a first pageable memory region comprising a process heap segment; means for expanding the process heap segment; means for making a copy in virtual memory of said process code in a second pageable memory region; and means for replacing the first memory region for the second processor with the second memory region at the same virtual address; wherein said first and second memory regions have different latencies from the perspective of the second processor, and wherein a portion of the process heap segment is retained in the first memory region having the first paging characteristic.
-
-
44. A computer program product comprising instructions in machine readable form on a storage medium, said instructions when loaded into a computer system having at least first and second processors and a non-uniform memory architecture, and supporting virtual memory and a paging mechanism, operable to cause the system to perform the steps of:
-
storing process code for the first processor in a first pageable memory region comprising a process heap segment; expanding the process heap segment; making a copy in virtual memory of said process code in a second pageable memory region; replacing the first memory for the second processor with the second memory region at the same virtual address; wherein said first and second memory regions have different latencies from the perspective of the second processor, and wherein a portion of the process heap segment is retained in the first memory region having the first paging characteristic.
-
Specification