Moxnox es un sistema operativo de aficionado que busca cerrar la brecha entre dos filosofías informáticas principales: el diseño arquitectónico de Windows NT y la compatibilidad de software de POSIX. A diferencia de ReactOS, que intenta replicar Windows lo más fielmente posible, Moxnox adopta las interfaces de bajo nivel y las llamadas al sistema del kernel NT, manteniendo la capacidad de ejecutar software escrito para sistemas de tipo Unix. Para lograr esto, el proyecto implementa una amplia gama de funciones POSIX —aproximadamente 642 de las 1,200 funciones en POSIX 2024— e incluye un sistema base GNU completo. Esto permite a los usuarios ejecutar software de tipo Unix recompilado en un kernel que refleja el comportamiento de Windows NT.

Una captura de pantalla de la interfaz de terminal del sistema operativo Moxnox.
Una captura de pantalla del sistema operativo Moxnox que muestra su entorno de línea de comandos.github.com

Esta imagen proporciona una representación visual de la interfaz de línea de comandos actual del sistema operativo Moxnox.

La implementación técnica de Moxnox involucra varias elecciones de diseño específicas para mantener esta identidad híbrida. El sistema utiliza binarios en formato PE con extensiones `.exe` y `.dll`, y maneja las excepciones de C++ a través de Structured Exception Handling (SEH). También adopta la convención de llamadas de Windows (rcx, rdx, r8, r9) y peculiaridades específicas de C, como que `sizeof(long)` sea igual a `sizeof(int32_t)`. Sin embargo, se desvía de Windows en su estructura de sistema de archivos; mientras que NT utiliza un complejo sistema de archivos virtual oculto, Moxnox utiliza rutas de tipo POSIX con barras inclinadas hacia adelante y un directorio raíz `/`. Para dar soporte al lado POSIX, el desarrollador integró varias características inspiradas en Linux, incluyendo un caché de dentry, folios grandes y soporte para evdev.

A pesar de su madurez —evidenciada por su capacidad de auto-alojamiento y sus aproximadamente 130,000 líneas de C++— Moxnox presenta actualmente varias limitaciones. Carece de una interfaz gráfica de usuario (GUI), soporte para diferentes zonas horarias y capacidades multiusuario. Desde el punto de vista del rendimiento, el proyecto enfrenta cuellos de botella en su asignador de memoria heap en el espacio de usuario y en el rendimiento de TCP, que actualmente utiliza por defecto una ventana de 64KB sin negociar un Maximum Segment Size (MSS). Además, aunque el soporte para el sistema de archivos Btrfs es funcional para propósitos básicos, no ha sido 'puesto a prueba en combate', y el desarrollador aconseja no montar nada que no sean sistemas de archivos desechables por el momento.