Libro en PDF - DIT - Universidad Politécnica de Madrid
Libro en PDF - DIT - Universidad Politécnica de Madrid
Libro en PDF - DIT - Universidad Politécnica de Madrid
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Complejidad y Tecnologías <strong>de</strong> la Informacióndistribuido (muy gran<strong>de</strong>) y la <strong>de</strong>l usuario, al limitar los tipos <strong>de</strong> interacciones posibles<strong>en</strong>tre ambos a las permitidas por los objetos distribuidos disponibles. Para laespecificación y uso <strong>de</strong> estos objetos Amoeba proporciona el AIL 14 , que permiterealizar estas tareas <strong>de</strong> forma s<strong>en</strong>cilla. La seguridad vi<strong>en</strong>e dada por el uso <strong>de</strong>"capabilities", objetos abstractos asociados a las operaciones sobre objetos. Elsistema da "capabilities" a los usuarios <strong>de</strong> forma que se asegure la protección <strong>de</strong>lobjeto ante usos neglig<strong>en</strong>tes o no autorizados. Alre<strong>de</strong>dor <strong>de</strong> estos dos conceptos,objetos y capabilities (y con la ayuda <strong>de</strong> unos efici<strong>en</strong>tes protocolos <strong>de</strong> comunicaciones),se construye el sistema Amoeba. El resultado es un sistema operativo queconsigue que para el usuario sean transpar<strong>en</strong>tes aspectos como la localización física<strong>de</strong> los ficheros, la concurr<strong>en</strong>cia <strong>de</strong> accesos sobre ellos, la replicación <strong>de</strong> datos ocierto grado <strong>de</strong> tolerancia fr<strong>en</strong>te a fallos 15 .4.2 Las llamadas a procedimi<strong>en</strong>to remoto.Al principio <strong>de</strong> este capítulo se habló <strong>de</strong> la importancia <strong>de</strong> disponer <strong>de</strong> herrami<strong>en</strong>tasconceptuales para facilitar el diseño <strong>de</strong> sistemas distribuidos. En lo que queda <strong>de</strong>él, vamos a <strong>de</strong>scribir dos <strong>de</strong> ellas, para que el lector pueda <strong>en</strong>t<strong>en</strong><strong>de</strong>r a qué se hacíarefer<strong>en</strong>cia con esas palabras.Ya hemos m<strong>en</strong>cionado las llamadas a procedimi<strong>en</strong>to remoto (RPC) 16 al hablar<strong>de</strong> los mecanismos básicos <strong>de</strong> Amoeba. La i<strong>de</strong>a que sust<strong>en</strong>ta este mo<strong>de</strong>lo esext<strong>en</strong><strong>de</strong>r al ámbito <strong>de</strong> los sistemas distribuidos la forma "clásica" <strong>de</strong> solicitar unservicio: la llamada a procedimi<strong>en</strong>to. Se pret<strong>en</strong><strong>de</strong>, por tanto, disponer <strong>de</strong> unainterfaz que permita al programador llamar a un procedimi<strong>en</strong>to, pasándole losparámetros <strong>de</strong> <strong>en</strong>trada y salida oportunos, sin preocuparse <strong>de</strong> la localización físicadon<strong>de</strong> se ejecutará. El sistema <strong>de</strong>berá, por lo tanto, <strong>de</strong>scubrir si el procedimi<strong>en</strong>topue<strong>de</strong> ejecutarse localm<strong>en</strong>te. En caso contrario t<strong>en</strong>drá que localizar una máquinadon<strong>de</strong> sí se pueda, y comunicarse con ella (pasando y recibi<strong>en</strong>do los parámetrosa<strong>de</strong>cuados). Y todo esto <strong>de</strong> forma transpar<strong>en</strong>te para el usuario. En un caso másg<strong>en</strong>eral pue<strong>de</strong> ser necesaria la colaboración <strong>de</strong> varios procesos, localizados posiblem<strong>en</strong>te<strong>en</strong> máquinas distintas, para ejecutar el procedimi<strong>en</strong>to <strong>de</strong>mandado 17 .14 AIL significa "Amoeba Interface Language" (l<strong>en</strong>guaje <strong>de</strong> interfaz con Amoeba).15 Des<strong>de</strong> luego, estas breves líneas no pret<strong>en</strong>d<strong>en</strong> ser una <strong>de</strong>scripción exhaustiva <strong>de</strong>l sistemaAmoeba. El lector interesado pue<strong>de</strong> <strong>en</strong>contrarla <strong>en</strong> [Mull<strong>en</strong><strong>de</strong>r, 1990].16 En inglés, RPC (remote procedure call). Para más información sobre las RPC pue<strong>de</strong> consultarse[Birrell, 1984].17 Éste es el caso, por ejemplo, <strong>de</strong> muchos <strong>de</strong> los servicios <strong>de</strong>l sistema Isis, como el gestor<strong>de</strong> transacciones o el servicio <strong>de</strong> noticias (<strong>de</strong> una forma breve, pue<strong>de</strong> <strong>de</strong>cirse que el sistemaIsis es "una ext<strong>en</strong>sión al sistema operativo Unix que proporciona una caja <strong>de</strong> herrami<strong>en</strong>taspara facilitar el diseño y la codificación <strong>de</strong> sistemas distribuidos"). Una información másexhaustiva sobre las características <strong>de</strong> Isis pue<strong>de</strong> <strong>en</strong>contrarse <strong>en</strong> [Birman, 1990].260