Título: Ozone Virtual Machine Marco de Trabajo: INVESTIGACION Área de desarrollo: Componentes, Objetos, Arquitecturas y Lenguajes Autor: Alexander Sklar Contacto: asklar@fing.edu.uy Día: MIÉRCOLES Hora: 14:00:00 Palabras Claves: máquina virtual, OO, GC, jit, ovm, ozone Resumen: Las máquinas virtuales son programas que brindan una capa de abstracción para que otras aplicaciones se ejecuten de forma independiente del hardware y sistema operativo de la máquina real donde se están ejecutando. El propósito principal de una máquina virtual es la posibilidad de escribir los programas de aplicación una vez y poder ejecutarlos en cualquier computador real. Además, se logra separar los procesos que se ejecutan, evitando interferencias indeseadas, todo esto proveyendo una interfaz que se asemeja a la de una máquina real. El primer sistema de este tipo fue el IBM/360 modelo 67. Hoy en día el mercado está liderado por dos tendencias, Java y Microsoft .net. El proyecto Oz 1 VM (Ozone Virtual Machine) se trata de un trabajo unipersonal, de "tiempo libre", que comenzó en Agosto de 2002. Hoy en día tiene un tamaƱo de aproximadamente 35000 líneas de código (C++), tras 1200 horas de trabajo. El objetivo principal es el desarrollo de una máquina virtual orientada a objetos, con énfasis en la mantenibilidad y la claridad del código más que en la performance. Otros objetivos consisten en el desarrollo de una biblioteca que pueda ejecutarse sobre la VM, y que provea elementos que hagan más fácil la tarea del programador, y el desarrollo de compiladores para pasar de algn lenguaje de mayor nivel de abstracción hasta el conjunto de declaraciones e instrucciones que la máquina virtual comprende. Actualmente, Oz 1 consiste de una línea de productos comprendida por un intérprete, un ensamblador, y un depurador, totalizando un 75% del objetivo definido inicialmente. Oz 1 maneja los conceptos básicos de orientación a objetos (clase, objeto, método, superclase, atributo, ...) a nivel de instrucciones y declaraciones en assembly y bytecode. Para ello, posee un set de instrucciones de 32 bits. En esta presentación se expondrá la arquitectura del sistema, así como la experiencia adquirida a lo largo de este tiempo en temas como máquinas virtuales, GC, compiladores, JIT-compiladores y procesamiento multi-hilado. Además se expondrán las líneas de trabajo futuras y los posibles proyectos ramificaciones de Oz 1. |
Ultima modificacion 5 de Octubre 2004 16:30 |