COMUNICACIÓN EN LOS SISTEMAS OPERATIVOS OPERATIVOS DISTRIBUIDOS 2.1. Comunicación La diferencia más importante entre un sistema distribuido y un sistema de un único procesador es la comunicación entre procesos. En un sistema de un solo procesador la comunicación supone implícitamente la existencia de la memoria compartida: Ejemplo: problema de los productores y los consumidores, donde un proceso escribe en un buffer compartido y otro proceso lee de él. En un sistema distribuido no existe la memoria compartida y por ello toda la naturaleza de la comunicación entre procesos debe replantearse. Los procesos, para comunicarse, deben apearse a relas conocidas como protocolos. !ara los sistemas distribuidos en un área amplia, estos protocolos toman frecuentemente la forma de "arias capas y cada capa tiene sus propias metas y relas.
Comunicación con cliene !e"#i$o" %!oc&e!'. El #modelo cliente $ ser"idor% tiene como idea fundamental la estructuración del &. '. como: •
• • • • •
(n rupo de procesos en cooperación, llamados ser"idores, )ue ofrecen ser"icios a los usuarios. (n rupo de procesos usuarios llamados clientes. El #modelo cliente $ ser"idor% se basa en un #protocolo solicitud * respuesta%: Es sencillo y sin conexión. +o es complejo y orientado a la conexión como '& o -! * !. El cliente en"ía un mensaje de solicitud al ser"idor pidiendo cierto ser"icio.
El ser"idor: • •
• •
Ejecuta el re)uerimiento. /eresa los datos solicitados o un códio de error si no pudo ejecutarlo correctamente. +o se tiene )ue establecer una conexión sino 0asta )ue ésta se utilice. La pila del protocolo es más corta y por lo tanto más eficiente.
Comunicación Con RPC %Remoe P"oce$u"e P"oce$u"e Call' El mecanismo eneral para las aplicaciones cliente$ser"idor se proporciona por el pa)uete /emote !rocedure all 1/!2. /! fue desarrollado por &un 3icrosystems y es una colección de 0erramientas y funciones de biblioteca. 4plicaciones importantes construidas sobre /! son +&, &istema de nformación de /ed y +5&, &istema de 5ic0eros de /ed. (n ser"idor /! consiste en una colección de procedimientos )ue un cliente puede solicitar por el en"ío de una petición /! al ser"idor junto con los parámetros del procedimiento. El ser"idor in"ocará el procedimiento indicado en nombre del cliente, entreando el "alor de retorno, si 0ay aluno. !ara ser independiente de la má)uina, todos los datos intercambiados entre el cliente y el ser"idor se con"ierten al formato External 6ata /epresentation 176/2 por el emisor, y son recon"ertidos a la
representación local por el receptor. /! confía en soc8ets estandard (6! y -! para transportar los datos en formato 76/ 0acia el 0ost remoto. &un amablemente a puesto /! en el dominio público9 se describe en una serie de /5s.
Comunicación en ("u)o onceptualizamos la comunicación como el medio )ue permite acciones mutuas entre las personas. Existe comunicación cuando una persona influye sobre el comportamiento de otra, incluso sin 0ablar. 3ientras más sentidos inter"enan, mejor será la comunicación. omunicar es poner en común. (no comunica sentimientos, ideas, datos. En eneral el término se refiere a cosas inmateriales, o mejor dic0o #inasibles%. uando son bienes en tres dimensiones se utiliza mejor el término #intercambio%. Esto no )uita )ue alunos especialistas eneralicen y se refieran a #comunicación% para nombrar cual)uier clase de interacción. !ero me parece complicar las cosas. 4sí )ue, si no 0ay objeciones, dejemos esta palabra para sinificar cual)uier clase de intercambio de bienes no$materiales, preferentemente información. En la teoría de la información se desinan con"encionalmente a un Emisor y a un /eceptor )ue se representan ráficamente unidos por una doble flec0a. ;sta indica )ue sólo se puede 0ablar de comunicación, en el estricto sentido de la palabra, cuando el / tiene la ocasión de poder reaccionar al mensaje del emisor.
BROADCAST O DI*USION *OR+ADA, -ransmisión de un pa)uete )ue será recibido por todos los dispositi"os en una red. MULTICAST, onsiste en la entrea de pa)uetes a tra"és de una red a "arios destinos de forma simultánea e"itando al máximo el duplicar los pa)uetes, esto es, se duplican pa)uetes exclusi"amente cuando se bifurca el camino a los diferentes destinos finales. UNICAST o POINTCAST, (n nodo emite y otro recibe, solo escuc0a a)uel a )uien se Tole"ancia a *allo! La tolerancia a fallas es considerada la principal característica )ue debe de tener un sistema distribuido para alcanzar el principio de transparencia. !ara lorar la tolerancia a fallos se necesita de una buena comunicación entre procesos distribuidos y sobretodo de una correcta coordinación entre procesos. (n &istema 6istribuido en base a la coordinación de sus procesos puede ser: 4síncrono: no 0ay coordinación en el tiempo. &íncrono: se suponen límites máximos para el retraso de mensajes. 6iriió el mensaje. (na clasificación adicional es la realizada en base a rupos
2.2 Sinc"oni-ación La sincronización de procesos en los sistemas distribuidos resulta más compleja )ue en los centralizados, debido a )ue la información y el procesamiento se mantiene en diferentes nodos. (n sistema distribuido debe mantener "istas parciales y consistentes de todos los procesos cooperati"os. Reloe! */!ico! • • • • •
Los relojes físicos son relojes )ue: 6eben ser iuales 1estar sincronizados2. +o deben des"iarse del tiempo real más allá de cierta manitud. En ciertos sistemas es importante la 0ora real del reloj: &e precisan relojes físicos externos 1más de uno2. &e deben sincronizar: on los relojes del mundo real.
Reloe! ló0ico! El soft
3antener la 0ora del día o tiempo real E"itar )ue los procesos se ejecuten durante más tiempo del permitido. 3antener un reistro del uso del !(.
U!o! $e la !inc"oni-ación maneo $e cace comunicación en 0"u)o e3clu!ión muua elección "an!accione! aómica! e ine"4lo5ueo Sinc"oni-ación, La sincronización es la coordinación de procesos )ue se ejecutan simultáneamente para completar una tarea, con el fin de obtener un orden de ejecución correcto y e"itar así estados inesperados. Memo"ia Cac6, En los sistemas de arc0i"os con"encionales, el fundamento para la memoria cac0é es la reducción de la E*& de disco 1lo )ue aumenta el rendimiento2, en un &46 el objeti"o es reducir el tráfico en la red. La co)ia $e memo"ia cac6, onser"ar allí los blo)ues de disco de acceso más reciente, para así manejar localmente los accesos repetidos a la misma información y no aumentar el tráfico de la red. La cac0é es un área de memoria utilizada para ailizar los procesos de lectura$escritura. E3clu!ión muua, La condición de exclusión mutua se aplica a los os )ue no pueden ser compartidos. !or ejemplo, "arios procesos no pueden compartir simultáneamente una impresora. Los arc0i"os de sólo lectura son un buen ejemplo de recurso )ue puede compartirse. &i "arios procesos intentan abrir un arc0i"o de sólo lectura al mismo tiempo, puede concedérseles acceso al arc0i"o de forma simultánea. (n proceso no necesita esperar nunca para acceder a un recurso compartible
Al0o"imo! $e Elección, &on los aloritmos para la elección de un proceso coordinador, iniciador, secuenciador. El objeti"o de un aloritmo de elección es arantizar )ue iniciada una elección ésta concluya con el acuerdo de todos los procesos con respecto a la identidad del nue"o coordinador. T"an!acción aómica "an!acción o acción aómica: La principal propiedad de la transacción atómica es el #todo o nada%: ' se 0ace todo lo )ue se tenía )ue 0acer como una unidad o no se 0ace nada. 2.7 Nominación En los sistemas distribuidos los nombres 0acen referencia a cual)uier entidad, ya sea un arc0i"o, un periférico, un proceso, etc. )ue se pueden encontrar en má)uinas remotas. Los ser"idores de nombres ayudan a localizar fácilmente y 0acer transparente el acceso a los recursos 1transparencia de localización2.
Ca"ace"/!ica! 8 e!"ucu"a! (n nombre es más )ue una cadena de caracteres. /epresenta un punto de acceso 0acia un objeto. La característica principal de un sistema de nombre es )ue no debe de presentar ambi=edades, para un momento dado, un nombre refiere a uno y sólo un recurso en el sistema. Ti)o! $e nom4"e! u!ua"io 8 $e !i!ema En el contexto de la informática, un usuario es a)uel )ue utiliza un sistema informático. !ara )ue los usuarios puedan obtener seuridad, acceso al sistema, administración de recursos, etc, dic0os usuarios deberán identificarse. !ara )ue uno pueda identificarse, el usuario necesita una cuenta 1una cuenta de usuario2 y un usuario, en la mayoría de los casos asociados a una contrase>a. Los usuarios utilizan una interfaz de usuario para acceder a los sistemas, el proceso de identificación es conocido como identificación de usuario o acceso del usuario al sistema 1del inlés: ?lo in?2. Los usuarios se caracterizan por ser el tipo de personas )ue utilizan un sistema sin la amplia experiencia necesaria )ue se re)uiere para entender al sistema 1en oposición al técnico, 0ac8er u otro perfil )ue sí se presupone conoce dic0o sistema2. En el contexto 0ac8er, se les denomina usuarios reales. Los usuarios de informática son muy similares a los usuarios en telecomunicaciones, pero con alunas pe)ue>as diferencias semánticas. La diferencia es comparable a la diferencia )ue existe entre un usuario final y los consumidores en la economía.@ !or ejemplo, uno puede ser un usuario 1y tener una cuenta2 de un sistema informático, una red de computadoras ó tener una cuenta de correo electrónico.
Re!olución 8 $i!"i4ución /E&'L(A+ 6E +'3B/E& 6E 6'3+' El mecanismo )ue consiste en encontrar la dirección ! relacionada al nombre de un ordenador se conoce como ?resolución del nombre de dominio?. La aplicación )ue permite realizar esta operación 1por lo eneral, interada en el sistema operati"o se llama ?resolución?. uando una aplicación desea conectarse con un 0ost conocido a tra"és de su nombre de dominio 1por ejemplo, ?es.8ios8ea.net?2, ésta interroa al ser"idor de nombre de dominio definido en la confiuración de su red. 6e 0ec0o, todos los e)uipos conectados a la red tienen en su confiuración las direcciones ! de ambos ser"idores de nombre de dominio del pro"eedor de ser"icios. 6&-/B(A+ (na distribución de soft
Se"#i$o"e! 8 a0ene! $e nom4"e! (n aente de usuario es una aplicación informática )ue funciona como cliente en un protocolo de red9 el nombre se aplica eneralmente para referirse a a)uellas aplicaciones )ue acceden a la Corld Cide Ceb. Los aentes de usuario )ue se conectan a la Ceb pueden ser desde na"eadores
Ma)eo $e $i"eccione! El mapeo de direcciones corresponde en la relación de e)ui"alencia entre un tipo de nombre a otro tipo de nombre9 por ejemplo, de un nombre de usuario a un nombre de sistema.
Ma)eo $e "ua! •
•
•
El mapeo de rutas consiste en la relación de e)ui"alencia entre un tipo de ruta u otro tipo. /ecordar )ue las rutas consiste en la serie de ubicaciones para poder acceder a un recurso. 'tro nombre )ue recibe el mapeo de rutas es el de encaminamiento.
Mo$elo $e Te""8 El problema principal de cual)uier sistema de nombre reside en encontrar de manera fácil, sencilla y rápida cual)uier recurso a tra"és del identificador 1nombre2 dado. !ara solucionar este problema, -erry y otros propusieron un modelo de facilidades )ue debe de poseer todo sistema de nombres, dic0as características son las siuientes: • • • • •
5acilidad centralizada de nombramiento 5acilidad repleada de nombramiento 5acilidad descentralizada de nombramiento 5acilidad distribuida de nombramiento 5acilidad jerár)uica de nombramiento