The clock algorithm approximates the ideal virtual memory paging scenario where the least recently used physical pages are paged out first.

The name refers to its most common illustration. Imagine the physical pages of memory spread out in a circle. (Likewise, an algorithm would perhaps use a circular buffer to track the physical pages.) The MMU of the computer will set the reference bit of each physical page whenever it is addressed by a program. Here's where the clock idea comes in: imagine in your illustration a single clock hand rotating around, aiming at each physical page sequentially. When your paging algorithm needs to page something out to free up a chunk of physical memory, it moves this clock hand analyzing each page sequentially. When a page is examined, if its reference bit is set then that bit is cleared and the clock hand moves on to the next page in its search. Only when a physical page with an already clear reference bit is found can the clock stop and that page can be paged out to free up a chunk of memory. The theory is that the least recently used pages will be the first unreferenced pages encountered by this rotating clock hand, and thus will be the ones selected.

There are some variations, such as two handed clocks where the gap between the clock hands define a more narrow range of physical pages that can be scanned during each run of the paging algorithm. This is useful to avoid thrashing your VM.