- C 98.9%
- Shell 0.4%
- Makefile 0.3%
- Python 0.1%
- Perl 0.1%
| src/horizon-linux | ||
| README.md | ||
NeXo OS:
NeXo OS es un sistema operativo distribuido diseñado para proporcionar una capa de compatibilidad nativa entre el software basado en el microkernel Horizon y arquitecturas de hardware abierto. A diferencia de las soluciones de emulación convencionales, NeXo OS implementa una infraestructura de traducción de llamadas al sistema (SVC) y servicios de alto nivel (HLE) directamente sobre un kernel Linux modificado, permitiendo la ejecución de binarios nativos con una sobrecarga mínima.
El objetivo central del proyecto es alcanzar la ejecución estable del Home Menu (qlaunch) y los servicios centrales del sistema en dispositivos ARM64, aprovechando la paridad de arquitectura de CPU para eliminar la necesidad de emulación de instrucciones.
Arquitectura del Sistema
La arquitectura de NeXo OS se divide en tres niveles críticos de implementación:
1. NeXo Kernel-Space (NKS)
Basado en los avances de Horizon-Linux, el kernel de NeXo integra un gestor de procesos capaz de manejar el formato de ejecutable NSO/NRO. Incluye optimizaciones específicas para:
- Gestión de memoria determinista y segmentación de heap al estilo Horizon.
- Implementación de Supervisor Calls (SVC) para la comunicación entre hilos y gestión de recursos.
- Soporte nativo para el bus PCIe mediante NVMe para reducir la latencia en el acceso a datos de sistema.
2. Horizon Service Layer (HSL)
Una reimplementación de los servicios de sistema necesarios para el ciclo de vida de las aplicaciones. Esta capa es fundamental para el arranque del entorno gráfico:
- Service Manager (sm:): Orquestador de la comunicación entre procesos (IPC).
- Visual Interface (vi:) y Display Services: Gestión de buffers de imagen y composición de capas de visualización.
- Human Interface Device (hid:): Abstracción de periféricos de entrada para su mapeo en el entorno Horizon.
3. Graphics Abstraction Bridge (GAB)
Traductor de comandos de la API gráfica nativa de Horizon hacia estándares modernos de la industria. El enfoque principal es la traducción de bajo nivel hacia Vulkan, permitiendo que GPUs modernas procesen el renderizado del Home Menu sin dependencia de hardware propietario.