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

Resumen servidores
Resumen servidoresResumen servidores
Resumen servidoresamador11
 
Que Es Un Servidor
Que Es Un ServidorQue Es Un Servidor
Que Es Un Servidorchofy
 
Hosting presentacion
Hosting presentacionHosting presentacion
Hosting presentacionwaltergo
 
Servidores y tipos
Servidores y tiposServidores y tipos
Servidores y tiposjomper1
 
Servidores informatica vega francisco
Servidores informatica vega franciscoServidores informatica vega francisco
Servidores informatica vega franciscoFrancisco Vega
 
Que es un servidor pdf personalizada
Que es un servidor pdf personalizadaQue es un servidor pdf personalizada
Que es un servidor pdf personalizada2013maquerajuan
 
Presentacion ventajas y desventajas de un servidor compartido
Presentacion ventajas y desventajas de un servidor compartidoPresentacion ventajas y desventajas de un servidor compartido
Presentacion ventajas y desventajas de un servidor compartidoEnrique Rodriguez
 
servidores y tus tipos
servidores y tus tiposservidores y tus tipos
servidores y tus tiposluiskquintero
 
Servidores y tipos
Servidores y tipos Servidores y tipos
Servidores y tipos dicksonperez
 
Clase 08 Arquitectura De Servidores
Clase 08   Arquitectura De ServidoresClase 08   Arquitectura De Servidores
Clase 08 Arquitectura De ServidoresJaime Valenzuela
 

La actualidad más candente (17)

Resumenservidores
ResumenservidoresResumenservidores
Resumenservidores
 
Cliente servidor
Cliente   servidorCliente   servidor
Cliente servidor
 
Resumen servidores
Resumen servidoresResumen servidores
Resumen servidores
 
Que Es Un Servidor
Que Es Un ServidorQue Es Un Servidor
Que Es Un Servidor
 
Hosting presentacion
Hosting presentacionHosting presentacion
Hosting presentacion
 
Servidor presentacion
Servidor presentacionServidor presentacion
Servidor presentacion
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Servidor
Servidor Servidor
Servidor
 
Servidores y tipos
Servidores y tiposServidores y tipos
Servidores y tipos
 
Servidores informatica vega francisco
Servidores informatica vega franciscoServidores informatica vega francisco
Servidores informatica vega francisco
 
Que es un servidor pdf personalizada
Que es un servidor pdf personalizadaQue es un servidor pdf personalizada
Que es un servidor pdf personalizada
 
Servidores web
Servidores webServidores web
Servidores web
 
Presentacion ventajas y desventajas de un servidor compartido
Presentacion ventajas y desventajas de un servidor compartidoPresentacion ventajas y desventajas de un servidor compartido
Presentacion ventajas y desventajas de un servidor compartido
 
servidores y tus tipos
servidores y tus tiposservidores y tus tipos
servidores y tus tipos
 
Servidores
ServidoresServidores
Servidores
 
Servidores y tipos
Servidores y tipos Servidores y tipos
Servidores y tipos
 
Clase 08 Arquitectura De Servidores
Clase 08   Arquitectura De ServidoresClase 08   Arquitectura De Servidores
Clase 08 Arquitectura De Servidores
 

Destacado

Destacado (10)

Clase4 - Operadores en Delphi
Clase4 - Operadores en DelphiClase4 - Operadores en Delphi
Clase4 - Operadores en Delphi
 
api_de_socket [Explicación Completa]
api_de_socket [Explicación Completa]api_de_socket [Explicación Completa]
api_de_socket [Explicación Completa]
 
Guía Aplicacion laserwayes_[GPON] [La Nueva Tendencia en Redes]
Guía Aplicacion laserwayes_[GPON] [La Nueva Tendencia en Redes]Guía Aplicacion laserwayes_[GPON] [La Nueva Tendencia en Redes]
Guía Aplicacion laserwayes_[GPON] [La Nueva Tendencia en Redes]
 
Clase 01 - Introducción [Base de Datos Estratégica]
Clase 01 -  Introducción [Base de Datos Estratégica]Clase 01 -  Introducción [Base de Datos Estratégica]
Clase 01 - Introducción [Base de Datos Estratégica]
 
Clase 02 - Base de Datos Estratégica [Inteligencia de Negocios en las Organiz...
Clase 02 - Base de Datos Estratégica [Inteligencia de Negocios en las Organiz...Clase 02 - Base de Datos Estratégica [Inteligencia de Negocios en las Organiz...
Clase 02 - Base de Datos Estratégica [Inteligencia de Negocios en las Organiz...
 
Clase3 - Identificadores y directivas en Delphi
Clase3 - Identificadores y directivas en DelphiClase3 - Identificadores y directivas en Delphi
Clase3 - Identificadores y directivas en Delphi
 
Clase2 t programas - unidades - workspaces - Delphi
Clase2 t   programas - unidades - workspaces - DelphiClase2 t   programas - unidades - workspaces - Delphi
Clase2 t programas - unidades - workspaces - Delphi
 
Semana 6 - Enrutamiento
Semana 6 - EnrutamientoSemana 6 - Enrutamiento
Semana 6 - Enrutamiento
 
tcp_udp [Redes de Computadoras] [Semana 7]
tcp_udp [Redes de Computadoras] [Semana 7]tcp_udp [Redes de Computadoras] [Semana 7]
tcp_udp [Redes de Computadoras] [Semana 7]
 
Eset smart sercurity_premium_10
Eset smart sercurity_premium_10Eset smart sercurity_premium_10
Eset smart sercurity_premium_10
 

Similar a Servidores Concurrentes y Procesos Paralelos

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 y Procesos Paralelos (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
 
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
 
Capitulo 2 servidores
Capitulo 2   servidoresCapitulo 2   servidores
Capitulo 2 servidores
 

Más de Julio Antonio Huaman Chuque (10)

Replicación de Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...
Replicación de  Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...Replicación de  Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...
Replicación de Base de Datos en PostGreSQL 9.4 en Sistemas Operativos de Win...
 
Aplicacion_calculadora_vcl
Aplicacion_calculadora_vclAplicacion_calculadora_vcl
Aplicacion_calculadora_vcl
 
Seguridad de datos teoría
Seguridad de datos   teoríaSeguridad de datos   teoría
Seguridad de datos teoría
 
Exploramos el origen de la republica aristocratica
Exploramos el origen de la republica aristocraticaExploramos el origen de la republica aristocratica
Exploramos el origen de la republica aristocratica
 
Bizagi [Descripción funcional]
Bizagi [Descripción funcional]Bizagi [Descripción funcional]
Bizagi [Descripción funcional]
 
YUGIOH MANUAL
YUGIOH MANUALYUGIOH MANUAL
YUGIOH MANUAL
 
Aplicación de las derivadas en la economia
Aplicación de las derivadas en la  economiaAplicación de las derivadas en la  economia
Aplicación de las derivadas en la economia
 
Modelo de préstamo de libros
Modelo de préstamo de librosModelo de préstamo de libros
Modelo de préstamo de libros
 
Diagramas causales
Diagramas causalesDiagramas causales
Diagramas causales
 
subsistemas
subsistemassubsistemas
subsistemas
 

Último

Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdfevin1703e
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
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
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxEverardoRuiz8
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfcesar17lavictoria
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfDiegoMadrigal21
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricoalexcala5
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdffredyflores58
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 

Último (20)

Residente de obra y sus funciones que realiza .pdf
Residente de obra y sus funciones que realiza  .pdfResidente de obra y sus funciones que realiza  .pdf
Residente de obra y sus funciones que realiza .pdf
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
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
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
Unidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptxUnidad 3 Administracion de inventarios.pptx
Unidad 3 Administracion de inventarios.pptx
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdfCurso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
Curso Análisis Fisicoquímico y Microbiológico de Aguas -EAI - SESIÓN 5.pdf
 
nom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdfnom-028-stps-2012-nom-028-stps-2012-.pdf
nom-028-stps-2012-nom-028-stps-2012-.pdf
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
presentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctricopresentacion medidas de seguridad riesgo eléctrico
presentacion medidas de seguridad riesgo eléctrico
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 

Servidores Concurrentes y Procesos Paralelos

  • 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