Patent ID: 6629111
Filing Date: 2003-09-30
Classification: G06F,Y10S

Abstract:
In a virtual memory system, a method of loading at least a portion of a DLL into virtual memory when at least a portion of the DLL is called by a running application, comprising:maintaining a set of memory segments using a memory segment list, each one of the set of memory segments having one or more associated attributes; determining from the memory segment list whether at least a portion of a DLL having one or more associated attributes can be stored in an unoccupied portion of one of the set of memory segments, the memory segment list including one or more entries, each of the one or more entries being associated with one of the set of memory segments and being adapted for identifying a size of an unoccupied portion within the memory segment; if it is determined that the at least a portion of the DLL can be stored in an unoccupied portion of one of the set of memory segments, dividing the one of the set of memory segments such that the one of the set of memory segments includes an occupied portion of the one of the set of memory segments and a new memory segment includes the unoccupied portion of the one of the set of memory segments, storing the portion of the DLL in the new memory segment, associating a virtual address in the virtual memory with the portion of the DLL, and updating the memory segment list to include the virtual address associated with the portion of the DLL; and if it is determined that the portion of the DLL cannot be stored in an unoccupied portion of one of the memory segments, allocating a new memory segment including one or more pages, storing the portion of the DLL in the new memory segment, associating a virtual address in the virtual memory with the portion of the DLL, and updating the memory segment list to include the virtual address associated with the portion of the DLL.