Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2.1.1.- Introduccin.
La diferencia ms notable en un sistema distribuido y un sistema de un nico procesador es la
comunicacin entre procesos, en un sistema centralizado la comunicacin implica la existencia de
memoria compartida, un ejemplo sera:
Una tienda de abarrotes con productores y consumidores, donde un procesa escribe en un buffer
compartido y otro proceso lee de l.
En un sistema compartido no existe la memoria compartida y por ello la naturaleza de la
comunicacin entre procesos debe replantearse.
Los procesos, para comunicarse deben apegarse a reglas conocidas como protocolos, estos toman
frecuentemente la forma de varias capas y cada capa tiene sus propias metas y reglas, los mensajes
se intercambian de varias formas, existiendo muchas opciones de diseo al respecto; una
importante opcin es la llamada a un procedimiento remoto. Tambin es importante considerar
las posibilidades de comunicacin entre grupos de procesos, no solo entre dos procesos.
10
11
12
2.2.1.- Introduccin.
El modelo cliente - servidor es una forma conveniente de estructurar un S. O. distribuido, pero posee
una falla.
- El paradigma esencial en torno al que se construye la comunicacin es la entrada / salida.
13
14
15
16
17
18
19
20
21
22
El problema es que el ncleo del cliente no puede decidir si se ha presentado la segunda o la tercera
situacin.
Las posibles soluciones son las siguientes:
- Semntica al menos una:
- Esperar hasta que el servidor vuelva a arrancar (o se reconecte a un nuevo servidor) e intente
realizar de nuevo la operacin.
- Mantener el intento hasta recibir una respuesta para drsela al cliente.
- Garantiza que la RPC se ha realizado al menos una vez, pero es posible que se realice ms veces.
- Semntica a lo ms una:
- No se reintenta y se informa del fallo.
- Garantiza que la RPC se realiza a lo ms una vez, pero es posible que no se realice ni una sola
vez.
23
24
25
26
2.2.12.- Reconocimientos.
Cuando los RPC de gran tamao deben dividirse en muchos paquetes pequeos, surge la cuestin
del reconocimiento:
- Los paquetes sern reconocidos grupalmente o individualmente.
27
28
29
Es importante determinar en qu parte de la ruta crtica se ocupa la mayor parte del tiempo que
demanda la RPC:
- Depende del tipo de RPC y de la cantidad de datos que se deben transportar.
- En RPC con transporte mnimo la mayor parte del tiempo se ocupa en:
- El cambio de contexto al resguardo del servidor al llegar un paquete.
- La rutina de servicio de interrupciones.
- El movimiento del paquete a la interfaz de la red para su transmisin.
- En RPC con transporte de 1k o ms la mayor parte del tiempo se ocupa en:
- El tiempo de transmisin.
- El tiempo que tarda el desplazamiento del paquete hacia adentro y afuera de la interfaz.
30
2.2.14.- Copiado.
Un aspecto que domina frecuentemente los tiempos de ejecucin en RPC es el copiado.
El nmero de veces que se debe copiar un mensaje vara segn el hardware, el software y el tipo de
llamada.
En el mejor de los casos el chip de la red puede utilizar el DMA (acceso directo a la memoria) para:
- Transferir el mensaje del espacio de direcciones del resguardo del cliente a la red.
- Depositarlo en la memoria del ncleo del servidor en tiempo real.
- El ncleo:
- Inspecciona el paquete.
- Asocia la pgina que lo contiene en el espacio de direcciones del servidor.
- Si no puede efectuar la asociacin, copia el paquete al resguardo del servidor.
Generalmente las copias efectuadas son las siguientes:
- El ncleo del cliente copia el mensaje del resguardo del cliente en un buffer del ncleo para su
transmisin.
- El ncleo copia el mensaje, en software, a un buffer de hardware en la tarjeta de interfaz de la red.
- El paquete se desplaza por la red hacia la tarjeta de interfaz de la mquina destino.
- Cuando la interrupcin correspondiente al paquete aparece en la mquina del servidor, el ncleo
lo copia a un buffer del ncleo.
- El ncleo del servidor lo extrae del buffer de hardware.
- El mensaje, luego de ser inspeccionado, se copia al resguardo del servidor.
- Si la llamada transfiere como parmetro un arreglo de gran tamao se agregan las siguientes
copias:
- A la pila del cliente para la llamada del resguardo.
- De la pila al buffer de mensajes durante el ordenamiento dentro del resguardo del cliente.
- Del mensaje recibido en el resguardo del servidor a la pila del servidor que antecede a la llamada
al servidor.
El esquema precedente incluye 8 copias:
- Si el tiempo de copia de una palabra de 32 bits es de 500 nseg, con 8 copias, cada palabra necesita
4 microseg.
31
32
33
34