Programación Concurrente
Enviado por branyk • 5 de Junio de 2014 • 2.533 Palabras (11 Páginas) • 412 Visitas
UNIVERSIDAD AMERICANA
Programación
Concurrente
Recopilación de teoría referente a la materia
Ing. Luis Müller
2011
Esta es una recopilación de la teoría referente a la asignatura Programación Concurrente, a ser
estudiada en clases con los alumnos, y que servirá como base para su aplicación también en clases
en ejercicios prácticos en el lenguaje de programación Java.
Contenido
RESUMEN ........................................................................................................................................................... 4
INTRODUCCIÓN .................................................................................................................................................. 4
Un ejemplo de programa concurrente ............................................................................................................... 5
CONCEPTOS ........................................................................................................................................................ 5
Computación concurrente .................................................................................................................................. 5
PROGRAMA SECUENCIAL ............................................................................................................................... 5
PROCESO ........................................................................................................................................................ 6
PROGRAMA CONCURRENTE ........................................................................................................................... 6
PROGRAMA PARALELO ................................................................................................................................... 7
PROGRAMA DISTRIBUIDO .............................................................................................................................. 7
FUNDAMENTOS DE LA PROGRAMACIÓN CONCURRENTE ................................................................................. 8
Concurrencia .................................................................................................................................................. 8
Comunicación entre procesos ........................................................................................................................ 9
Estados de un hilo .............................................................................................................................................. 9
Análisis de la comunicación entre procesos ................................................................................................. 10
Exclusión mutua: .......................................................................................................................................... 10
Problema de los Jardines .................................................................................................................................. 11
Sección Crítica .................................................................................................................................................. 12
BLOQUEO MEDIANTE EL USO DE VARIABLES COMPARTIDAS .......................................................................... 13
CARACTERIZACIÓN DEL INTERBLOQUEO .......................................................................................................... 14
Exclusión mutua ........................................................................................................................................... 14
Retención y espera ....................................................................................................................................... 14
No existencia de expropiación ..................................................................................................................... 14
Espera circular .............................................................................................................................................. 14
Semáforos ......................................................................................................................................................... 14
Ejemplo productor-consumidor ....................................................................................................................... 16
Interbloqueo e Injusticia............................................................................................................................... 16
Sincronización ............................................................................................................................................... 17
Monitores ..................................................................................................................................................... 17
Mensajes ...................................................................................................................................................... 18
ANALISIS DE CONCEPTOS MEDIANTE LOS EJEMPLOS CLASICOS DE LOS PROCESOS CONCURRENTES ............ 19
El problema de la cena de los filósofos ........................................................................................................ 19
Problema de los lectores y escritores: .......................................................................................................... 20
Programación Concurrente - Ing. Luis Müller 2
El problema del barbero dormilón ............................................................................................................... 20
El problema del productor-consumidor ....................................................................................................... 21
Productores .................................................................................................................................................. 21
Consumidores ............................................................................................................................................... 21
CARACTERISTICAS DE LOS PROCESOS CONCURRENTES: .................................................................................. 23
Interacción entre procesos ........................................................................................................................... 23
Gestión de recursos ......................................................................................................................................
...