Sistemas operativos modernos
8.3.6 Middleware basado en coordinación Nuestro último paradigma de sistema distribuido se denomina middleware basado en coordi nación. Comenzaremos con el sistema Linda, un proyecto de investigación académica que dio origen a todo el campo. Luego examinaremos dos ejemplos comerciales que se inspiraron en gran medida en Linda: publicar/suscribir y Jini. Linda Linda es un novedoso sistema de comunicación y sincronización creado en la Universidad de Yale por David Gelemter y su estudiante Nick Carriero (Carnero y Gelemter, 1986; Carriero y Gelemter, 1989, y Gelemter, 1985). En Linda, procesos independientes se comunican por me dio de un espacio de tupias abstracto. Este espacio es global para todo el sistema, y procesos de cualquier máquina pueden insertar o sacar tupias de él sin que importe cómo o dónde están almacenadas. Para el usuario, el ^pacio de tupias semeja una gigantesca memoria compartida global, que ya vimos anteriormente en varias formas (y en la figura 8 - 22 c). Una tupia es como una estmctura en C o un registro en Pascal. Consta de uno o más cam pos, cada uno de los cuales es un valor de algún tipo reconocido por el lenguaje base (Linda se implementa añadiendo una biblioteca a un lenguaje existente, como C). En el caso de C-Linda, los tipos de campos incluyen enteros, enteros largos y números de punto flotante, además de tipos compuestos como arreglos (incluidas cadenas) y estmcturas (pero no otras tupias). A dife rencia de los objetos, las tupias consisten en forma exclusiva en datos; no tienen métodos aso ciados. La figura 8-42 muestra tres ejemplos de tupias. ("abe", 2, 5) ("matriz-IM, 6, 3.14)1", ("familia", "es-hermana", "Estefanía", "Roberta") Figura 8-42. Tres tupias en Linda. Pueden aplicarse cuatro operaciones a las tupias. La primera, ouí, coloca una tupia en el espacio de tupias. Por ejemplo, out("abc", 2, 5): coloca la tupia (“abe”, 2, 5) en el espacio de tupia. Los campos de out por lo regular son cons tantes, variables o expresiones, como en out("matriz-1", i, j, 3.14); que saca una tupia de cuatro campos, de los cuales el segundo y el tercero dependen de los va lores actuales de las variables i y j. Las tupias se recuperan del espacio de tupias con la primitiva in. El direccionamiento es por contenido, no por nombre ni dirección. Los campos de in pueden ser expresiones o pará metros formales. Consideremos, por ejemplo, inC'abc", 2, ?i);
RkJQdWJsaXNoZXIy MjI4NDcx