SlideShare una empresa de Scribd logo
1 de 19
Servidores Concurrentes
Redes de computadoras
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 !
Introducción a la Concurrencia
• ¿Qué es la concurrencia?
– Programa Secuencial. Proceso
– Procesos Concurrentes. Programa y sistema concurrente
– Relaciones entre procesos: Competencia y Cooperación
– Actividades entre procesos: Sincronización y Comunicación
• ¿Dónde se usa la concurrencia?
• ¿Cómo se usa la concurrencia?
¿Qué es la concurrencia?
• El paradigma de la programación
concurrente
• Paradigma
– Conjunto de teorías, estándares y métodos que
juntos representan una forma de ver el mundo
• Concurrencia
– Acaecimiento de varios sucesos al mismo
tiempo
¿Qué es la concurrencia?
Paralelismo Solapamiento
Simultaneidad
Tiempo
Tiempo
Tiempo
• Los sucesos se
producen en un mismo
intervalo de tiempointervalo de tiempo
((diferentes recursos)
• Los sucesos se
producen en el mismo
instante de tiempoinstante de tiempo
• Los sucesos se
producen en intervalos deintervalos de
tiempo superpuestostiempo superpuestos
Un servidor secuencial (iterativo) atendiendo a
más de un cliente
A SERVER
A CLIENT
A CLIENT
A CLIENT
4444
Durante la conversación no puede oír por el puerto
4444
A SERVER
A CLIENT
A CLIENT
A CLIENT
4444
Sólo después de efectuar la transmisión se pone a
escuchar de nuevo por el 4444
A SERVER
A CLIENT
A CLIENT
A CLIENT
4444
Si el servicio consiste en transferir un archivo, el
cliente debe digitar el nombre
A SERVER
A CLIENT
A CLIENT
A CLIENT
4444
¿Qué sucede si el servidor tiene que esperar mucho
para que un cliente escriba el nombre de un archivo?
A SERVER
A CLIENT
A CLIENT
A CLIENT
4444
Timeout
ArchServidor2
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.
Servidores Comcurrentes: hay procesos separados
para atender el puerto y para transferir el archivo
A SERVER
A CLIENT
A CLIENT
A CLIENT
4444
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
A SERVER
A CLIENT
A CLIENT
A CLIENT
4444
Mientras el nuevo proceso está atendiendo al primer
cliente, el segundo cliente puede contactar al
servidor en el puerto 4444
A SERVER
A CLIENT
A CLIENT
A CLIENT
4444
Y el servidor crea otro proceso
A SERVER
A CLIENT
A CLIENT
A CLIENT
4444
Ahora un tercer cliente contacta al servidor
A SERVER
A CLIENT
A CLIENT
A CLIENT
4444
Y un tercer proceso esclavo o thread es creado
A SERVER
A CLIENT
A CLIENT
A CLIENT
4444
18
Tipos de Servidores según su forma de servicio
• Los servidores pueden clasificarse como servidores
concurrentes o servidores iterativos.
• Los servidores iterativos reciben y atiende de a un
requerimiento a la vez. Poseen un solo hilo de control (un
“program counter”)
• Los servidores concurrentes pueden atender a mútiples
clientes en forma concurrente.
– Éstos poseen un hilo que espera por conexiones y crea un hilo
ante la llegada de un nuevo cliente.
– Éste hilo se hace cargo de los requerimiento del cliente y luego
termina (“exit”) cuando el cliente se va.
– Éstos requieren capacidad de ejecución de tareas concurrentes.
Cómo (y por qué) crear procesos paralelos
• Si existe sólo una CPU, ¿Por qué crear procesos paralelos?
– Porque algunos programas se escriben más fácilmente así. De hecho, la
programación de un servidor es a veces más fácil si se hace de esta
manera.
– Porque sí hay más de un procesador !!!!! (¿dónde?)
• El concepto de procesos paralelos implentados a nivel de S.O.
aparecen con UNIX y C.
• La forma de crearlos es ejecutando una función llamada fork()
• int i = fork() provoca que se cree un proceso exactamente igual al
que se está ejecutando.
• La única diferencia es que en el proceso hijo (el nuevo creado) la
variable i vale cero. Esto se usa para saber quién soy yo.
• En programación de servidores concurrentes, si soy el hijo ejecuto la
parte que corresponde al proceso esclavo.
• Si soy el padre (i tiene un valor distinto de cero y es el id del
proceso hijo creado) sigo recibiendo peticiones

Más contenido relacionado

La actualidad más candente

Protocolos de la capa de transporte
Protocolos de la capa de transporteProtocolos de la capa de transporte
Protocolos de la capa de transporteRicardo Sava
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativoIan Berzeker Tovar
 
Protocolos de cada capa del modelo osi
Protocolos de cada capa del modelo osiProtocolos de cada capa del modelo osi
Protocolos de cada capa del modelo osiWilfredo Matheu
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaaeross
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 CapasFani Calle
 
Investigación Técnicas de detección de errores de transmisión
Investigación Técnicas de detección de errores de transmisiónInvestigación Técnicas de detección de errores de transmisión
Investigación Técnicas de detección de errores de transmisiónJosé Alexis Cruz Solar
 
Factores humanos de IHC
Factores humanos de IHCFactores humanos de IHC
Factores humanos de IHCRafael
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Juan Anaya
 
Protocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionProtocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionEduardo J Onofre
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebTensor
 
Dispositivos de red capa fisica
Dispositivos de red capa  fisicaDispositivos de red capa  fisica
Dispositivos de red capa fisicaChava Jackson
 

La actualidad más candente (20)

Protocolos de la capa de transporte
Protocolos de la capa de transporteProtocolos de la capa de transporte
Protocolos de la capa de transporte
 
Bridge 
Bridge Bridge 
Bridge 
 
Tipos de multiplexacion
Tipos de multiplexacionTipos de multiplexacion
Tipos de multiplexacion
 
Estructura de un sistema operativo
Estructura de un sistema operativoEstructura de un sistema operativo
Estructura de un sistema operativo
 
Protocolos de cada capa del modelo osi
Protocolos de cada capa del modelo osiProtocolos de cada capa del modelo osi
Protocolos de cada capa del modelo osi
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capa
 
Caracteristicas red wan
Caracteristicas red wanCaracteristicas red wan
Caracteristicas red wan
 
Estandares protocolo 802.11
Estandares protocolo 802.11Estandares protocolo 802.11
Estandares protocolo 802.11
 
Arquitectura 3 Capas
Arquitectura 3 CapasArquitectura 3 Capas
Arquitectura 3 Capas
 
Investigación Técnicas de detección de errores de transmisión
Investigación Técnicas de detección de errores de transmisiónInvestigación Técnicas de detección de errores de transmisión
Investigación Técnicas de detección de errores de transmisión
 
Factores humanos de IHC
Factores humanos de IHCFactores humanos de IHC
Factores humanos de IHC
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Protocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionProtocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacion
 
Mapa mental modelo osi
Mapa mental modelo osiMapa mental modelo osi
Mapa mental modelo osi
 
Protocolo de capa 6
Protocolo de capa 6Protocolo de capa 6
Protocolo de capa 6
 
Procesos e Hilos
Procesos e HilosProcesos e Hilos
Procesos e Hilos
 
Modelo osi
Modelo   osiModelo   osi
Modelo osi
 
Redes
RedesRedes
Redes
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Dispositivos de red capa fisica
Dispositivos de red capa  fisicaDispositivos de red capa  fisica
Dispositivos de red capa fisica
 

Destacado

YouthUPs20161015_18_cog2016のねらいと枠組
YouthUPs20161015_18_cog2016のねらいと枠組YouthUPs20161015_18_cog2016のねらいと枠組
YouthUPs20161015_18_cog2016のねらいと枠組YokohamaCommunityDesignLab
 
YouthUPs20161015_10_外国人サポート事業とオープンデータ
YouthUPs20161015_10_外国人サポート事業とオープンデータYouthUPs20161015_10_外国人サポート事業とオープンデータ
YouthUPs20161015_10_外国人サポート事業とオープンデータYokohamaCommunityDesignLab
 
Báo cáo ttchinh thuc
Báo cáo ttchinh thucBáo cáo ttchinh thuc
Báo cáo ttchinh thuctramn79
 
электронный бизнеc
электронный бизнеcэлектронный бизнеc
электронный бизнеcdanilchenkova
 
YouthUPs20161015_15_地域と場所を重視したpblによる二年次教育の取り組み
YouthUPs20161015_15_地域と場所を重視したpblによる二年次教育の取り組みYouthUPs20161015_15_地域と場所を重視したpblによる二年次教育の取り組み
YouthUPs20161015_15_地域と場所を重視したpblによる二年次教育の取り組みYokohamaCommunityDesignLab
 
SEG 2015 HPC Trends for Seismic Computing
SEG 2015 HPC Trends for Seismic ComputingSEG 2015 HPC Trends for Seismic Computing
SEG 2015 HPC Trends for Seismic ComputingEric Collins
 
Портфолио Strategic Line
Портфолио Strategic LineПортфолио Strategic Line
Портфолио Strategic LineStrategic Line
 
YouthUPs20161015_01_超高齢化・人口減少社会に臨む横浜の課題
YouthUPs20161015_01_超高齢化・人口減少社会に臨む横浜の課題YouthUPs20161015_01_超高齢化・人口減少社会に臨む横浜の課題
YouthUPs20161015_01_超高齢化・人口減少社会に臨む横浜の課題YokohamaCommunityDesignLab
 
第1回新市庁舎 シンポジウムアンケート集計表(設問3)0909
第1回新市庁舎 シンポジウムアンケート集計表(設問3)0909第1回新市庁舎 シンポジウムアンケート集計表(設問3)0909
第1回新市庁舎 シンポジウムアンケート集計表(設問3)0909YokohamaCommunityDesignLab
 
Unit 3 research for cmp
Unit 3   research for cmpUnit 3   research for cmp
Unit 3 research for cmpgracehardy
 
150927 02 濱橋会_水辺荘プレゼン資料
150927 02 濱橋会_水辺荘プレゼン資料150927 02 濱橋会_水辺荘プレゼン資料
150927 02 濱橋会_水辺荘プレゼン資料YokohamaCommunityDesignLab
 
YouthUPs20161015_08_よこはまユースの取組み
YouthUPs20161015_08_よこはまユースの取組みYouthUPs20161015_08_よこはまユースの取組み
YouthUPs20161015_08_よこはまユースの取組みYokohamaCommunityDesignLab
 
Presentazione sponsorizzata - prova
Presentazione sponsorizzata - provaPresentazione sponsorizzata - prova
Presentazione sponsorizzata - provatest4itgroup
 
150927 05 横濱まちづくり倶楽部プレゼン資料
150927 05 横濱まちづくり倶楽部プレゼン資料150927 05 横濱まちづくり倶楽部プレゼン資料
150927 05 横濱まちづくり倶楽部プレゼン資料YokohamaCommunityDesignLab
 
YouthUPs20161015_13_横浜国立大学地域課題実習「市民白書を作ろう」を通じた学生の研究
YouthUPs20161015_13_横浜国立大学地域課題実習「市民白書を作ろう」を通じた学生の研究YouthUPs20161015_13_横浜国立大学地域課題実習「市民白書を作ろう」を通じた学生の研究
YouthUPs20161015_13_横浜国立大学地域課題実習「市民白書を作ろう」を通じた学生の研究YokohamaCommunityDesignLab
 
Báo cáo ttchinh thuc
Báo cáo ttchinh thucBáo cáo ttchinh thuc
Báo cáo ttchinh thuctramn79
 

Destacado (20)

YouthUPs20161015_18_cog2016のねらいと枠組
YouthUPs20161015_18_cog2016のねらいと枠組YouthUPs20161015_18_cog2016のねらいと枠組
YouthUPs20161015_18_cog2016のねらいと枠組
 
150927 01 趣旨説明
150927 01 趣旨説明150927 01 趣旨説明
150927 01 趣旨説明
 
YouthUPs20161015_10_外国人サポート事業とオープンデータ
YouthUPs20161015_10_外国人サポート事業とオープンデータYouthUPs20161015_10_外国人サポート事業とオープンデータ
YouthUPs20161015_10_外国人サポート事業とオープンデータ
 
Báo cáo ttchinh thuc
Báo cáo ttchinh thucBáo cáo ttchinh thuc
Báo cáo ttchinh thuc
 
электронный бизнеc
электронный бизнеcэлектронный бизнеc
электронный бизнеc
 
YouthUPs20161015_15_地域と場所を重視したpblによる二年次教育の取り組み
YouthUPs20161015_15_地域と場所を重視したpblによる二年次教育の取り組みYouthUPs20161015_15_地域と場所を重視したpblによる二年次教育の取り組み
YouthUPs20161015_15_地域と場所を重視したpblによる二年次教育の取り組み
 
SEG 2015 HPC Trends for Seismic Computing
SEG 2015 HPC Trends for Seismic ComputingSEG 2015 HPC Trends for Seismic Computing
SEG 2015 HPC Trends for Seismic Computing
 
Портфолио Strategic Line
Портфолио Strategic LineПортфолио Strategic Line
Портфолио Strategic Line
 
YouthUPs20161015_01_超高齢化・人口減少社会に臨む横浜の課題
YouthUPs20161015_01_超高齢化・人口減少社会に臨む横浜の課題YouthUPs20161015_01_超高齢化・人口減少社会に臨む横浜の課題
YouthUPs20161015_01_超高齢化・人口減少社会に臨む横浜の課題
 
第1回新市庁舎 シンポジウムアンケート集計表(設問3)0909
第1回新市庁舎 シンポジウムアンケート集計表(設問3)0909第1回新市庁舎 シンポジウムアンケート集計表(設問3)0909
第1回新市庁舎 シンポジウムアンケート集計表(設問3)0909
 
Unit 3 research for cmp
Unit 3   research for cmpUnit 3   research for cmp
Unit 3 research for cmp
 
150927 02 濱橋会_水辺荘プレゼン資料
150927 02 濱橋会_水辺荘プレゼン資料150927 02 濱橋会_水辺荘プレゼン資料
150927 02 濱橋会_水辺荘プレゼン資料
 
YouthUPs20161015_08_よこはまユースの取組み
YouthUPs20161015_08_よこはまユースの取組みYouthUPs20161015_08_よこはまユースの取組み
YouthUPs20161015_08_よこはまユースの取組み
 
Presentazione sponsorizzata - prova
Presentazione sponsorizzata - provaPresentazione sponsorizzata - prova
Presentazione sponsorizzata - prova
 
Aethon energy
Aethon energyAethon energy
Aethon energy
 
150927 05 横濱まちづくり倶楽部プレゼン資料
150927 05 横濱まちづくり倶楽部プレゼン資料150927 05 横濱まちづくり倶楽部プレゼン資料
150927 05 横濱まちづくり倶楽部プレゼン資料
 
新市庁舎整備計画概要
新市庁舎整備計画概要新市庁舎整備計画概要
新市庁舎整備計画概要
 
YouthUPs20161015_13_横浜国立大学地域課題実習「市民白書を作ろう」を通じた学生の研究
YouthUPs20161015_13_横浜国立大学地域課題実習「市民白書を作ろう」を通じた学生の研究YouthUPs20161015_13_横浜国立大学地域課題実習「市民白書を作ろう」を通じた学生の研究
YouthUPs20161015_13_横浜国立大学地域課題実習「市民白書を作ろう」を通じた学生の研究
 
水辺から見る都市づくり
水辺から見る都市づくり水辺から見る都市づくり
水辺から見る都市づくり
 
Báo cáo ttchinh thuc
Báo cáo ttchinh thucBáo cáo ttchinh thuc
Báo cáo ttchinh thuc
 

Similar a Servidores Concurrentes: Solución a la espera de clientes

Php manual-practica-one
Php manual-practica-onePhp manual-practica-one
Php manual-practica-oneleybit
 
Apuntes materia entorno cliente servidor
Apuntes materia entorno cliente servidorApuntes materia entorno cliente servidor
Apuntes materia entorno cliente servidorMalteadas
 
Introducción a la programación en internet
Introducción a la programación en internetIntroducción a la programación en internet
Introducción a la programación en internetcristinaig123
 
Servidor Web Apache para Linux
Servidor Web Apache para LinuxServidor Web Apache para Linux
Servidor Web Apache para LinuxMaría del Cisne
 
10 network applications
10 network applications10 network applications
10 network applicationscyberleon95
 
10 network applications
10 network applications10 network applications
10 network applicationsyimfer1
 
10 network applications
10 network applications10 network applications
10 network applicationsJuan Camilo
 
Obj 11 capa 7 - aplicacion
Obj 11   capa 7 - aplicacionObj 11   capa 7 - aplicacion
Obj 11 capa 7 - aplicacionPedro Sánchez
 
David requerimientos de memoria del servidor y fabricantes de
David requerimientos de memoria del servidor y fabricantes deDavid requerimientos de memoria del servidor y fabricantes de
David requerimientos de memoria del servidor y fabricantes deDavipe
 

Similar a Servidores Concurrentes: Solución a la espera de clientes (20)

Apuntes entorno cliente servidor
Apuntes entorno cliente   servidorApuntes entorno cliente   servidor
Apuntes entorno cliente servidor
 
Php manual-practica-one
Php manual-practica-onePhp manual-practica-one
Php manual-practica-one
 
Apuntes materia entorno cliente servidor
Apuntes materia entorno cliente servidorApuntes materia entorno cliente servidor
Apuntes materia entorno cliente servidor
 
Introducción a la programación en internet
Introducción a la programación en internetIntroducción a la programación en internet
Introducción a la programación en internet
 
Modelo cliente/servidor
Modelo cliente/servidorModelo cliente/servidor
Modelo cliente/servidor
 
Servidor Web Apache para Linux
Servidor Web Apache para LinuxServidor Web Apache para Linux
Servidor Web Apache para Linux
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
10 network applications
10 network applications10 network applications
10 network applications
 
10 network applications
10 network applications10 network applications
10 network applications
 
10 network applications
10 network applications10 network applications
10 network applications
 
Servidores web o http
Servidores web o httpServidores web o http
Servidores web o http
 
Cliente servidor
Cliente servidorCliente servidor
Cliente servidor
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Obj 11 capa 7 - aplicacion
Obj 11   capa 7 - aplicacionObj 11   capa 7 - aplicacion
Obj 11 capa 7 - aplicacion
 
¿Cómo elegir servidor web?
¿Cómo elegir servidor web?¿Cómo elegir servidor web?
¿Cómo elegir servidor web?
 
David requerimientos de memoria del servidor y fabricantes de
David requerimientos de memoria del servidor y fabricantes deDavid requerimientos de memoria del servidor y fabricantes de
David requerimientos de memoria del servidor y fabricantes de
 
Cómo elegir un servidor Web
Cómo elegir un servidor WebCómo elegir un servidor Web
Cómo elegir un servidor Web
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 

Más de JH Terly Tuanama

Más de JH Terly Tuanama (15)

Hemograma
HemogramaHemograma
Hemograma
 
2841 guia aplicacion web
2841 guia aplicacion web2841 guia aplicacion web
2841 guia aplicacion web
 
Semana 16 servicios_mail
Semana 16 servicios_mailSemana 16 servicios_mail
Semana 16 servicios_mail
 
Semana 15 -servicios_web
Semana 15 -servicios_webSemana 15 -servicios_web
Semana 15 -servicios_web
 
Semana 14 -_servicios_sobre_ip
Semana 14 -_servicios_sobre_ipSemana 14 -_servicios_sobre_ip
Semana 14 -_servicios_sobre_ip
 
Semana 12 ip avanzado
Semana 12 ip avanzadoSemana 12 ip avanzado
Semana 12 ip avanzado
 
Semana 10 servidores y clientes
Semana 10 servidores y clientesSemana 10 servidores y clientes
Semana 10 servidores y clientes
 
Semana 8 api de socket
Semana  8 api de socketSemana  8 api de socket
Semana 8 api de socket
 
Semana 7 tcp udp
Semana 7 tcp udpSemana 7 tcp udp
Semana 7 tcp udp
 
Semana 6 enrutamiento
Semana 6 enrutamientoSemana 6 enrutamiento
Semana 6 enrutamiento
 
Semana 4 ip, arp, icmp
Semana 4 ip, arp, icmpSemana 4 ip, arp, icmp
Semana 4 ip, arp, icmp
 
Semana 3 redes
Semana 3  redesSemana 3  redes
Semana 3 redes
 
Semana 2 capa de enlace
Semana 2 capa de enlaceSemana 2 capa de enlace
Semana 2 capa de enlace
 
Clase 01 de modelamiento de base de datos
Clase 01 de modelamiento de base de datos Clase 01 de modelamiento de base de datos
Clase 01 de modelamiento de base de datos
 
Alex trabajo
Alex trabajoAlex trabajo
Alex trabajo
 

Último

Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaSebastianQP1
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadANDECE
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPJosLuisFrancoCaldern
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxEtse9
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosfranchescamassielmor
 
Diagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxDiagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxHarryArmandoLazaroBa
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1victorrodrigues972054
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...humberto espejo
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosJeanCarlosLorenzo1
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónAlexisHernandez885688
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosOscarGonzalez231938
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidasNelsonQuispeQuispitu
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCarlos Delgado
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfAdelaHerrera9
 

Último (20)

Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieria
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidad
 
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIPSEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
SEGURIDAD EN CONSTRUCCION PPT PARA EL CIP
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
produccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptxproduccion de cerdos. 2024 abril 20..pptx
produccion de cerdos. 2024 abril 20..pptx
 
Sistema de gestión de turnos para negocios
Sistema de gestión de turnos para negociosSistema de gestión de turnos para negocios
Sistema de gestión de turnos para negocios
 
Diagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxDiagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptx
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1
 
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
594305198-OPCIONES-TARIFARIAS-Y-CONDICIONES-DE-APLICACION-DE-TARIFAS-A-USUARI...
 
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdfMATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneos
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidas
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric Project
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
 

Servidores Concurrentes: Solución a la espera de clientes

  • 2. 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 !
  • 3. Introducción a la Concurrencia • ¿Qué es la concurrencia? – Programa Secuencial. Proceso – Procesos Concurrentes. Programa y sistema concurrente – Relaciones entre procesos: Competencia y Cooperación – Actividades entre procesos: Sincronización y Comunicación • ¿Dónde se usa la concurrencia? • ¿Cómo se usa la concurrencia?
  • 4. ¿Qué es la concurrencia? • El paradigma de la programación concurrente • Paradigma – Conjunto de teorías, estándares y métodos que juntos representan una forma de ver el mundo • Concurrencia – Acaecimiento de varios sucesos al mismo tiempo
  • 5. ¿Qué es la concurrencia? Paralelismo Solapamiento Simultaneidad Tiempo Tiempo Tiempo • Los sucesos se producen en un mismo intervalo de tiempointervalo de tiempo ((diferentes recursos) • Los sucesos se producen en el mismo instante de tiempoinstante de tiempo • Los sucesos se producen en intervalos deintervalos de tiempo superpuestostiempo superpuestos
  • 6. Un servidor secuencial (iterativo) atendiendo a más de un cliente A SERVER A CLIENT A CLIENT A CLIENT 4444
  • 7. Durante la conversación no puede oír por el puerto 4444 A SERVER A CLIENT A CLIENT A CLIENT 4444
  • 8. Sólo después de efectuar la transmisión se pone a escuchar de nuevo por el 4444 A SERVER A CLIENT A CLIENT A CLIENT 4444
  • 9. Si el servicio consiste en transferir un archivo, el cliente debe digitar el nombre A SERVER A CLIENT A CLIENT A CLIENT 4444
  • 10. ¿Qué sucede si el servidor tiene que esperar mucho para que un cliente escriba el nombre de un archivo? A SERVER A CLIENT A CLIENT A CLIENT 4444 Timeout ArchServidor2
  • 11. 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.
  • 12. Servidores Comcurrentes: hay procesos separados para atender el puerto y para transferir el archivo A SERVER A CLIENT A CLIENT A CLIENT 4444
  • 13. 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 A SERVER A CLIENT A CLIENT A CLIENT 4444
  • 14. Mientras el nuevo proceso está atendiendo al primer cliente, el segundo cliente puede contactar al servidor en el puerto 4444 A SERVER A CLIENT A CLIENT A CLIENT 4444
  • 15. Y el servidor crea otro proceso A SERVER A CLIENT A CLIENT A CLIENT 4444
  • 16. Ahora un tercer cliente contacta al servidor A SERVER A CLIENT A CLIENT A CLIENT 4444
  • 17. Y un tercer proceso esclavo o thread es creado A SERVER A CLIENT A CLIENT A CLIENT 4444
  • 18. 18 Tipos de Servidores según su forma de servicio • Los servidores pueden clasificarse como servidores concurrentes o servidores iterativos. • Los servidores iterativos reciben y atiende de a un requerimiento a la vez. Poseen un solo hilo de control (un “program counter”) • Los servidores concurrentes pueden atender a mútiples clientes en forma concurrente. – Éstos poseen un hilo que espera por conexiones y crea un hilo ante la llegada de un nuevo cliente. – Éste hilo se hace cargo de los requerimiento del cliente y luego termina (“exit”) cuando el cliente se va. – Éstos requieren capacidad de ejecución de tareas concurrentes.
  • 19. Cómo (y por qué) crear procesos paralelos • Si existe sólo una CPU, ¿Por qué crear procesos paralelos? – Porque algunos programas se escriben más fácilmente así. De hecho, la programación de un servidor es a veces más fácil si se hace de esta manera. – Porque sí hay más de un procesador !!!!! (¿dónde?) • El concepto de procesos paralelos implentados a nivel de S.O. aparecen con UNIX y C. • La forma de crearlos es ejecutando una función llamada fork() • int i = fork() provoca que se cree un proceso exactamente igual al que se está ejecutando. • La única diferencia es que en el proceso hijo (el nuevo creado) la variable i vale cero. Esto se usa para saber quién soy yo. • En programación de servidores concurrentes, si soy el hijo ejecuto la parte que corresponde al proceso esclavo. • Si soy el padre (i tiene un valor distinto de cero y es el id del proceso hijo creado) sigo recibiendo peticiones

Notas del editor

  1. NOTAS
  2. NOTAS
  3. NOTAS