Hoy en día podemos estar ejecutando Word y PowerPoint al mismo tiempo, y además, tener abierta la ventana del navegador con varias páginas en diferentes pestañas.
Esto es asombroso si pensamos que se tiene un procesador quien es el que hace la tarea y que tiene, de alguna manera, que administrar su tiempo de proceso en diversas tareas.
La técnica que logra esto es la concurrencia, la cual es a su vez un programa que permite administrar los sistemas que se cargan en memoria.
Y no sólo eso, también administra los recursos disponibles como la memoria de almacenamiento, de forma que -idealmente al menos- el software funciones y haga todas las tareas pedidas.
Los problemas de la concurrencia«Cuando están pasando múltiples cosas al mismo tiempo, se necesita de una manera de coordinarlas para hacer que no se bloqueen mutuamente», dice Bryan Parno, de CyLab, profesor de computación y ingeniería eléctrica, y agrega: «Este ha sido -históricamente- un proceso con un sinfín de errores».
Por ello, Parno y su equipo de investigadores publicó recientemente un nuevo lenguaje de programación de alto desempeño para programas concurrentes, que asegura que el programa puede demostrarse como correcto, esto es, que el código matemáticamente procesa correctamente.
El lenguaje y la herramienta se llaman Armada, y se presentó en la Conferencia de Implementación y Diseño de Lenguajes de Programación, en donde se llevó el galardón de ser un artículo especialmente distinguido.
Las virtudes de Armada«Lo que es nuevo en Armada es que está diseñado para …