Essence, un OS con su propio Kernel y escritorio construido desde cero
Una de las cosas que me da mucho gusto compartir son tanto las nuevas distribuciones de Linux que son dadas a conocer, asi como tambien de nuevos sistemas operativos totalmente independientes a Linux, BSD o cualquier similar a Unix.
Y es que lejos de que este tipo de noticias como muchos podrán decir que solo contribuyen a la fragmentación del ecosistema, puedo decir que esto demuestra que no todo está basado a un solo mercado y que cualquiera con las intenciones y persistencia, puede crear su propio sistema.
Y bien, el punto de mencionar esto es que me complace compartir con ustedes que se dieron a conocer las para pruebas iniciales del nuevo sistema operativo Essence, que viene con su propio Kernel e interfaz gráfica de usuario.
El proyecto ha sido desarrollado por un entusiasta desde 2017, creado desde cero y se destaca por su enfoque original para construir un escritorio y una pila de gráficos. La característica más destacable es la capacidad de dividir ventanas en pestañas, lo que permite trabajar en una ventana con varios programas a la vez y agrupar aplicaciones en ventanas según las tareas a resolver.
Dentro de las características que se mencionan del sistema:
Kernel:
- Administrador de caché independiente del sistema de archivos.
- Administrador de memoria con memoria compartida, archivos mapeados en memoria y puesta a cero de paginación de subprocesos múltiples y equilibrio de conjuntos de trabajo.
- Pila de red para TCP/IP.
- Scheduler con múltiples niveles de prioridad e inversión de prioridad.
- Carga de módulos bajo demanda.
- Sistema de archivos virtuales.
- Administrador de ventanas.
- mezclador de audio (siendo reescrito)
- Subsistema POSIX opcional, capaz de ejecutar GCC y algunas herramientas Busybox.
Aplicaciones:
- Administrador de archivos
- Editor de texto
- Cliente IRC
- Monitoreo del sistema
Ports:
- Bochs
- GCC and Binutils
- FFmpeg
- Mesa (for software-rendered OpenGL)
- Musl
El administrador de ventanas funciona al nivel del kernel del sistema operativo y la interfaz se crea utilizando su propia biblioteca gráfica y un motor de software vectorial que admite efectos animados complejos.
La interfaz es completamente vectorial y se escala automáticamente para cualquier resolución de pantalla. Toda la información de estilo se almacena en archivos separados, lo que facilita cambiar la apariencia de las aplicaciones. La representación programática de OpenGL utiliza código de Mesa, ademas de que se admite soporte multilingüe y se utilizan FreeType y Harfbuzz para representar las fuentes.
El kernel incluye un programador de tareas con soporte para múltiples niveles de prioridad, un subsistema de administración de memoria con soporte para memoria compartida, mmap y memoria de subprocesos múltiples, una pila de red (TCP/IP), un subsistema de audio para mezclar sonidos, VFS y un sistema de archivos EssenceFS con una capa separada para el almacenamiento en caché de datos.
Además de su propio FS, se proporcionan controladores para Ext2, FAT, NTFS e ISO9660 que ademas de ello se admite la eliminación de funcionalidad en módulos con la capacidad de cargar dichos módulos según sea necesario, todo esto junto con los drivers preparados para ACPI con ACPICA, IDE, AHCI, NVMe, BGA, SVGA, HD Audio, Ethernet 8254x y USB XHCI (almacenamiento y HID).
La compatibilidad con aplicaciones de terceros se logra con una capa POSIX suficiente para ejecutar GCC y algunas de las utilidades Busybox. De las aplicaciones portadas a Essence, se destacan la biblioteca Musl C, el emulador Bochs, GCC, Binutils, FFmpeg y Mesa. Las aplicaciones gráficas específicas de Essence incluyen un administrador de archivos, un editor de texto, un cliente IRC, un visor de imágenes y un monitor del sistema.
Finalmente para quienes estén interesados en el sistema, deben saber que puede ejecutarse en hardware heredado con menos de 64 MB de RAM y ocupa aproximadamente 30 MB de espacio en disco.
Para conservar recursos, solo se ejecuta la aplicación activa y se suspenden todos los programas en segundo plano. El proyecto publica diariamente nuevas compilaciones listas para usar adecuadas para probar en QEMU.
El código del proyecto está escrito en C++ y se distribuye bajo la licencia MIT.
Puedes consultar más al respecto en el siguiente enlace.