<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Concurrencia - Clase I by Nicolás Perez</title>
      <link>https://padlet.com/nykolaiperez/concurrencia_i</link>
      <description>Resumen de la primera clase de Programación Concurrente</description>
      <language>en-us</language>
      <pubDate>2024-02-06 15:34:47 UTC</pubDate>
      <lastBuildDate>2025-04-09 00:04:35 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url>https://padlet.net/icons/png/1f5a5.png</url>
      </image>
      <item>
         <title>CONCURRENCIA - INTRODUCCIÓN</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875273062</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:36:21 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875273062</guid>
      </item>
      <item>
         <title>1) ¿Qué es?  - ¿Dónde está?</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875273540</link>
         <description><![CDATA[<p>La concurrencia en general básicamente es la capacidad de ejecutar o de realizar múltiples actividades al mismo tiempo en forma simultánea. </p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:36:41 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875273540</guid>
      </item>
      <item>
         <title>Concurrencia &quot;Natural&quot;</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875275515</link>
         <description><![CDATA[<p>Una solución de forma concurrente va a ser mucho más sencilla de pensarla o hacerla de forma secuencial, para entenderla y luego poder pensar la concurrencia. </p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:37:47 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875275515</guid>
      </item>
      <item>
         <title>2) ¿Pará que la  necesitamos en la programación?</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875275810</link>
         <description><![CDATA[<p>No usar más ciclos de reloj, dejar de secuencializar. Ilustrar mejor los hechos naturales. No bloquear recursos. Distribuir sistemas.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:37:59 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875275810</guid>
      </item>
      <item>
         <title>¿Cuáles son sus objetivos?</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875277176</link>
         <description><![CDATA[<ul><li><p>Ajustar el modelo de arquitectura de hardware y software.</p></li><li><p>Incrementar la performance</p></li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:38:49 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875277176</guid>
      </item>
      <item>
         <title>3) ¿Cómo pueden funcionar los procesos?</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875278356</link>
         <description><![CDATA[<p>PROCESO: programa secuencial (un único flujo de control<br>que ejecuta una instrucción y cuando esta finaliza ejecuta la<br>siguiente).  Estos procesos van a cooperar y competir por recursos (Monitor, teclado, impresora, etc)</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:39:34 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875278356</guid>
      </item>
      <item>
         <title>Competencia</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875281043</link>
         <description><![CDATA[<p>Cuando dos o más procesos necesitan de un mismo recurso.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:41:20 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875281043</guid>
      </item>
      <item>
         <title>Deadlock</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875281608</link>
         <description><![CDATA[<p>Es una situación en la que dos o más procesos o hilos quedan bloqueados indefinidamente porque cada uno está esperando que el otro libere un recurso que necesita.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:41:37 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875281608</guid>
      </item>
      <item>
         <title>Inanición</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875281800</link>
         <description><![CDATA[<p>La inanición ocurre cuando un proceso o hilo no puede obtener acceso a los recursos que necesita para ejecutarse, ya sea de manera intermitente o de forma permanente, debido a la prioridad dada a otros procesos.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:41:46 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875281800</guid>
      </item>
      <item>
         <title>Secuencial vs Concurrente vs Paralelo</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875283786</link>
         <description><![CDATA[<p>Secuencial:</p><p>La ejecución sigue una secuencia lineal de instrucciones.</p><p>Cada instrucción se ejecuta una después de la otra, en orden.</p><p>Un solo flujo de control de ejecución.</p><p><br></p><p>Concurrente:</p><p>Ejecución de múltiples tareas que avanzan simultáneamente.</p><p>Pueden compartir recursos y coexistir en el tiempo.</p><p>Cada tarea tiene su propio flujo de control de ejecución.</p><p><br></p><p>Paralelo:</p><p>Ejecución simultánea de múltiples tareas en diferentes núcleos de CPU o unidades de procesamiento.</p><p>Aprovecha la capacidad de sistemas con múltiples núcleos.</p><p>Cada tarea tiene su propio hilo de ejecución y se ejecuta de manera independiente.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:42:57 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875283786</guid>
      </item>
      <item>
         <title>Obse I: Concurrecia</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875285051</link>
         <description><![CDATA[<p>Concepto de software no restringido a una arquitectura particular de hardware ni a un número determinado de procesadores.<br></p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:43:46 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875285051</guid>
      </item>
      <item>
         <title>5) ¿Qué es un programa concurrente?</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875286481</link>
         <description><![CDATA[<p>Un programa concurrente especifica dos o más programas secuenciales que pueden ejecutarse concurrentemente en el tiempo como tareas o procesos.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:44:39 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875286481</guid>
      </item>
      <item>
         <title>Procesos vs Hilos</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875287987</link>
         <description><![CDATA[<p>Un proceso o tarea es un elemento concurrente abstracto que puede ejecutarse simultáneamente con otros procesos o tareas, si el hardware lo permite.</p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:45:36 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875287987</guid>
      </item>
      <item>
         <title>Comunicación entre procesos</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875289727</link>
         <description><![CDATA[<p>Dificilmente una tarea cooperativa se pueda llevar adelante sin comunicación, en todos los aspectos. </p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:46:25 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875289727</guid>
      </item>
      <item>
         <title>Memoria compartida</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875290044</link>
         <description><![CDATA[<p>Los procesos intercambian información sobre la memoria compartida o actúan coordinadamente sobre datos residentes en ella. No pueden operar en simultaneo.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:46:38 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875290044</guid>
      </item>
      <item>
         <title>Pasaje de Mensajes</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875290353</link>
         <description><![CDATA[<p>Es necesario establecer un canal (lógico o físico) para transmitir información entre procesos. También el lenguaje debe proveer un protocolo adecuado. Para que la comunicación sea efectiva los procesos deben “saber”<br>cuándo tienen mensajes para leer y cuando deben trasmitir<br>mensajes.</p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:46:48 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875290353</guid>
      </item>
      <item>
         <title>Semáforos</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875291251</link>
         <description><![CDATA[<p>Son un mecanismo de sincronización y control de acceso que se utiliza en programación concurrente para evitar condiciones de carrera y garantizar la exclusión mutua. Pueden ser binarios o de Contador.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:47:27 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875291251</guid>
      </item>
      <item>
         <title>Sincronización</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875292205</link>
         <description><![CDATA[<p>Los procesos se SINCRONIZAN por exclusión mutua en el acceso a secciones críticas de código para no ejecutar simultáneamente, y por condición.</p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:48:07 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875292205</guid>
      </item>
      <item>
         <title>Exclusión mutua</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875292952</link>
         <description><![CDATA[<p>Asegurar que sólo un proceso tenga acceso a un recurso compartido en un instante de tiempo. Si el programa tiene secciones críticas que pueden compartir más de un proceso, evita que dos o más procesos puedan encontrarse<br>en la misma sección crítica al mismo tiempo.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:48:34 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875292952</guid>
      </item>
      <item>
         <title>Condición</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875293262</link>
         <description><![CDATA[<p>Permite bloquear la ejecución de un proceso hasta que se cumpla una condición dada. Ejemplo de los dos mecanismos de sincronización en un problema de utilización de un área de memoria compartida (buffer limitado con productores y consumidores)</p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:48:47 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875293262</guid>
      </item>
      <item>
         <title>Interferencia</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875294707</link>
         <description><![CDATA[<p>Ocurre cuando dos o más hilos acceden y modifican un recurso compartido al mismo tiempo, lo que puede dar lugar a resultados inesperados y comportamientos no deterministas.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:49:40 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875294707</guid>
      </item>
      <item>
         <title>Prioridad</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875295275</link>
         <description><![CDATA[<p>Un proceso que tiene mayor prioridad puede causar la<br>suspensión (pre-emption) de otro proceso concurrente.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:50:05 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875295275</guid>
      </item>
      <item>
         <title>Granularidad</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875295546</link>
         <description><![CDATA[<p>Se refiere al tamaño o nivel de detalle de las tareas o unidades de trabajo que se ejecutan de manera concurrente en un sistema. En otras palabras, se trata de la medida de la cantidad de trabajo que se realiza como una unidad atómica independiente. La elección de la granularidad puede tener un impacto significativo en el rendimiento y la eficiencia de la ejecución concurrente. Fina vs Gruesa</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:50:15 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875295546</guid>
      </item>
      <item>
         <title>4) Admnistración de recursos</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875308567</link>
         <description><![CDATA[<p>Esto incluye la asignación de recursos compartidos, métodos de acceso a los recursos, bloqueo y liberación de recursos, seguridad y consistencia.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:58:55 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875308567</guid>
      </item>
      <item>
         <title>Equilibrio de acceso (fairness)</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875309843</link>
         <description><![CDATA[<p>Una propiedad deseable en sistemas concurrentes es el equilibrio en el acceso a recursos compartidos por todos los procesos.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 15:59:53 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875309843</guid>
      </item>
      <item>
         <title>Overloading</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875310831</link>
         <description><![CDATA[<p>A un proceso se le asigna recursos que implican más trabajo que el de otro.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 16:00:38 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875310831</guid>
      </item>
      <item>
         <title>Deadlock</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875312463</link>
         <description><![CDATA[<p>Recursos reusables serialmente: los procesos comparten recursos que pueden usar con exclusión mutua.<br>Adquisición incremental: los procesos mantienen los recursos que poseen mientras esperar adquirir recursos adicionales.<br>No-preemption: una vez que son adquiridos por un proceso, los recursos no pueden quitarse de manera forzada sino que sólo son liberados voluntariamente.<br>Espera cíclica: existe una cadena circular (ciclo) de procesos tal que cada uno tiene un recurso que su sucesor en el ciclo está esperando adquirir.</p><p><br></p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 16:01:38 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875312463</guid>
      </item>
      <item>
         <title>6) ¿Cuándo un lenguaje es Concurrente?</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875313837</link>
         <description><![CDATA[<p>Requerimientos de un lenguaje de programación concurrente:<br>Indicar las tareas o procesos que pueden ejecutarse concurrentemente.<br>Mecanismos de sincronización.<br>Mecanismos de comunicación entre los procesos.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 16:02:27 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875313837</guid>
      </item>
      <item>
         <title>Problemas</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875314540</link>
         <description><![CDATA[<p>Los procesos no son independientes y comparten recursos. </p><p>Los procesos iniciados en un programa concurrente pueden no estar vivos LIVENESS.</p><p>No es deterministico. Dificil el debug.</p><p>Más tiempo de desarrollo. </p><p>Posible reducción de performance por el OVERHEAD</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 16:02:58 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875314540</guid>
      </item>
      <item>
         <title>Obs II: Concurrencia - Paralelismo</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875316192</link>
         <description><![CDATA[<p>La Concurrencia es un concepto de software (propiedad del<br>programa)La Programación Paralela se asocia con la ejecución concurrente en múltiples procesadores que pueden tener memoria compartida, y con un objetivo de incrementar performance (propiedad de la máquina). La Programación Distribuida es un “caso” de concurrencia con<br>múltiples procesadores y sin memoria compartida.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 16:04:05 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875316192</guid>
      </item>
      <item>
         <title>7) Concurrencia de hardware</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875489611</link>
         <description><![CDATA[<p>Esto implica el uso de técnicas y características de hardware diseñadas para permitir la ejecución concurrente de instrucciones y procesos. </p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 18:04:57 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875489611</guid>
      </item>
      <item>
         <title>Límites</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875490396</link>
         <description><![CDATA[<p>Máquinas monoprocesador ya no pueden mejorar.</p><p>Más procesadores por chip para mayor potencia de cómputo.</p><p>Multicores → Cluster de multicores → Consumo.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 18:05:21 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875490396</guid>
      </item>
      <item>
         <title>Uso eficiente</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875490893</link>
         <description><![CDATA[<p>Programación concurrente y paralela.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 18:05:40 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875490893</guid>
      </item>
      <item>
         <title>Niveles de memoria</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875491670</link>
         <description><![CDATA[<p>Jerarquía de memoria. ¿Consistencia?</p><p>Diferencias de tamaño y tiempo de acceso.</p><p> Localidad temporal y espacial de los datos.</p><p><br></p><p><br></p>]]></description>
         <enclosure url="https://es.wikipedia.org/wiki/Jerarqu%C3%ADa_de_memoria#/media/Archivo:Jerarquia_memoria.png" />
         <pubDate>2024-02-06 18:06:17 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875491670</guid>
      </item>
      <item>
         <title>Distintas maquinas</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875492551</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 18:06:57 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875492551</guid>
      </item>
      <item>
         <title>Memoria compartida</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875492707</link>
         <description><![CDATA[<p>Interacción modificando datos en la memoria compartida.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 18:07:06 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875492707</guid>
      </item>
      <item>
         <title>Memoria distribuida</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875492926</link>
         <description><![CDATA[<p><br>Procesadores conectados por una red.</p><p>Memoria local (no hay problemas de consistencia).</p><p>Interacción es sólo por pasaje de mensajes.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 18:07:14 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875492926</guid>
      </item>
      <item>
         <title>UMA  - NUMA</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875501849</link>
         <description><![CDATA[<p>Esquemas UMA con bus o crossbar switch (SMP, multiprocesadores simétricos). </p><p>Problemas de sincronización y consistencia. </p><p>Esquemas NUMA para mayor número de procesadores distribuidos</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 18:12:45 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875501849</guid>
      </item>
      <item>
         <title>8) Historia</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875506231</link>
         <description><![CDATA[<ol><li><p><strong>Inicio de la Computación:</strong></p><ul><li><p>En los primeros días de la informática, las computadoras eran sistemas uniprocesador que ejecutaban una única tarea a la vez. La concurrencia no era un concepto relevante en este contexto.</p></li></ul></li><li><p><strong>Multiprogramación:</strong></p><ul><li><p>Con la introducción de la multiprogramación en la década de 1960, las computadoras comenzaron a ejecutar múltiples programas en paralelo. Sin embargo, estos programas no se ejecutaban simultáneamente en el nivel de instrucciones individuales, sino que se alternaban rápidamente.</p></li></ul></li><li><p><strong>Multiprocesadores:</strong></p><ul><li><p>A medida que la tecnología avanzaba, surgieron los sistemas multiprocesadores a finales de la década de 1960 y principios de la década de 1970. Estos sistemas tenían la capacidad de ejecutar múltiples tareas simultáneamente, distribuyendo la carga de trabajo entre varios procesadores.</p></li></ul></li><li><p><strong>Desarrollo de Técnicas de Sincronización:</strong></p><ul><li><p>En la década de 1970, se comenzaron a desarrollar técnicas de sincronización más avanzadas para gestionar la concurrencia, incluyendo la introducción de semáforos y mutex.</p></li></ul></li><li><p><strong>Desarrollo de Modelos de Concurrencia:</strong></p><ul><li><p>A medida que los sistemas se volvían más complejos, se desarrollaron modelos de concurrencia para ayudar a entender y gestionar la ejecución concurrente. Modelos como el modelo de actores y el modelo de memoria transaccional surgieron para abordar aspectos específicos de la concurrencia.</p></li></ul></li><li><p><strong>Avances en Hardware:</strong></p><ul><li><p>A lo largo de las décadas de 1980, 1990 y 2000, los avances en la tecnología de hardware llevaron al desarrollo de sistemas con múltiples núcleos de procesador. Esto permitió una mayor concurrencia a nivel de hardware con la ejecución simultánea de múltiples hilos.</p></li></ul></li><li><p><strong>Programación Concurrente y Paralela:</strong></p><ul><li><p>La programación concurrente y paralela se volvió más común con el auge de sistemas con múltiples núcleos y la necesidad de aprovechar al máximo los recursos disponibles. Lenguajes de programación modernos, como Java y Python, incluyen bibliotecas y constructores para facilitar la programación concurrente.</p></li></ul></li><li><p><strong>Desarrollo de Tecnologías como Hyper-Threading:</strong></p><ul><li><p>Tecnologías como Hyper-Threading, introducidas por Intel, permiten que un solo núcleo de procesador ejecute múltiples hilos de manera simultánea, mejorando la eficiencia de la ejecución.</p></li></ul></li></ol>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 18:15:48 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875506231</guid>
      </item>
      <item>
         <title>Cooperación</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875556398</link>
         <description><![CDATA[<p>Los procesos se combinan para la tarea.  Sincronización fundamental.</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-06 18:54:53 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875556398</guid>
      </item>
      <item>
         <title>Inanición</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875874564</link>
         <description><![CDATA[<p>No logra acceder a los recursos compartidos</p>]]></description>
         <enclosure url="" />
         <pubDate>2024-02-07 00:54:55 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2875874564</guid>
      </item>
      <item>
         <title>Conceptos</title>
         <author>nykolaiperez</author>
         <link>https://padlet.com/nykolaiperez/concurrencia_i/wish/2882737198</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2024-02-13 21:17:26 UTC</pubDate>
         <guid>https://padlet.com/nykolaiperez/concurrencia_i/wish/2882737198</guid>
      </item>
   </channel>
</rss>
