- Sistema operativo experimental que sigue estrictamente la filosofía de “everything is a file” de Plan9
- Reescrito completamente desde cero en C y ensamblador para el desarrollo de sistemas operativos con fines educativos y experimentales
- Estructura de kernel totalmente expropiativa y tickless basada en el planificador EEVDF. Soporta SMP, multithreading y control detallado de locks
- Proporciona un sistema IPC basado en archivos: incluye pipes, memoria compartida, sockets y un sistema de notes al estilo de los
signals de Plan9
- Capa de abstracción de dispositivos basada en archivos para gestionar de forma unificada framebuffer, dispositivos de entrada y más
- Soporta primitivas de sincronización como mutex, rwlock y futex
- Diseño de kernel modular, con carga y descarga de módulos en tiempo de ejecución
- El sistema de archivos usa una estructura VFS estilo Unix. Soporta puntos de montaje, enlaces duros y espacios de nombres por proceso
- El espacio de usuario está compuesto por su propia biblioteca estándar de C y bibliotecas del sistema
- Ofrece un entorno de escritorio modular basado en memoria compartida
- Principales diferencias con POSIX
- Usa
spawn() en lugar de fork(), exec()
- Elimina el concepto de usuario y adopta una biblioteca estándar no POSIX
- Usa flags de archivo para el control de acceso en lugar de modos de archivo
- Limitaciones actuales
- Solo soporta disco RAM y es exclusivo para x86_64
- Planes futuros
- Port de LUA y configuración dinámica del sistema
- I/O y syscalls asíncronas (considerando io_uring)
- Próximo agregado de soporte para USB
- Las utilidades de shell fueron rediseñadas para ajustarse al sistema de flags de archivo
- Ofrecen interfaces similares a utilidades POSIX como
touch, cat, echo, ls, rm, etc.
- Entorno de compilación: requiere Linux, GCC, NASM, mtools y QEMU
- Incluye documentación basada en Doxygen, con comentarios en el código y referencias bibliográficas
- Diseñado como un sistema operativo intermedio educativo entre xv6 y Linux
Aún no hay comentarios.