A virtual memory management system and method in which the mechanism for swapping in pages of memory in secondary storage replaces the overhead of retrieving pages from secondary storage by swapping logically contiguous clusters of pages each time that a page from secondary memory is needed. To improve the efficiency of in-page clustering, the size of the clusters which are read in are heuristically adjusted. Clustered pages are not entered into the working set until they are accessed by the process. Instead, the cluster of pages read in from secondary memory are initially entered a "standby list" of pages which are more eligible for reallocation than pages in the working set of the process. If the process does not access a particular cluster page within a relatively short period of time of its entry onto the standby list it is reallocated by the system's memory manager. In this way, in-page cluster pages do not replace potentially more valuable pages in the working set until those pages are actually requested by the process. Depending on whether the cluster pages are used before being reallocated, cluster sizes in corresponding portions of the virtual memory space are increased or decreased.
The present invention overcomes the drawbacks of conventional operating system implementations of virtual to physical memory address mapping by providing a method for free physical page management and translation of virtual addresses to physical addresses that increases the effectiveness of the cache memory by reducing the thrashing caused by unfavorable mapping of virtual to physical addresses.
A personality operating system neutral pager manages the backing store of a microkernel data processing system, by interacting with any one of a variety of personality servers that provide a unique personality interface to a source of data for the system. By partitioning the backing storage management functions performed by the personality neutral pager from those personality unique functions performed by the personality servers, backing space can be flexibly managed in the memory of the microkernel system, independent of the eccentricities in the formats and interfaces imposed by diverse data sources such as magnetic disk drives, optical storage devices, distributed data processing networks, and telecommunications networks.
A method, system and process for providing an improved database blocking technique for updatable and scrollable cursors is disclosed. The invention is facilitated by the operation of a process in the memory of a processor. The processor, under the control of the process, builds a reserved area in the memory of the computer. The reserved area in the memory contains an image of a portion of the information residing on disk in the database. When an application opens a cursor to a database, the type of blocking is specified for that cursor. The application issues a fetch request, and if the row is not in the block in the reserved area in the memory, then a remote procedure call is performed to get the required next block of rows and return the block containing the rows back to the application. Various lock data structures are employed to manage and control the processing.
One embodiment of the present invention provides a resource scheduler for allocating a computer system resource, such as execution time within a processor, to database management system (DBMS) processes. The resource scheduler operates according to scheduling plans and policies. One or more plans may be configured and loaded with the DBMS. Each plan allocates the resource according to an associated policy but only one plan is active at a time. During operation of the DBMS, either or both of the active plan and policy may be exchanged for an alternate plan or policy without halting operation of the DBMS or the computer system.
A method and apparatus for implementing virtual memory having multiple selected page sizes are provided. A virtual address includes a map index and a frame offset. A selector mechanism receives the virtual address frame offset and generates an offset and index. A frame map table indexes the virtual address map index and the selector generated index and generates a base address. The frame map table generated base address and the selector generated offset are combined to provide a physical address.