A forma como é feito no Linux, e eu acho que em qualquer sistema operacional em que o carregamento do cache é assíncrono, é: quando uma página é solicitada, mas ainda não carregada, há uma entrada de cache marcada como não-ainda- carregado. Quando a segunda solicitação é recebida, ela entra na entrada de cache existente e aguarda a conclusão da carga. No kernel do Linux, o mecanismo a aguardar é chamado de fila de espera. Há muita documentação por aí sobre as filas de espera: Drivers de dispositivos do Linux , Completions (uma estrutura de dados de nível ligeiramente superior às filas de espera), documentação da API do kernel ,…
Não sei se esse mecanismo tem um nome formal.