Tecnología de Máquinas Virtuales


Diseño con objetos

Introducción
¿Te interesa conocer cómo funciona un ambiente de objetos?
¿Querés aprender qué es el Algoritmo de Method Lookup y cómo varían sus implementaciones dependiendo de si el lenguaje es estaticamente tipado o no?
¿Querés aprender cómo funciona el algoritmo de garbage collection generacional?
¡Entonces participá de este curso! Veremos y modificaremos una VM real para ahondar en todos estos temas.
Descripción
El objetivo de este curso es que los asistentes entiendan cómo funciona una ambiente de objetos. Conocer en detalle los algoritmos de Method Lookup, Alocación de Memoria, Liberación de Memoria y Ejecución.

Temario

  • Presentación de la problema de tener un modelo de ejecución consistente y simple

  • Modelo de Ejecución

  • Por Stack y Byte Code

  • Comunicación con el mundo exterior

  • Algoritmo de Method Lookup

  • Técnicas Dinámicas (DTS, CT, RD, GLC, IC, PIC)

  • Técnicas Estátiacas (TL, VTBL)

    • Administración de Memoria

    • Problemas relacionados a la alocación y liberación (fragmentación, tiempo, localidad de referencias, etc).

    • Algoritmos de alocación

    • Algoritmos de Recolección de Basura

    • Reference Counting

    • Reference Counting localizado

    • Mark & Sweep

    • Generation

  • Implementación y debugging de una VM



Objetivos
Resultado esperado

Los asistentes entenderán el funcionamiento de las máquinas virtuales, lo que les permitirá encontrar las mejores técnicas de implementación cuando sea necesario

Que no cubre

  • Detalles específicos sobre la ejecución en distintos sistemas operativos

  • Detalles específicos de la implementación de las máquinas virtuales de algunos lenguajes de objetos


Pre-requisitos
Conocimientos del Paradigma de Objetos

Audiencia
Programadores, Diseñadores, Arquitectos

Cursos relacionados


Duración
16 horas
Lenguajes de programación
Smalltalk - Java - .Net - Ruby - Python - ObjectiveC - Php - Swift - JavaScript