Framework para sistemas operativos
Desde siempre me ha interesado la programación al nivel más bajo o básico de las computadoras.
La manera en que se gestionan los procesos, las interacciones con los periféricos, de qué forma
se almacenan los ficheros y cómo se decide el inicio y apagado de un ordenador son algunas de las
cuestiones que se deben planificar correctamente por un diseñador responsable de algún sistema.
Es comprensible entonces encontrarse con comunidades de desarrolladores, aficionados y programadores tal como en OSDev, donde comparten sus conocimientos y experiencias referidos al tema. Se puede ver por eso mismo que, para poder involucrarse en el desarrollo de un sistema operativo, son necesarias muchas destrezas y habilidades que son difíciles de dominar completamente para un sólo individuo, desde conceptos básicos de las ciencias de la computación hasta compiladores, formatos y prácticas que serían obligatorias de saber para embarcarse en un desafío así.
Es entonces que hago mención de Genode, un framework para sistemas operativos que propone
servir como herramienta para el diseño de sistemas especializados con un enfoque
en su seguridad.
Los entendidos sobre la filosofía Unix podrán interesarse bastante por este proyecto, dado que
en su presentación mencionan encontrarse alineados con dicha filosofía. Genode propone no sólo
un conjunto de bloques con aplicaciones con sus respectivas funcionalidades, sino también
todas las que incluye un sistema operativo clásico tales como controladores, sistemas de fichero,
protocolos, entre otros.
El framework se encuentra bajo AGPLv3 y está dirigido más que nada hacia los microkernels. Si te interesa el asunto cuentan con unos PDF ("Genode Foundations" y "Genode Platforms") que explican detalladamente todo.
Por mi parte, probablemente le dedique una lectura en algún momento. Hasta ahora, no estaba al tanto que existiera un proyecto que propone alineamientos específicos en caso de querer diseñarse un sistema operativo desde cero.
Como último, comento que el realizar esta publicación algo corta fue con intención de dar una actualización antes de seguir con otros artículos más extensos y poder dedicarle el tiempo necesario al sitio.