Genode, un framework 'open source' que nos permite crear nuestros propios sistemas operativos 'encajando' los componentes del mismo

Hace unos días la compañía rusa DZ Systems anunció el lanzamiento de una versión alfa de Phantom, un sistema operativo en el que vienen trabajando desde hace 12 años y que calificaron de "alternativa rusa a Linux"; se espera que este SO esté finalizado a finales de este año. Pero no es de Phantom de lo que os queremos hablar, sino de la herramienta que ha hecho posible desarrollarlo.

Porque si bien Phantom es un sistema operativo nuevo, no basado en ninguna versión de Unix, sí ha sido creado haciendo uso de una herramienta preexistente: un framewok open source para el desarrollo de sistemas operativos llamado Genode, lanzado hace 14 años por los investigadores del grupo TUD:OS de la Universidad de Dresde (Alemania).

Genode nos permite crear desde cero sistemas operativos basados en una arquitectura de microkernel, tanto de propósito general como embebidos en microcontroladores de tan sólo 4 MB de memoria, para varias arquitecturas: x86 (32 bits y 64 bits), ARM (32 bits y 64 bits) y RISC-V.

Varias arquitecturas, muchos microkernels y cientos de componentes a elegir

Este framework cuenta con su propio estándar de codificación y documentación, así como con herramientas que permiten ir 'encajando' —a modo de bloques de construcción— cientos de componentes hasta completar el tipo de sistema operativo buscado por el desarrollador: drivers de dispositivo, sistemas de archivos, pilas de protocolos, librerías de sistema, entornos de ejecución, gestores de paquetes, aplicaciones de terceros y kernel.

A diferencia de otros frameworks similares, específicamente vinculados a un kernel (como ocurre con L4Re), Genode cuenta con soporte para un amplio conjunto de kernels y microkernels —además del suyo propio— como OKL4, L4/Fiasco, NOVA, Fiasco.OC y Codezero. En cualquier caso, Genode permite al desarrollador abstraerse del kernel que está usando en cada momento, hasta el punto de no verse obligado a rehacer las aplicaciones cuando cambia el kernel.

Todo esto lo hace basándose en dos principios arquitectónicos básicos para dotar al SO resultante de flexibilidad y seguridad:

  • Principio de computación segura, basado en aislar lo máximo posible los procesos: reducir el número de dependencias a bajo nivel cuando se ejecuta una aplicación, para evitar que un fallo de ésta provoque el colapso del sistema.

  • Principio de privilegios mínimos, para lograr una comunicación segura entre procesos y grupos de procesos, que se agrupan siguiendo la estructura en forma de árbol y se ordenan en una estricta jerarquía de procesos padres/hijos.

Genode es un software que, además, lanza varias versiones a lo largo del año y no deja de sumar nuevas características. Así, entre las novedades de 2021 se cuentan la implementación del soporte para webcams o la mejora del de la aceleración de gráficos mediante hardware, así como contar con una versión nativa del navegador Chromium.

Pero, para este 2022, ya han anunciado varias de las nuevas funcionalidades que buscan implementar: desde la 'usabilidad móvil' que busca garantizar el buen funcionamiento de los SOs desarrollados en Genode cuando se ejecuten en el smartphone PinePhone, hasta la implementación nativa del túnel VPN WireGuard.

Puedes descargar gratuitamente Genode desde su página web, pudiendo optar también por descargar en su lugar un archivo *.img de SculptOS, un sistema operativo básico ya montado y listo para usar sobre el que podemos trabajar añadiendo y quitando componentes.

Ver todos los comentarios en https://www.genbeta.com

VER 0 Comentario

Portada de Genbeta