The virtual memory managing system of the present invention includes a virtual memory managing unit that manages a virtual memory system by combining swap-out in page units and swap-out in task units. The virtual memory managing unit includes: a memory area reserving unit that creates and manages swap management tables corresponding to a memory area reserve requests from tasks and reserves memory areas for the memory area reserve requests; a swap-out control unit that, when swap-out becomes necessary, determines whether swap-out should be carried out in page units or batch swap-out should be carried out in task units, and based on this determination, controls swap-out and sets information in the swap management tables; and a swap-out object limiting means that, when batch swap-out is to be carried out in task units, carries out a limited swap-out based on the swap management tables.
An address translation unit generates a physical address for access to a memory from a virtual address using either a translation lookaside buffer or a segmentation buffer. If the virtual address falls within a predetermined range, the address translation unit will use the segmentation buffer to generate the physical address. Upon generation of the physical address, the memory will either receive data from or provide data to a processor in accordance with the instructions being processed by the processor.
A system and method for eliminating excessive spin conditions on systems implementing a LRU algorithm. This is achieved by limiting the amount of time a LRU task is allowed to run in any one invocation. If this time limit is exceeded before the LRU task has completed its processing, the LRU task will reschedule itself to run after a short time interval, record which frames have been processed so far, release its serialization resources, and exit to open a window of enablement. During this window, other processes that were spinning for the serialization resources can have a chance to run. When the LRU task runs again it will re-obtain the serialization resources and continue processing frames that were not previously processed. The above process will be repeated until all the appropriate frames in the system are in LRU order.
A computer system including a first volatile memory, a nonvolatile memory being virtually divided into a plurality of areas including a first memory area and a second memory area, the first memory area including a first management table thereof, and a controller for controlling data reading and data writing of the volatile memory and the nonvolatile memory, the controller controlling the first volatile memory to store a second management table of the second memory area.