The LRU paging algorithm is controlled by the amount of available space or maximum size desired. If the available space for new pages falls below an established size, the available space for new pages is increased by removing pages that have not been accessed recently. The Pages to be removed are moved to another space or device.
Also used in a simple ForthLanguage blocked virtual memory management scheme.
Data and code are stored in numbered blocks on the storage medium. When a block is called up, it's read into one of the corresponding blocks of memory used to cache stuff.
When a new block of (virtual) memory is required, the LeastRecentlyUsed block is reused. If it's marked as "dirty", it's written back to storage first.
Simple, but elegant. My description is probably a little off, as it's been many clock cycles since I had that code in front of me. Forthers with more active involvement please feel free to correct.
From the early history of forth, find its use mentioned:
Related: OnePileFilingSystem MemoryManagement