Como han mencionado otros en los comentarios de la pregunta, creo que lo que realmente está buscando es una MMU (Unidad de gestión de memoria) no una MPU (Unidad de protección de memoria). Entre otras cosas, una unidad de administración de memoria es responsable de traducir las direcciones de memoria virtual a direcciones de memoria física.
Una unidad de protección de memoria realmente solo mantiene la ejecución de código en un modo (normalmente un modo sin privilegios) para evitar que la memoria de otra persona (generalmente la memoria del núcleo). Esto evita que un programa de usuario derribe todo el sistema.
Si está buscando un sistema operativo similar a Unix que pueda ejecutar en hardware sin un MMU (como el hardware basado en Cortex-M), es posible que desee considerar NuttX ( enlace )