A page-replacement algorithm guides the operating system when it needs to create more free pages by reclaiming pages that are filled with data. The Mach kernel approximates the familiar Least Recently Used (LRU) algorithm with an algorithm known as FIFO with Second Chance. This Strategy uses page-referenced information to avoid reclaiming recently- referenced pages. On hardware lacking such support, the kernel must detect references in software.
This paper describes the Mach kernel's page-replacement algorithm and considers three software techniques for detecting references. It shows that Mach 3.0's reference fault technique output outperforms Mach 2.5's reactivation fault technique, and also outperforms reference detection via a software TLB miss handler. Based on performance of the Mach 3.0 implementation, we conclude that hardware page-referenced information is not a prerequisite for a satisfactory page-replacement algorithm.