Hace unas horas fue anunciada la liberación de la versión 2.0 de Singularity RDK (Research Development Kit). Esto a través de código fuente y un archivo ISO arrancable. Ahora bien, ¿qué es Singularity? Es un prototipo de sistema operativo iniciado en 2003 por un equipo de investigación en Microsoft Research.

Los investigadores detrás de Singularity buscan explorar, reexaminar y mejorar la calidad de la decisiones de diseño en la construcción de nuevos sistemas operativos. Puesto que estos están ubicados al fondo de casi cualquier pila de software, sus efectos son profundos.

Alrededor de Singularity también se están creando extensiones a lenguajes de programación, y desarrollando nuevas técnicas y herramientas para especificar y verificar de manera formal la conducta de los programas.

De forma arquitectónica, Singularity tiene tres características:

  1. Procesos aislados para la protección de programas y servicios del sistema.

  2. Canales de comunicación basados en contratos ---especificaciones bien precisas---.

  3. Programas basados en manifiestos para la verificación de las propiedades del sistema.

De forma sorprendente, el núcleo de Singularity ha sido programado con éxito usando el lenguaje C#. En particular con el extraño lenguaje #Sing. Naturalmente, las demás partes del sistema fueron escritas en ensamblador, C/C++. Es importante reiterar que se trata de un prototipo, no de un sistema operativo completo que puedas instalar y usar de forma normal en tu equipo de cómputo.

Puedes conocer los detalles de diseño en alguno de los interesantes artículos de investigación que ha publicado el grupo encargado de Singularity. Por cierto, este sistema operativo es software de código abierto ---esto es debatible--- gobernado por la licencia no comercial sólo para uso académico ---E. Park explica muy bien sus restricciones.

Recibe cada mañana nuestra newsletter. Una guía para entender lo que importa en relación con la tecnología, la ciencia y la cultura digital.

Procesando...
¡Listo! Ya estás suscrito

También en Hipertextual: