You are on page 1of 60

Debido a la ausencia de memoria compartida toda la comunicacin en los sistemas distribuidos se basa en la transferencia de mensajes.

Cuando el proceso A quiere comunicarse con el proceso B, construye primero un mensaje en su espacio de direcciones entonces ejecuta una llamada al sistema para que el SO busque el mensaje y lo envi atreves de la red hacia B.

Para evitar el caos A y B deben coincidir en el significado de bits que se envien.Para lograr una comunicacin optima se necesitan muchos punto de acuerdo diferentes. Por consiguiente para facilitar el trabajo con los distintos niveles correspondientes ala comunicacin la organizacin internacional de estndares(ISO) ha desarrollado un modelo de referencia llamado modelo de referencia para la interconexin de sistemas abiertos(OSI).

El modelo OSI Esta diseado para permitir la comunicacin de sistemas abiertos. Un sistema abierto es aquel preparado para comunicarse con cualquier otro sistema abierto mediante estndares que gobiernan formato contenido sig. De los mensajes enviados y recibidos. Estas reglas se formalizan en lo que se llaman protocolos. Un protocolo es un acuerdo de las partes de la forma en que se debe de desarrollar la comunicacin.

La capa fsica se preocupa por la transmisin de 0 y 1, el nm. de volts a utilizar para 0 y 1, el nm. de bits x segundo que se puede enviar son aspectos claves e la capa fsica. El protocolo de la capa fsica se encarga de la estandarizacin de las interfaces elctricas, mecnicas y de sealizacin de forma que cuando una maquina enva un bit 0, sea en realidad recibido como un bit 0 y no un bit 1.

Las redes reales estn sujetas a errores por lo que es necesario un mecanismo para detectarlos y corregirlos y este mecanismos es la tarea principal de la capa de enlace de datos lo que hace es agrupar los bits en unidades que abecs se llaman marcos y revisar que cada marco se reciba en forma correcta.

La capa de enlace de datos realiza su trabajo por medio de la colocacin de un patrn especial de bits al inicio y al final de cada marco, para sealarlos, ala vez que calcula una suma de verificacin, mediante la suma de todos los bytes del marco de cierta forma. Cmo funciona? La capa de enlace de datos aade la suma de verificacin al marco.

Al llegar el marco el receptor vuelve a calcular la suma de verificacin a partir de los datos y compara el resultado con la suma de verificacin que sigue despus del marco si coincide se dice que el marco es correcto y se acepta si no e as el emisor pide al receptor que vuelva a transmitir los datos.

En una LAN por lo Gral. no hay no existe la necesidad de que le emisor localice al receptor. Solo coloca el mensaje en la red y el receptor lo recibe, sin embargo una red de rea amplia consta de un gran numero de maquinas cada una de ellas con cierto nm. de lneas hacia las otras. En una red grande para que un mensaje llegue del emisor al receptor tiene que hacer un cierto numero de saltos,

Y en cada uno de ellos elegir una lnea por utilizar. La cuestin de la eleccin de la mejor ruta se llama ruteo y es la tarea principal de la capa de RED. El camino mas corto no siempre es el mejor.

Los paquetes se pueden perder en el camino del emisor al receptor. La tarea de al capa de trasporte es proporcionar este servicio es decir una conexin confiable, la idea es que la capa de sesin pueda enviar un mensaje a la capa de transporte con la esperanza de que este sea entregado sin perdida laguna.

Al recibir un mensaje la capa de sesin, la capa de transporte lo divide en pequeas partes de forma que cada una se ajuste a un paquete asigna a cada uno un numero secuencial y despus lo enva.

Es en esencia una versin mejorada de la capa de transporte. Proporciona un control del dialogo con el fin de mantener un registro de la parte que esta hablando en cierto momento y proporciona facilidades en la sincronizacin.

A diferencia de las capas inferiores preocupadas por la obtencin de bits del emisor al receptor en forma confiable y eficaz la capa de presentacin se preocupa el significado de los bits.

La capa de aplicaron es en realidad una coleccin de varios protocolos para actividades comunes de correo electrnico, la transferencia de archivos y la conexin entre terminales remotas alas computadoras de una red.

El mundo OSI fue desarrollado en la dcada de 1970 e implementado en 1980.los nuevos desarrolladores en esta poca estn superando a OSI lo cual es cierto en las capas inferiores controladas por la tecnologa. En el ultima siglo las computadoras han mejorado su rendimiento en muchos ordenes de magnitud. Las redes no lo han hecho.

A finales de la dcada de 1980 las compaas telefnicas de todos el mundo por fin comenzaron a darse cuenta de que ava mas en las telecomunicaciones que transmitir la voz en canales analgicos de 4Khz.sistemas como internet fuero considerados como curiosidades acadmicas similares a una vaca de dos cabezas en exhibicin de circo en la transmisin de voz analgica era donde estaba la accin(dinero).

Cuando las compaas telefnicas decidieron construir redes en el siglo XXI se enfrentaron a un dilema: el trafico de las voces es suave y necesita un ancho de banda vajo,pero abecs necesita gran cantidad de recursos mediante periodos muy breves, ni la conmutacin de circuitos tradicional(utilizada en la telefona publica)ni la conmutacin de paquetes (utilizada en internet) eran adecuadas para ambos tipos de trafico

Despues de mucho estudio se eligi una forma hibrida con bloques de tamao fijo, sobre circuitos virtuales, como un acuerdo que proporcionaba un rendimiento razonable para ambos tipos de trafico este esquema llamado modo de transferencia asncrona (ATM) se ha convertido en un estndar internacional y es probable que juego un papel principal en los sistemas distribuidos del futuro tanto de rea local como de rea amplia.

Un emisor establece primero una conexin con el receptor durante el establecimiento de la conexin se determina una ruta desde el emisor hasta el receptor y se guarda la informacin de ruteo en los conmutadores a lo largo del camino. Mediante esta conexin se pueden enviar los paquetes pero el hardware los separa en pequeas unidades de tamao fijo llamadas celdas.

Una de sus principales ventajas es que ahora se puede utilizar una red para transportar una composicin arbitraria, de voces, datos, televisin ,video cintas, radio, y otras informaciones de manera eficiente reemplazando lo que antes eran redes separadas(telfono, tv x cable,etc)

Una tarjeta de adaptacin ATM conectada a una computadora puede enviar flujo de celdas a travs de cable o fibra. El flujo de transmisin debe de ser continuo cuando no existen datos por enviar se transmiten celdas vacas lo que significa que en la capa fsica ATM es en realidad sncrono no asncrono

Cuando se desarrollaba ATM tambin se desarrollaron dos facciones dentro del comit de estndares, lo europeos queran utilizar celdas de 32 bytes puesto que estas tenan un retraso lo bastante pequeo como para que los supresores de eco no fueran necesarios en la mayora de los pases europeos. Los norteamericanos que ya tenan supresores de eco queran utilizar celdas de 64 bytes debido a su mayo eficiencia para trafico de datos

El resultado final fue una celda de 48 bytes que nadie quera en realidad.es demasiado grande para la voz y demasiado pequea para los datos. Para empeorar las cosas se agrego un encabezado de 5 bytes lo que proporciono una celda de 53 bytes con un campo de datos de 48.

A 155 Mb por segundo, una celda puede llegar cada 3 microsegundos. Pocas si no es que ninguna CPU de la actualidad puede controlar un exceso de 300 000 interrupciones/segundo. As se necesita un mecanismo para permitir que una computadora envi un paquete y que el hardware de ATM lo descomponga en celdas, transmitan las celdas y despues los devuelva a ensamblar en el otro extremo-

Generando una interrupcin por paquete por celda Este ensamblaje/re-ensamblaje es tarea de la capa de adaptacin

Las redes ATM estn formadas por cables de cobre o fibras pticas y conmutadores. Las celdas que parten de cualquiera de las 8 computadoras unidas al sistema se pueden intercambiar con cualquiera de las dems computadoras recorriendo uno mas conmutadores. Cada uno de los conmutadores tiene cuatro puertos, que se utilizan para entrada y salida(fig1)

La disponibilidad de redes ATM a 155mbits por seg. Y potencialmente a 2.5GB por seg. Tiene ciertas implicaciones importantes para el diseo de los sistemas distribuido. En gran parte los defectos que se deben principalmente al enorme ancho de banda disponible de manera sbita mas que alas propiedades especificas de las redes ATM.

Los efectos son mas evidentes en los sistemas distribuidos de rea amplia. Consideremos el envi de un archivo de 1 Mbit atreves de estados unidos ya que espera el reconocimiento de que arribo de manera correcta. La velocidad de la luz en un alambre de cobre o una fibra ptica es cercana a 2/3 al velocidad de la luz en el vaco por lo que tarada cerca de 15 milisegundos en recorrer estados unidos a 64 kb por seg. Los bits tardan 15.6 seg. En su recorrido de modo que el retraso adicional de 30 milisegundos por el -

Redondo no represesnta mucho mas. En el mejor de los casos la respuesta puede regresar despues de 31.6 miliseg. Tiempo durante el cual la lnea estuvo inactiva durante 30 milisegundos. La conclusin es que para los sistemas distribuidos de rea amplia y lata velocidad se necesitara nuevos protocolos y arquitectura de sistema que enfrenten la latencia en muchas aplicaciones en particular en las interactivas.

La idea del modelo cliente-servidor es estructurar el sistema operativo como en un grupo de procesos en cooperacin llamados servidores que ofrezcan servicios a los usuarios llamados clientes. Para evitar un gasto excesivo en los protocolos orientados hacia la conexin como OSI o TCP/IP, lo usual es que el modelo cliente-servidor se base en un protocolo solicitud/respuesta.

El cliente envia un mensaje de solicitud al servidor para pedir cierto servicio, el servidor hace el trabajo y regresa los datos solicitados o un error para indicar el la razon por la cual no se llevo a cabo dicho trabajo

Sencillez Esta consiste en que el cliente enva un mensaje y obtiene una respuesta y no se tiene que establecer una conexin si no que asta que esta se utilice, el mensaje de respuesta sirve como reconocimiento de la solicitud

Eficiencia La pila de protocolo es mas corta por lo tanto mas eficiente

Para que un cliente pueda enviar un mensaje a un servidor debe conocer la direccin de este El servidor de archivos debe de tener asignada una direccin numrica en particular se refiere a una maquina especifica Si solo existe un solo proceso en ejecucin en la maquina, el ncleo sabr que hacer con el mensaje recibido(darselo al nico proceso)

Sin embargo si ay varios procesos en ejecucin en la maquina destino, el ncleo no tiene forma de decidir. Otro tipo de sistema de direccionamiento enva mensajes a los procesos en lugar que a las maquinas Un esquema comun consiste en utilizar nombres con 2 partes, para especificar tanto la naquina como el proceso, ejemplo. 243.4,4@243 designa el proceso 4 a la maquina 243

Las primitivas con bloqueo o sncronas son las que: Cuando un proceso llama a send, especifica un destino y un bfer donde enviara ese destino. Mientras se enva el mensaje el proceso emisor se bloquea, la instruccin que sigue a la llamada send no se ejecuta sino asta que el mensaje se envi en su totalidad.

Primitivas sin bloqueo o asncronas son las que : si send no tiene bloqueo regresa de inmediato el control a quien izo la llamada, antes de enviar el mensaje. La ventaja de este esquema es que el proceso emisor puede continuar su computo en forma paralela con la transmisin de mensajes en lugar de tener inactivo su CPU.

Las primitivas no almacenadas es cuando una direccin se refiere a un proceso especifico. Una llamada receive (addr,&m) indica el ncleo de la maquina donde se ejecuto sta que el proceso que llamo escucha a la direccin addr y que esta preparada para recibir un mensaje enviado a esa direccion, se dispone de un bufer de mensaje al que apunta m, con el fin de de capturar el mensaje por llegar, cuando el mensaje llega, el nucleo receptor lo copia al bufer y elimina el bloqueo del proceso receptor .

Las primitivas con almacenamiento en bufers son: un proceso interesado en recibir mensajes que le indica al nucleo que cree un buzon para l y espesificar una direccion el la cual busca los paquetes de la red, asi, todos los mensajes que llegen con esa direccion se colocan en el buzon, de esta manera el nucleo sabe que hacer con los mensajes que lleguen y tiene un lugar para colocarlos

Cuando un proceso en la maquina A llama a un procedimiento en la maquina B, el proceso que llama a A se suspende y la ejecucin del procedimiento se realiza en B. la informacion se puede transportar de un lado a otro mediante los parametros y puede regresar en el resultado del procedimiento, el programador no se preocupa de una transferencia de mensajes o de la E/S

El procedimiento cliente llama al resguardo del cliente de la manera usual El resguardo del cliente construye un mensaje y hace un sealamiento al ncleo El ncleo enva el mensaje al ncleo remoto El ncleo remoto proporciona el mensaje al resguardo del servidor El resguardo del servidor desempaca los parmetros y llama al servidor

El servidor realiza el trabajo y realiza el resultado al resguardo El resguardo del servidor empaca el resultado en un mensaje y hace un sealamiento al ncleo El ncleo remoto enva mensaje al ncleo del cliente El ncleo del cliente da el mensaje al resguardo del cliente El resguardo desempaca el resultado y regresa al cliente

La funcin del resguardo del cliente es tomar sus parmetros empacarlos en un mensaje y enviarlos al resguardo del servidor Ejemplo: un procedimiento remoto: sum(i,j), que toma 2 parmetros enteros y regresa su suma aritmtica

El punto de partida de la coneccion dinamica es la especificacion formal del servidor, la especificacion indica el nombre del servidor en numero de vercion y una lista de los procedimientos que proporciona

El problema se presenta cuando aparecen los errores, es entonces cuando las diferencias entre las llamadas locales y remotas no son tan fciles de encubrir

El cliente no puede localizar al servidor Se pierde el mensaje de solicitud del cliente al servidor Se pierde el mensaje de respuesta de mensaje del servidor al cliente El servidor falla antes de recibir una solicitud El cliente falla despues de enviar una solicitud

Protocolos RPC : cualquier protocolo antiguo puede funcionar si obtiene los bites del nucleo del cliente y los lleva al nucleo del servidor reconocimientos: en caso de las RPC de gran tamao tengan que dividirse en muchos tamaos pequeos de la manera escrita surge una nueva cuestion deben reconocerse los paquetes de manera individual o no?. Ej. Puede enviar 4k pero el sistema solo maneja paquetes de 1k

Ruta critica: son la serie de instrucciones que que se ejecutan con cada RPC , inicia cuando el cliente llama al resguardo del cliente , sigue con el sealamiento al nucleo, la transmicion de mensaje, la interrupcion del lado del servidor , el resguardo del servidor y por ultimo llega al servidorel cual realiza el trabajo y regresa la respuesta a lo largo de la ruta inversa

Copiado: es un aspecto que domina con frecuencia en tiempo de ejecucin, el numero de copiado de un mensaje varia de 1 a 8 segn el hardware, el software y tipo de llamada Manejo de cronometro: el establecimiento de un cronometro requiere la construccion de una estructura de datos que especifique el momento en que el cronometro debe detenerse la accion a realizar en caso de que eso suceda

Un grupo es una coleccin de procesos que actan juntos en cierto sistema o alguna forma determinada por el usuario La propiedad fundamental de todos los grupos es que cuando un mensaje se enva al propio grupo lo reciben todos La comunicacin en grupo tiene posivilidades de diseo similares a la transferencia similar de mensajes.

Los sistemas que soportan la comunicacin en grupos se puede dividir en dos categorias segn quien pueda enviar a quien, algunos sistemas soportan los grupos cerrados, donde solo los miembros del grupo puede enviar hacia el grupo. Otro siastema soportan los grupos abiertos. Si se utilizan los grupos abiertos, cualquier proceso del sistema puede enviar a cualquier grupo

La distincin entre grupos cerrados y abiertos se relaciona con la pregunta de quien se puede comunicar con el grupo, en algunos grupos todos los procesos son iguales. Nadie es el jefe y todas las decisiones se toman de forma colectiva. En otros grupos existen cierto tipo de jerarqua por ejemplo un proceso es el coordinador y los dems sus trabajadores

Si se utiliza la comunicacin en grupo se requiere cierto mtodo para la creacin y eliminacin de grupos, as como para permitir a los procesos que se unan o dejen grupos . Un posible mtodo es tener un servidor de grupos al cual se pueden enviar todas las solicitudes. El servidor de grupos puede mantener entonces una base de datos de todos sus grupos y sus membresas exactas.

Para enviar un mensaje a un grupo un proceso debe tener una forma de especificar dicho grupo, los grupos pueden direccionarse al igual que los procesos. Una forma de darle a cada grupo una direccin, parecida a una direccin de proceso. Si la red soporta la multitransmision, la direccin del grupo se puede asociar con una direccin de multitransmision, de forma que cada mensaje enviado a la direccin del grupo se puede multitransmitir , de esta forma, el mensaje sera enviado a todas las maquinas que lo necesiten y a ninguna mas.

Una caracterstica de la comunicacin en grupo a la que hemos aludido la propiedad de todo o nada. No se permiten situaciones en la que ciertos miembros reciben un mensaje y otros no, la propiedad de todo o nada en la entrega se llama atomicidad o transmisin atmica

Para que la comunicacin en grupos sea facil de comprender y utilizar se necesitan 2 propiedades, la primera es transmicion atomica ya analizada, la segunda propiedad se refiere al ordenamiento de mensajes Un proceso puede ser miembro de varios grupos a la vez. Este echo puede causar un nuevo tipo de inconsistencia

Nuestro aspecto final del diseo es la escalabilidad. Muchos algoritmos funcionan bien mientras todos los grupos tengan unos cuantos miembros

You might also like