Abstract
El descenso de los precios en los equipos informáticos y en las comunicaciones entre equipos remotos, así como el aumento de la fiabilidad de dichos equipos, permiten que en lugar de tener grandes equipos monolíticos para proporcionar todos los servicios necesarios en un sistema, resulte más rentable y fiable tener pequeños sistemas distribuidos cada uno de ellos especializado en uno o varios servicios determinados.
La aparición de sistemas distribuidos lleva consigo la necesidad de crear aplicaciones que aprovechen al máximo las posibilidades que proporcionan dichos sistemas. Las aplicaciones tradicionales, secuenciales, se pueden utilizar en sistemas distribuidos, sin embargo, estas aplicaciones no sacan el máximo rendimiento a tales sistemas. Se pueden hacer modificaciones a estas aplicaciones para que aprovechen mejor las posibilidades
de los sistemas pero debido su filosofía, no son las más adecuadas para entornos distribuidos.
Es necesario, pues, aplicaciones nuevas que aprovechen al máximo las capacidades de los sistemas distribuidos. Pero para realizar el mencionado tipo de aplicaciones, es necesario crear antes una base sobre la que poder desarrollar dichas aplicaciones. Esta base debe proporcionar las funciones necesarias para poder realizar aplicaciones distribuidas y/o concurrentes, éste es el objetivo de este Trabajo Fin de Carrera, la creación de una serie de funciones primitivas con las que se puedan desarrollar estas aplicaciones.