Descargar

Servidores concurrentes

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    Qué pasa cuando varios clientes tratan de conectarse al mismo tiempo a un servidor Una forma es ir atendiéndolos de a uno en un ciclo: como en el programa que atiende pedidos de archivos Se acepta una conexión Se lee la petición Se lee desde el archivo y se escribe en el socket hasta encontrar una marca de fin de archivo A este tipo de servidores se les llama servidores iterativos El problema es que todo cliente tiene que esperar su turno para ser atendido Si uno de ellos pide un archivo muy grande los demás tienen que esperar La mayor parte de la espera es debido a operaciones de IO, hay capacidad de CPU ociosa !

    edu.red

    Un servidor secuencial (iterativo) atendiendo a más de un cliente (Gp:) A SERVER (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) 4444

    edu.red

    Durante la conversación no puede oír por el puerto 4444 (Gp:) A SERVER (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) 4444

    edu.red

    Sólo después de efectuar la transmisión se pone a escuchar de nuevo por el 4444 (Gp:) A SERVER (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) 4444

    edu.red

    Si el servicio consiste en transferir un archivo, el cliente debe digitar el nombre (Gp:) A SERVER (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) 4444

    edu.red

    ¿Qué sucede si el servidor tiene que esperar mucho para que un cliente escriba el nombre de un archivo? (Gp:) A SERVER (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) 4444 (Gp:) Timeout (Gp:) ArchServidor2

    edu.red

    Un Servidor Concurrente Un servidor concurrente atiende a varios clientes al mismo tiempo. Más aún, mientras está atendiendo sigue escuchando El problema es que todo cliente tiene que esperar su turno para ser atendido. Si uno de ellos pide un archivo muy grande los demás tienen que esperar La mayor parte de la espera es debido a operaciones de IO, hay capacidad de CPU ociosa! Se trata de crear un nuevo proceso o línea de ejecución cada vez que un cliente “llega” a pedir un servicio.

    edu.red

    Servidores Comcurrentes: hay procesos separados para atender el puerto y para transferir el archivo (Gp:) A SERVER (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) 4444

    edu.red

    Después que el cliente contacta al servidor, éste crea otro proceso para para atender al cliente y se queda escuchando el puerto 4444 por otro (Gp:) A SERVER (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) 4444

    edu.red

    Mientras el nuevo proceso está atendiendo al primer cliente, el segundo cliente puede contactar al servidor en el puerto 4444 (Gp:) A SERVER (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) 4444

    edu.red

    Y el servidor crea otro proceso (Gp:) A SERVER (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) 4444

    edu.red

    Ahora un tercer cliente contacta al servidor (Gp:) A SERVER (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) A CLIENT (Gp:) 4444

    Partes: 1, 2
    Página siguiente