La fonction kpage_alloc commence par rechercher une zone libre dans la table des zones. Cette zone est alors marquée comme allouée. On recherche ensuite si la table des pages correspondant à cette adresse existe. Si oui, on place directement l'adresse réelle de la nouvelle page dans la table des pages, en utilisant le mécanisme d'indirection de ttpage. Sinon, on doit tout d'abord créer la table des pages, l'ajouer à ttpage, puis ajouter la nouvelle page à cette table.
D'autres fonctions permettent de partager de la mémoire, c'est à dire d'avoir deux adresses virtuelles qui pointent vers la même zone mémoire réelle, ou encore de libérer des pages précédemment allouées. Dans ce cas, on vérifie si la table des pages correspondante doit être libérée, si la page que l'on libérait était la seule dans la table.