Articulo de referencia

MagLev (software)

{{cite web|access-date=2023-02-21 |url=https://raw.githubusercontent.com/MagLev/maglev/master/Licenses/README.txt|title=License agreements|website=raw.githubusercontent.com}} "}...

MagLev es una implementación alternativa del lenguaje de programación Ruby , construida sobre la máquina virtual GemStone/S de GemTalk Systems . Gran parte de MagLev se diseñó para escribirse en Ruby en la medida de lo posible, lo que dio lugar a cierta colaboración con el proyecto Rubinius. A partir de la primera versión beta, el proyecto ejecuta RubyGems 1.3.5 de forma nativa, con soporte para extensiones de C y Smalltalk . MagLev tiene una arquitectura de máquina virtual distintiva que le permite compartir código y datos entre entornos de ejecución y ciclos de ejecución a través de una API de Ruby. [ 2 ]

Arquitectura

Maglev se ejecuta dentro de una imagen como Smalltalk , ofreciendo persistencia de objetos transparente [ 3 ] [ 4 ] para objetos y clases de Ruby. La persistencia de objetos se basa en transacciones ACID que permiten que múltiples instancias en ejecución vean un grafo de objetos compartido. Maglev utiliza un modelo de concurrencia basado en procesos, asignando hilos de Ruby a procesos de Smalltalk [ 5 ] , que se programan en la máquina virtual como hilos verdes . El uso de MagLev debería generar mejoras de rendimiento al usar Ruby, además de permitir que los procesos de Ruby en múltiples máquinas utilicen los mismos objetos al mismo tiempo. [ 6 ]

Instalación

MagLev se instala con RVM, utilizando los siguientes fragmentos de código, copiados directamente del proyecto maglev de GitHub. [ 7 ]

Instalación de levitación magnética RVM rvm utiliza levitación magnética

El estado se puede comprobar usando

Estado del sistema de levitación magnética

Compatibilidad con Ruby

Maglev está dirigido a Ruby 1.8.7 y ejecuta un número significativo de RubySpec . Admite varias extensiones de C, incluidas Nokogiri , JSON y bcrypt .

Recursos de piedras preciosas/S

  • Documentación de GemStoneS de 64 bits 3.1.x , 3 de julio de 2012 , consultada el 29 de julio de 2012.

Referencias

  1. "Acuerdos de licencia" . raw.githubusercontent.com . Consultado el 21 de febrero de 2023 .
  2. "Ruby distribuido con la máquina virtual MagLev - igvita.com" . www.igvita.com . Consultado el 21 de febrero de 2023 .
  3. "Guía de programación para GemStone/S de 64 bits, versión 1" (PDF) , VMware , julio de 2012 , consultado el 29 de julio de 2012.
  4. "MagLev – Persistencia de objetos con Ruby y Smalltalk" (PDF) , tesis de licenciatura, Instituto Hasso Plattner , 1 de julio de 2013 , consultado el 22 de febrero de 2014.
  5. Phoenix, Evan (14 de octubre de 2011), "Ruby, concurrencia y tú" , Blog de Engine Yard , consultado el 29 de julio de 2012.
  6. "MagLev Alpha lanzado: una nueva implementación escalable en Ruby" . www.rubyinside.com . Consultado el 21 de febrero de 2023 .
  7. "Primeros pasos con MagLev" .
  • Fernández, Obie (30 de mayo de 2008), MagLev es Gemstone/S para Ruby, Huge News , consultado el 29 de julio de 2012.
  • Taft, Darryl K. (6 de junio de 2008), "MagLev revoluciona Ruby House" , eWeek , consultado el 29 de julio de 2012.
  • Grigorik, Ilya (15 de enero de 2010), Ruby distribuido con la máquina virtual MagLev , consultado el 29 de julio de 2012.
  • Schuster, Werner (15 de noviembre de 2011), "NoSQL OODB con máquina virtual Ruby basada en Smalltalk: Lanzamiento de MagLev 1.0" , InfoQ , consultado el 29 de julio de 2012.