The Information Systems and Computer Applications examination covers material that is usually taught in an introductory college-level business information systems course.

Un proyecto singular

Como todo buen enganchado al mundo de la tecnología me maravillo ante cosas nuevas o con aproximaciones distintas. Quizá por eso una de las partes que más me gusta de la malvada Spectra, es el area de Microsoft Research, de la que han salido siempre proyectos peculiares. Esa parte se encarga de intentar unir, en forma de trabajos de investigación, el mundo académico y el mundo tecnológico de manera real, sacando adelante nuevas ideas.Uno de los proyectos que tienen allí incubándose, y que desconocía hasta que me han avisado de ello por correo electrónico, es el que se encarga de evolucionar y mantener una nueva aproximación de sistema operativo. El tema de los nuevos paradigmas en sistemas operativos siempre me llama la atención, por eso he aprovechado a hablar aquí de ReactOS, de los WebOS o de incluso el kernel escrito en Pascal llamado Toro. Y como no, todo esto toma más interés cuando tenemos en ciernes Mac OS X Lion, que ya está muy avanzado el proceso, y Windows 8, de la que ya hay un build disponible para descarga.

El proyecto de Microsoft se llama Singularity y es un sistema operativo basado en un diseño de microkernel. La mayor parte del sistema, incluida gran parte del kernel, está desarrollada en Sign# – una extensión de Spec# que a su vez es una versión extendida de C# – aunque para areas específicas se utilizan otros lenguajes, como C++ para la HAL, C para debugging, y asm para partes del CLI en el proceso de instalación.


Figura 1: Arquitectura de Singularity
La idea principal del sistema operativo, es proteger los procesos en memoria con lo que se llaman invariantes, que son condiciones analizadas por un análisis estático del código en cada ejecución. Esto funciona así ya que el código es manejado, incluyendo la gestión de la memoria.

El objetivo por el que se trabaja con esta arquitectura es para garantizar lo que denominan SIP (Software-Isolated Proecess), así, por ejemplo, se comprueba la existencia de referencias cruzadas de memoria entre distintos procesos. El funcionamiento en detalle de las variantes y el SIP lo tienen explicado con código en el artículo Singularity: Rethinking the Software Stack.


Figura 2: Singularity arrancado
El proyecto comenzó en el año 2003 haciendo pública la primera versión del proyecto en 2007 y liberando la versión 2.0 en Noviembre de 2008. El proyecto es Open Source y todo el código fuente puede ser descargado desde la página del mismo en CodePlex: Singularity en CodePlex. Si quieres más información del proyecto puedes ir a la página de Singularity en Microsoft Research, donde hay presentaciones y vídeos del proyecto.

La verdad es que me encanta ver que las grandes empresas siguen haciendo estas pequeñas perlas de ingeniería que puedan ser usadas, estudiadas y analizadas por todo el mundo, con nuevas idéas y nuevos caminos por abrir.

Saludos Malignos!

Comments are closed.