Sorancio

| 307 envíos |  | Desconectado | 1706 lecturas 4 respuestas | | Mi tesis, TailOS | 14-10-2010 a las 15:35:34 |
¡Hola gente!
Como sabéis, no puedo entrar mucho a la página por falta de tiempo, tengo pendiente hacer la nueva gAp pero solo requiere más tiempo del que tengo y voy bastante lento. Aún así, el tiempo que no paso delante del PC pero se podría decir que es "ocio" lo utilizo para desarrollar un nuevo sistema operativo.
El sistema operativo es realmente simple, mucho más simple que cualquier sistema actual y es la antítesis de la computación en nube. Se trata de un sistema escrito en Lisp de uso general, multiusuario y multiplataforma.
Más bien, TailOS es una plataforma, algo más complejo que Linux en cuanto a funcionamiento. TailOS es una máquina virtual Lisp que abstrae al programador de cualquier componente físico. ¿Esto como se logra?
Por supuesto, TailOS debe conocer el equipo a la perfección, a partir de ahí, recibe programas en Lisp, de los cuales compila, generando código seguro para la máquina donde se ejecuta. El uso de Lisp es bastante lógico ya que para una abstracción máxima, hace falta un lenguaje en que no se haga distinción de nada.
Como posiblemente sabéis, en Lisp los datos son código, y el código son datos, esta abstracción me permite ver cualquier dispositivo como un dato cualquiera y abstraer conexiones o rutinas, esto hace el programa mucho más robusto y mejora el tiempo de desarrollo para el programador.
Entonces, los programas son manipulables en tiempo de ejecución, además, los programas no obtienen ningún castigo en el cambio de arquitectura de 32 a 64 bits porque no existe el concepto de memoria, siendo igual de eficientes en cualquiera de las dos.
Esto también ayuda a la programación de aplicaciones superpotentes, pues abstrae el uso de memoria compartida, pipes, mutexes o acceso a dispositivos de compartición, mejorando la velocidad del programa. Una variable creada en un programa y definida como pública es accesible por cualquiera. Se utiliza un sistema orientado a objetos, así pues, cualquier dato es un objeto, un programa en esencia también.
Al no utilizar programas nativos y recibir el código fuente, las optimizaciones son mejores, pues son únicas para cada máquina. Es una mejora del sistema de Java.
Abstraer la red también es un punto a favor porque abstrae enviar y recibir datos sin importar el tamaño ni el protocolo, permitiendo así dejar al sistema optimizar los recursos en el contexto actual. Incluso es posible usar más de una conexión para actualizar datos del sistema, ya que Lisp te permite modificar un programa en ejecución a tiempo real.
En vacaciones trabajaré en un PDF que explique con pelos y señales como funciona el sistema. El nombre viene del concepto de tail recursion, que es una optimización típica en el mundo Lisp y en muchos otros lenguajes.
Responder | Citar | Moderar | Mensaje Privado |