Nella gestione della memoria di un sistema operativo, le hash table vengono utilizzate per la gestione di tabelle delle pagine "invertite". Il beneficio sta nel fatto che mentre con le tabelle delle pagine "tradizionali" si hanno tante entry quante sono le pagine virtuali possibili (e su sistemi a 64 bit queste diventano 2^64/dimensione_pagina), con le tabelle invertite ci sono invece tante entry quante sono le pagine fisiche, quindi se (per citare Tanenbaum) in un sistema a 64 bit abbiamo 256 MB di ram con la dimensioni delle pagine pari a 4KB (c'è da chiedersi quanto sia sensato avere 256 MB di RAM su un sistema a 64 bit ma vabbè), una tabella delle pagine invertite richiede solo circa 256.000.000 / 4000 elementi, cioè circa 64000, mentre con le tabelle normali sarebbero 2^52 (cioè 2^64 / 2^12).

Si prende il numero di pagina virtuale dall'indirizzo virtuale, si calcola l'hash con un'apposita funzione e si accede all'elemento della tabella hash corrispondente: questo contiene un puntatore alla lista linkata che ha tanti elementi quante sono i numeri di pagina che hanno quello stesso valore della funzione hash, e per ognuna di esse è riportato il numero di pagina fisica corrispondente. Si scorre la lista fino a quando non si trova l'elemento con esattamente lo stesso numero di pagina richiesto e si compone l'indirizzo fisico prendendo il numero di frame corrispondente (l'offset è lo stesso dell'indirizzo virtuale). Se la pagina non viene trovata, si genera un page fault come nel caso della tabella "normale".

Per quanto riguarda le funzioni hash, in genere si tende a renderle "universali", cioè tali che i valori generati siano equiprobabili in tutto il range dei valori possibili, inoltre la concatenazione non è l'unico modo per gestire la collisione ma in genere per le hash table nella gestione della memoria dei sistemi operativi si tende a preferire la "semplicità" all'efficacia, per non aggiungere overhead di computazione.