Un avance en el sentido de adaptabilidad en gestión de memoria lo constituyen los paginadores externos. Éstos son procesos en área de usuario que coordinan los aspectos de sincronización y transferencia de datos entre el espacio de direcciones (implementado por el SO) y el objeto de memoria del que proceden los datos.
La ventaja de los paginadores externos radica en que habitualmente es posible establecer la semántica de compartición mediante dichos elementos. El SO consulta habitualmente al paginador antes de efectuar ciertas operaciones y ésta es la ocasión para ejecutar código que implemente una semántica de compartición dada.
Por ejemplo, Spring [96] y Mach [24, 179] hacen uso de éste mecanismo.
A pesar de sus ventajas, en los sistemas que disponen de paginadores
externos, la abstracción ``espacio de direcciones'' reside todavía
dentro del núcleo. Las implicaciones son obvias: la gestión de la
memoria física y parte importante de las políticas involucradas en
gestión de memoria (más notablemente, la de reemplazamiento de
páginas) está contenida en el
kernel; él decide por tanto qué
páginas hay que expulsar y cuando deben expulsarse
, él decide las estructuras de datos y las operaciones
que deben constituir un ``espacio de direcciones''.