


Cuando hablamos de concurrencia nos referimos a la ejecución de varias acciones de forma simultánea por partedelordenador.NuestroobjetivoEnestedocumento es el de responder a ciertas interrogantes que nos ayudarán a conocer términos importantes en la programación
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.
La programación concurrente tiene sus raíces en los sistemas operativos y en la programación de sistemas, no en vano, los primeros programas concurrentes fueron los propios sistemas operativos de multiprogramación en los que un solo procesador de gran capacidad debía compartirsu tiempo entre muchos usuarios.
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 existirun sistema operativo residente.
La multitarea es la característicadelossistemas operativos modernos que permite que varios procesos o aplicaciones se ejecuten aparentemente al mismo tiempo, compartiendo uno o másprocesadores.
Existen sistemas inherentemente concurrentes: Lossistemasreactivos.
Aparte de esta motivación existen otras dos motivaciones principales, que de hecho fueron anteriores en eltiempoa la utilización de la programación concurrente para la construcción de sistemas reactivos: Explotación de arquitecturasparalelasparaobtenergananciaen lavelocidadde ejecución (Programación Paralela).
Seencargadelestudiodelasnocionesde ejecución concurrente, así como sus problemas de comunicación y sincronización.Sepueden“repartir”entre procesadores o gestionar en un único procesador según importancia. cuya solución es más fácil utilizando esta metodología.
¿Para qué es útil la programación concurrente?
Hace posible compartir recursos y subsistemas complejos. En sistemas monoprocesador permite optimizar el uso de los recursos. Facilita la programación de tiemporeal,yaquesepuedenconcebircomo procesos cuya ejecución se planifica de acuerdoconlaurgencia.
Laprogramaciónconcurrentenoes más que la forma en la cual podemos resolver carets problemáticas de forma concurrente, es decir,ejecutando múltiplestiresalamismavezyno de forma ecumenical. En un programa concurrente las tires pueden continuar sin la necesidad dequeotrascomiencenofinalicen.
El paralelismo requiere un soporte físico: varios procesadores. La concurrencia es el caso general y el paralelismo un caso particular. La concurrencia (y el paralelismo) se refiere a la ejecución de código: Hay procesosconcurrentesyflujosconcurrentes.
Icónico: Es una representación física de algunos objetos, ya sea en forma idealizada o en escala distinta. Podemos decir, por ejemplo, que un automóvil de juguete esun modelo icónico de un automóvil de verdad.
Analógico: Los modelos análogos se construyen mediante un conjunto de convenciones que sintetizan y codifican propiedades del objeto real para facilitar la "lectura"o interpretación de las mismas.
Gráfico: Un modelo gráfico representa todas las cantidades involucradas en el modelo mediante nodos de una gráfica dirigida, el modelo representa el supuesto que dados los nodos padres padres(v) p a d r e s ( v ) cada nodo es independiente del resto de los nodos a excepción de sus descendientes.
Simbólico: se construyen representando el objeto real mediante una codificación matemática (geométrica, estadística, etc.) Ejemplo: la representación de un edificio mediante la identificación y codificación en una estructura geométrica de suselementosbásicos.
Matemático: es uno de los tipos de modelos científicos que emplea algún tipo de formulismo matemático para expresar relaciones, proposiciones sustantivas de hechos, variables, parámetros, entidades y relaciones entre variables de las operaciones, para estudiar comportamientos de sistemas complejosante situacionesdifícilesde observaren la realidad.
Descriptivo: es uno de los métodos que se usan en investigaciones para la evaluación de algunas características de una población. Recopila datos cuantificables que se pueden analizar con fines estadísticos en una población objetivo. Este tipo de estudio tiene, por tanto, la forma de preguntas cerradas, lo que limita las posibilidades de obtener información exclusiva.
Un programa concurrente especifica dos o más programas secuenciales que pueden ejecutarse concurrentemente en el tiempo como tareas o procesos.
Nuestro programa expresa acciones concurrentes (procesos o hilos), pero éstas no tienen por qué ejecutarse en paralelo. Cada proceso concurrente se ejecuta sobre un procesador virtual. El compilador y el s.o. serán responsables de ejecutar nuestros procesos como consideren más oportuno.
Un Lenguaje de Programación será concurrente si posee las estructuras necesarias para definir y manejar diferentes tareas (hilos de ejecución) dentro de un programa. El compilador y el SO serán los responsables de “mapear” la concurrencia lógica del programa sobre el hardware disponible.
La concurrenciaestápresenteenlaNaturalezayen lossistemasinformáticos.
Elhardwaremultiprocesador permite realizar mástrabajoen menostiempo.
De ahí se derivan dos grandesobjetivos: aprovecharlaconcurrenciaexistenteenelhardware facilitar al programador su misión de modelar sistemasconcurrentes
Concurrencia (Informática), (9 de Julio de 2022), Wikipedia https://en.m.wikipedia.org/wiki/Concurrency_(computer_science)
Paulino J., Ing. (03 de Julio de 2014), SlideShare https://es.slideshare.net/frandyjavier/programacin-concurrente35452572#:~:text=Notas%20del%20editorLa%20programaci%C3%B3n %20concurrente%20tiene%20sus%20ra%C3%ADces%20en%20los %20sistemas%20operativos,su%20tiempo%20entre%20muchos%20usuarios.
Universidad del Valle de México, CONCLUSIÓN La importancia de la programación, https://www.coursehero.com/file/42680797/A1-docx/
Bembibre V. (Enero 2009), Definición de Multitarea https://definicionabc.com/multitarea/
Programación concurrente en lenguajes funcionales, visitado 12/9/2022, Monografías https://www.monografias.com/trabajos106/programacion-concurrentelenguajes-funcionales/programacion-concurrente-lenguajes-funcionales RodríguezM. (12/9/2022), Introducción a la Programación Concurrente, CTM, https://www.google.com/url?sa=t&source=web&rct=j&url=https:// www2.ulpgc.es/hege/almacen/download/20/20233/ tema1.pdf&ved=2ahUKEwiDcHampz6AhV4toQIHf5tBJMQFnoECA0QAQ&usg=AOvVaw0ldLWmWEhGD5FC_s5n9FN
Drake J. Visitaso (12/9/2022) Programación Concurrente, ProcodisPdf https://www.google.com/url?sa=t&source=web&rct=j&url=https:// www.ctr.unican.es/asignaturas/procodis_3_ii/doc/ procodis_1_01.pdf&ved=2ahUKEwijhsGCj5z6AhXgkGoFHcTICdkQFnoECAUQ Bg&usg=AOvVaw249rWnu0Z5sOlWub_mFQrq
Gil M. Introducción a los Sistemas Operativos, Concurrencia yparalelismo, Pdf https://www.google.com/url?sa=t&source=web&rct=j&url=https:// people.ac.upc.edu/marisa/miso/ concurrencia.pdf&ved=2ahUKEwiW6c7JnZz6AhVjtoQIHQVoCBwQFnoECAUQ Bg&usg=AOvVaw3343EcXykC8JG1CRqTnucJ
Noriangel M. (23/7/2015),Tiposde Modelos de sistemasen relación a laTGS. https://prezi.com/9utvzfar6jvy/tipos-de-modelos-de-sistemas-en-relacion-a-laestructura-st/
Sistemas concurrentes, visitado (12/9/2022)Monografías
https://www.monografias.com/trabajos106/sistemas-concurrentesprogramacion-concurrente/sistemas-concurrentes-programacion-concurrente2
Programación Concurrente , visitado (12/9/2022)Informática, Pdf
https://www.google.com/url?sa=t&source=web&rct=j&url=http:// informatica.uv.es/iiguia/LP/teoria/apuntes/cuatr1/ tema3_1_concurrencia.pdf&ved=2ahUKEwjOwoPi0Zz6AhWGTDABHfuiAYoQF noECAUQBg&usg=AOvVaw3vJtmnOx0wncCrHExBzIIE