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