



Revista elaborada por: Diana Vásquez Nixia Camaño


















Revista elaborada por: Diana Vásquez Nixia Camaño
Que es la concurrencia…………………………………… ..4
Origen de la concurrencia……………………………………………………….…4
Programación concurrente…………………………………………………………4
Importancia de programación concurrente……………………………...5
Programación concurrente ……………………………………………………….5
Motivaciones……………………………………………………………………………..5
Para que es útil la programación concurrente…………………… 6 Formas de concurrencia ..7
Paralelismo vs concurrencias .7
Modelos de sistemas reales .8
Como especificar concurrencia……………………………………………….9 Abstracción de concurrencia………………………………………………….10
Lenguajes de concurrencia…………………………………………… .10
1.Concurrencia es compartir recursos al mismo tiempo.
2.La computación concurrente es una forma de cómputo en la cual varios cálculos se realizan concurrentemente, y no uno a la vez de forma
3.secuencial.Eninformática, la concurrencia es la capacidad de que diferentes partes o unidades de un programa, algoritmo o problema se ejecuten de forma desordenada o parcial, sin afectar el resultado final
Programación concurrente aprovecha procesadores capaces de ejecutar varias aplicaciones en un entorno de multiprogramación, al delegar tareas a la CPU y los dispositivos de E/S. En la década de 1960, concurrencia problemas derivados de la corrupción de datos compartidos a la falta de fiabilidad de un sistema con múltiples carreras de hilos de ejecución eran sobre todo problemas para los diseñadores de sistema operativo. Con el advenimiento de la computación en red en la década de 1970, el papel de la simultaneidad en la comunicación vino a la vanguardia, y los métodos porque programas ejecutan subprocesos concurrentes hizo más refinados. Ahora, la mayoría idiomas apoyan a algún tipo de concurrencia Programación concurrente.
Hace referencia a las técnicas de programación que son utilizadas para expresar la concurrencia entre tareas y solución de los problemas comunicación y sincronización entre procesos. Para definirla correctamente, debemos diferencias entre programa y proceso.
La importancia de la programación concurrente está en que proporciona un entorno abstracto donde estudiar el paralelismo sin tener que enfrascarse en los detalles de implementación. La concurrencia en los lenguajes de programación permite definir programas más legibles, fáciles de mantener, aumentar la portabilidad y, sin ella, en los casos de sistemas embebidos no podría existe un sistema operativo residente.
La programación concurrente tiene capacidad para realizar varias tareas al mismo tiempo o muchas tareas en una sola PC con un procesador o varios. Es la capacidad de un sistema operativo para ejecutar varios procesos al mismo tiempo corriendo sobre un procesador. Motivaciones
• EXISTEN SISTEMAS inherentemente concurrentes: los sistemas reactivos.
• Aparte de esta motivación existen otras dos motivaciones principales que de echo fueron anteriores en el tiempo a la utilización de la programación para la construcción del sistema reactivos.
• Explotación de arquitectura paralela para obtener ganancias en la velocidad de ejecución (programación paralela).
• Mejorar la utilización del procesador de sistemas operativos.
La programación concurrente se encarga del estudio de las nociones de ejecución concurrente, así como sus problemas de comunicación y sincronización. se pueden “repartir” entre procesadores o gestionar en un único procesador según importancia. cuya solución es más fácil utilizando esta Beneficiosmetodología.delaprogramación
concurrente. Velocidad de ejecución. Al subdividir un programa en procesos, estos se pueden “repartir” entre procesadores o gestionar en un único procesador según importancia.
● Solución a problemas de esta naturaleza. Existen algunos problemas cuya solución es más fácil utilizando esta metodología.
1.multiprogramación Los procesos multiplexan sus ejecuciones sobre un único procesador.
2. multiproceso los procesos multiplexan sus ejecuciones sobre un sistema multiprocesador de memoria compartida.
3. procesamiento distribuido los procesos multiplexan sus ejecuciones en varios procesadores que no comparten memoria
• es el acto de ejecutar varias tareas simultáneamente.
• se obtiene mediante el uso de varias CPU, como un sistema multiprocesador y la operación de diferentes procesos en estas unidades de procesamiento o CPU.
• requiere múltiples unidades de procesamiento.
• es el acto de ejecutar y administrar múltiples tareas al mismo tiempo.
• se logra intercalando la operación de los procesos en la CPU y particularmente el cambio de contexto.
• se puede implementar la concurrencia utilizando una sola unidad de procesamiento.
▪
MODELO ICÓNICO: son objetos reales que representan la forma espacial del objeto a modelar.
▪
MODELO ANALÓGICO: son objetos reales, que en la correspondencia con el objeto a modelar se establecen sus comportamientos, es decir, en la forma como reaccionan ante determinadas acciones que se ejercen sobre ellos.
▪
MODELOS GRÁFICOS: mediante gráficos se representan aspectos de un objeto. Estructura y Comportamiento.
▪ MODELOS SIMBÓLICOS: representan aspectos de un objeto mediante símbolos y su correspondiente interpretación.
▪
MODELO DESCRIPTIVO: modelo físico, conceptual o matemático que describe situaciones.
▪
MODELO NORMATIVO: se basa en como se deben tomar las decisiones para quienes las toman.
Como especificar concurrencia concurrencia es esencialmente especificar los procesos concurrentes, su comunicación y sincronización.
• Sincronizar => Combinar acciones atómicas de grano fino (finegrained) en acciones (compuestas) de grano grueso (coarse grained) que den la exclusión mutua.
• Sincronizar=> Demorar un proceso hasta que el estado de programa satisfaga algún predicado (por condición).
A lo largo de la historia, se han inventado abstracciones en los LAN que han resultado muy útiles para la comunidad informática:
• abstracción de expresiones (FORTRAN…)
• abstracción del flujo de control: programación estructurada secuencial (Algol…)
• abstracción de la lógica y el álgebra (Lisp, Prolog…)
• abstracción de datos (Algol, Pascal…)
• modelado de objetos (Smalltalk, C++…)
• Aquellos que incorporan características que permiten expresar la concurrencia directamente, sin recurrir a servicios del s.o., bibliotecas, etc.
• Normalmente incluyen mecanismos de sincronización y comunicación entre procesos
• Ejemplos: Ada, Java, SR, Occam, PARLOG
Echaiz, Javier. Formas de concurrencia. disponible en SincronizacionExtras_BW.pdfURL:https://cs.uns.edu.ar/~gd/soyd/clases/04[consultado18de septiembre de 2022]
Marin, Noriangel(Jul 23 2015) ModelosdeSistemasreales. Disponible en URL: https://prezi.com/9utvzfar6jvy/tipos de modelos de sistemas en relacion a la est/?frame=387d6e5430070f0612cccf09978cf67818b815fc [Consultado 18 de septiembre de 2022]
Diferencias entre concurrencia y paralelismo(2019).disponible en URL: https://es.gadget info.com/difference between concurrency [Consultado 17 de septiembre de 2022]
Sistemas concurrentes: programación concurrente. Disponible en URL:https://www.monografias.com/trabajos106/sistemas concurrentes programacion concurrente/sistemas concurrentes programacion concurrente [Consultado 17 de septiembre de 2022]
Especificar la concurrencia (19 4 2014) disponible en URL: https://slidetodoc.com/conceptos de la clase anterior especificar la concurrencia/[Consultado 19 de septiembre de 2022]