in

Singularity, un sistema operativo experimental de Microsoft

En desarrollo desde hace más de cinco años, Singularity se basa en un nuevo enfoque respecto de los sistemas operativos tradicionales, donde hay más dependencia entre las partes y donde la seguridad es un aspecto fundamental. ¿Así será el sucesor de Vista?

Cuando allá por mediados de 2006 nos enteramos de la existencia de este proyecto paralelo de Microsoft, Singularity era aún demasiado joven y la inminencia de la llegada de Vista era demasiado importante como para prestarle atención.

Sin embargo, luego de la poco exitosa aparición del último sistema operativo de Microsoft, volvimos a acordarnos de Singularity y una feliz idea (o más bien una pregunta) surgió en nuestras mentes-aturdidas-por-Vista: ¿Estaremos en presencia del sucesor de Vista? ¿La próxima gran revolución en sistemas operativos? Un nuevo paradigma de la informática?

Calma Willy, calma, es solo un trabajo experimental de Microsoft. Pero quien puede culparnos por entusiasmarnos, cuando debemos sufrir a diario con este intento de sistema operativo de Bill Gates, denominado Vista.

Después de años de gozar utilizando Linux (ya sea Mandriva, Fedora, Debian o Ubuntu) la compra de un portátil con Vista me ha dejado clavado utilizándolo, y la verdad que quitarlo y poner otra cosa se hace un tanto complicado cuando falta el tiempo, así que además mientras dure la garantía seguirá ahi. Pero se sufre, la verdad se sufre…

Y parece que no fuimos los únicos que nos hemos entusiasmado, ya que en todos los sitios en los que se hablaba de Singularity las notas estaban inundadas de comentarios de lectores que por poco ya preguntaban para salir a la tienda a comprar su upgrade a Singularity.

Si, no se rían linuxeros ni mac users, es lo que nos pasa. Por eso dirigí toda mi capacidad productiva a estudiar lo que sucedía en el TechFest, esa enorme feria interna que Microsoft realiza cada año y en la cual se discuten toda clase de desarrollos a futuro y se muestran los progresos de los que ya se encuentran encaminados.

Tantas ganas tenía de saber sobre esto que busqué los horarios de las transmisiones en vivo de Channel 9. Y bueno, sucedió lo inevitable, pero tal vez fue mejor así. Dicen que las malas noticias es mejor darlas rápido y sin anestesia, porque con demasiadas vueltas quien la recibe sufre más.

Así que Rick Rashid, vicepresidente de Microsof Research fue directo al grano cuando tomó el micrófono. Sus primeras palabras fueron: “Singularity no es el próximo Windows”.

¿Entonces qué es? Seguí viendo la entrevista, y me di cuenta de que aunque no era lo que esperaba, Singularity es un trabajo conceptual que puede arrojar interesantes resultados.

Iniciando Singularity

Hoy por hoy, Singularity Research Development Kit (o RDK) es un paquete de código, liberado bajo la Microsoft Research License Agreement, que estipula su libre uso para fines académicos o de investigación.

La primera novedad de Singularity es, entonces, que Microsoft ha publicado código fuente libre de una buena vez. Y eso no es poco, señores. Singularity es un proyecto de investigación, completado con herramientas para realizar debug, y creado con el lenguaje C#, un derivado de los hoy obsoletos C y C++, y parte de su apuesta .NET.

Este proyecto no realiza llamadas al BIOS excepto luego de superada la primera fase del booteo. Lo que hace luego es utilizar drivers de dispositivos en tiempo real, realizados en Sing#, una suerte de lenguaje de script, extensión de C#.

¿Te animas a probar Singularity? Bueno, entonces vayamos por partes. Deberás descargar el RDK de Singularity, algo que puedes hacer en este enlace.

Hay que tener presente que para utilizarlo hay dos maneras: instalándolo de manera real en tu ordenador, o bien probarlo a través de Microsoft Virtual PC. Como en este momento Singularity no es un sistema operativo utilizable, hemos decidido probarlo de este último modo para no dejar nuestro ordenador inutilizado mientras hacíamos la prueba. A bajar Microsoft Virtual PC entonces.

Ahora debes descomprimir el fichero singularity-6601.zip, y tendrás armado el árbol de directorios, dentro del cual debes buscar uno llamado base. Dentro de el debes ejecutar el comando setenv.cmd. Esto configurará el entorno necesario para la compilación del código fuente de Singularity.

En este directorio base tendrás todo el código fuente, por lo que puedes echarle una ojeada y ver como está diseñado este sistema operativo experimental. Bien, sigamos: tienes el compilador MSBuiltTool, cuyo comando es msb (se encuentra en el directorio build), lo que debes hacer con el es ejecutar el siguiente comando:

msb DistroTiny.proj

con lo cual el compilador dejaré listo el kernel, el gestor de volúmenes y el intérprete de comandos.

Luego debes instalar Virtual PC y seleccionar el fichero mypc.vmc para inicializar el emulador a través de un ISO. Cuando lo hagas iniciarás el sistema operativo en el modo PXE, y dado que no se trata de un sistema operativo completo el inicio es muy rápido, toma apenas unos segundos.

Cuando hayas finalizado el intérprete de comandos (similar al famoso y añejo C:>) quedará a la espera de que tipees algún comando. Lo que verás, ni más ni menos, es Singularity> y un cartel justo encima de esto que te indicará que tipees help para obtener ayuda respecto de los comandos disponibles.

Puedes hacerlo, mirar un poco y probar a ver que obtienes. Pero debes tener presente que Singularity no es un sistema operativo completo: no hay juegos, ni aplicaciones, ni navegador web, ni nada. Ni siquiera un entorno gráfico. Lo que ves ahi, con fondo azul y letras blancas, es lo que hay.

¿Y donde está el sistema operativo?

Singularity es, de acuerdo a Microsoft, lo que un sistema operativo debiera ser si se tuviera que volver a reescribir un código desde el comienzo. Es que aunque te parezca mentira, los sistemas operativos han cambiado poco y nada desde sus comienzos, allá por los años 60, y se basan, algunos más, algunos menos, en el Multics.

La idea es intentar comenzar de nuevo probando conceptos y tecnologías disponibles en la actualidad, algo que en los sistemas operativos más conocidos ha debido ir haciéndose con parches y modificaciones sobre la marcha.

Singularity es un nuevo sistema operativo que está siendo desarrollado sobre la base de un entorno más dependiente entre las partes, y que aprovecha aspectos de un nuevo paradigma de sistemas operativos, denominado Procesos de Software Aislado (SIPs), que encapsula las piezas de información de una determinada aplicación, algo similar a lo que en el viejo paradigma se conoce como procesos.

Pero a diferencia de ellos, los SIPs no comparten direcciones de memoria, por lo cual no puede haber dos procesos que utilicen el mismo objeto. En los viejos sistemas operativos esto debía vigilarse mediante un complejo sistema de flags y permisos, que volvía todo muy complejo y que de tanto en tanto se metía en un loop infinito.

En Singularity, todo el código fuera de lo que es el kernel se ejecuta en forma de SIPs. Hablábamos recién de kernel, y este es un sistema operativo basado en microkernel, algo similar a lo que sería Debian Linux con Hurd, un proyecto que intenta algo similar, aunque a menor escala en cuando a recursos, que Singularity.

Este microkernel vigila de manera muy estricta cada SIP y cuando alguno tiene problemas simplemente lo termina, recupera ese espacio y notifica inmediatamente a los SIPs que pudieran haber interactuado con el. De modo que, como puedes ver, estamos ante un esquema mucho más seguro y donde en caso de falla es muy fácil retomar de ella.

No podemos precisar demasiado, nuestra prueba con Singularity no ha durado más que unos minutos, en parte debido a que no hay demasiado para hacer con el.

Si no eres programador o estás en el ámbito académico, queda claro que no te será demasiado entretenido usarlo. Pero Singularity toma más importancia cuando pensamos en los aspectos futuros de un sistema operativo, y sobre todo cuando pensamos en el futuro de Windows.

En lo personal, pienso que Windows como tal no tiene futuro y que ya no resistirá otra versión, sino que para seguir teniendo éxito deberá reformularse, o cambiar su estructura casi por completo. Y aquí es donde Singularity puede aportar mucho, por más que Microsoft diga que es solo un experimento puede aportarle mucho a futuras versiones de Windows (o el nombre que Microsoft le quiera poner).

Es muy loable la intención de iniciar un nuevo concepto de sistema operativo como lo es Singularity, también lo es para la gente que trabaja a destajo en el, sin siquiera saber si algún día su proyecto verá la luz, y de ser así cuando llegará ese día.

También es muy loable por parte de Microsoft, que publica su código y su conocimiento, con el convencimiento de que eso puede ser de uso para estudiantes y profesores. Es gracias a esta clase de aportes que la industria ha llegado a ser lo que es hoy, por ello Singularity debe ser visto como un paso más en la innovación que se necesita para que la informática siga creciendo y acercándose al usuario final, con sistemas más robustos y seguros.

Ya que toda nuestra vida pasará por nuestros ordenadores, cuando más seguros estén los datos que en ellos ingresemos más seguro estará nuestro conocimiento y nuestra información. Lo que en la vida digital equivaldría prácticamente a nuestra esencia misma.

Reportar

¿Qué te pareció?

Escrito por editorwp_2544

8 Comments

Leave a Reply
  1. Muy interesante, este nuevo paradigma me parece un gran avance, se parece como cuando linux hace mucho que iniciaba el procesador en modo protegido y que la memoria la segmentaba para evitar lo memos posible los cuelges en el ordenador, algo que se integro en los nuevos kernel de windows cuando el nt empezaba y que volvio mas solidos los windows 2000, XP, habra que investigar si esto no se lo copiaron a linux y si no es hasi que excelente ya era hora que el gigante reaccionara y viera mas por sus usuarios finales, ya que tiene los recursos y la infraestructura para ofrecernos mejor calidad

  2. Hola, estoy intentando abrir la solución con el VS2005, pero me da error al intentar abrir los proyectos ".sgproj". Supongo que son los que estan programados en Sing#…
    Cómo puedo hacer para abrir correctamente la solución.

    • Personalmente pienso q Guindoss no remontara vuelo otra vez, se me hace muy difícil imaginar q "Wingularity" alcance el nivel de complejidad y desarrollo de Ubuntu por ejemplo, y más aún cuando este (Ubuntu) cuenta con millones de desarrolladores en todo el mundo, esto es mucho más q lo q cualquier empresa ó corporación podría lograr, esto se trata de una verdadera revolución para la humanidad y llevada a delante por nosotros mismos obviamente y no por una empresa con $$$ el los ojos, Esto es algo mucho más grande y va más allá del $$$. Quizás algún día podremos verlo. Saludos. Juan.

      • Que ya pongan la api de directx o que mas desarrolladores depuren Wine; son solo puentes para que las personas migren en cantidades industriales a Ubuntuuuuuu

        Y que saquen más drivers, porque si en windows es una lata andar buscandolos, imagina con Linux o_o

  3. Linux de la mano de Ubuntu y otros han revolucionado la lucha de los Sistemas Operativos, Windows 7 es un parche para no quedar totalmente fuera del mercado en los próximos años.

  4. Este articulo que acabo de leer al respecto me parece que es una oportunidad para poder acceder a la modificacion de los codigos de este proyecto(singularity) para asi mejorar los futuros sistemas operativos y dejar abierto la posibilidad que en la comunidad informatica puedan aportar muchas sugerencias y esto de alguna manera genera espectativa, al menos, para los profesores que estan immersos en la cuestion academica.

  5. /***Singularity no es un sistema operativo completo: no hay juegos, ni aplicaciones, ni navegador web, ni nada. Ni siquiera un entorno gráfico. Lo que ves ahi, con fondo azul y letras blancas, es lo que hay***/

    No existen los sistemas operativos incompletos. Solamente el mercado que nos envuelve y seduce crea la idea de que el "sistema operativo" incluye suite de oficina, autoCAD y juegos. El sistema operativo sostiene todo eso, administra la memoria los procesos (o su equivalente en Singularity), del software se encargan los "third parties".

    Cuando compras una consola como Indrema L600, GP32, GPX2, OpenPandora, Uzebox, tienes claro que eso no garantiza juegos de Squaresoft.

    Sobre Singularit en sí, que bueno ver innovando a empresas tan tradicionales, tengo la impresión de que Singularity ni siquiera usará un arbol de directorios (carpetas) como lo conocemos hasta ahora. Nada que no exista desde antes, solamente se esta "popularizando" tecnologias de hace un par de décadas.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Clonación: Ética y moral

Ballesta para el mando de la Wii