argentina
a la vez como máximo en cambio con la introducción de las hebras concurrentes(programación
concurrente) o procesos es posible que cada objeto se ejecute simultáneamente, esperando
mensajes y respondiendo adecuadamente. Como siempre la principal razón para la investigación
de la programaciónconcurrente es que nos ofrece una manera diferente de conceptualizar la
solución de un problema, una segunda razón es la de aprovechar el paralelismo del hardware
subyacente para lograr una aceleración significativa.
Para entender mejor este detalle un buen ejemplo de un programa concurrente es el navegador
Web de modem. Un ejemplo de concurrencia en un navegador Web se produce cuando e navegadorempieza a presentar una página aunque puede estar aun descargando varios archivos
de gráficos o de imágenes. La página que estamos presentando es un recurso compartido que
deben gestionar cooperativamente las diversas hebras involucradas en la descarga de todos los
aspectos de una página. Las diversas hebras no pueden escribir todas en la pantalla
simultáneamente, especialmente si la imagen ografico descargado provoca el cambio de tamaño
del espacio asignado a la visualización de la imagen, afectando así la distribución del texto.
Mientras hacemos todo esto hay varios botones que siguen activos sobre los que podemos hacer
click particularmente el boton stop como una suerte de conclusión se observa en este paper
que las hebras operan para llevar a cabo una tarea como la del ejemploanterior así mismo se
vera que los procesos deben tener acceso exclusivo aun recurso compartido como por ejemplo la
visualización para evitar interferir unas con otras.
Concurrencia:
Programación secuencial
•Hasta ahora se ha trabajado con programas secuenciales
–Se ejecuta paso a paso
–Son deterministas: si se ejecutan varias veces en las mismas condiciones, en diferentes equipos, da losmismos resultados
12/05/20112
Programación Concurrente
•En lo que sigue se trata de programación concurrente
–En cada momento puede haber varios fragmentos en ejecución más o menos simultánea
–Dos ejecuciones, en las mismas circunstancias, pueden producir resultados diferentes
Concurrencia
De diccionario
•Concurrencia:
–simultaneidad de dos sucesos
–galicismo por competencia, rivalidadComputacional
–Dos o más tareas son concurrentes si el inicio de una de ellas ocurre entre el inicio y el final de otra
12/05/20113
Concurrencia en la vida real
•Variaspersonasparticipandoenactividadcolectiva:fiesta,reunión,viajandojuntos
•Lasactividadesdeunaempresa,dondehayvariaspersonasymáquinastrabajandoenunmismoperíododetiempo•Unapersonaqueestáatendiendosutrabajoy,alavez,respondeteléfono,consultasporInternet,oyemúsicaytomauncafé
Concurrencia en la vida real
•Sepresentansituacionesdecompetenciaporlosrecursos,inclusoaniveldeluchaporellos
•Puedeaprovecharseparacolaborarenrealizarunatareacompleja,dividiéndolaentareasmenores
•Surgenproblemasdecomunicaciónydesincronización
12/05/20114
Concurrencia en computación•Procesadormuchomásrápidoqueotrasunidadesdelacomputadorayestasmásquelossereshumanosquelausan
•Desdehacetiemposeusalamultiprogramaciónparacompartireltiempodeunprocesadorentrevariostrabajos
•Algunascomputadorastienenvariosprocesadoresquepermitenunpara-
lelismomayor
Concurrencia en computación
•Computadoraspersonalespermitenvariosprogramasejecutándosesimultáneamente:
–Sistemaoperativo
–Antivirus
–Internet:navegador,variossitios
–Chat
–Procesadordetextos–Juegos
12/05/20115
Concurrencia en computación
•Unmismoprogramapermitesimultáneamente:
–Variasventanasactivas
–Varioselementosgráficosactivosenunaventana(botones,etc.)
–Entradaporteclado
–Entradaporratón
–Entradaporotrosdispositivos
–Usodeimpresora
Proceso
•“Programa al tiempo de ejecución”
•“Abstracción del sistema operativo que permite que un sistema informático soporte...
Regístrate para leer el documento completo.