12.07.2015 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!