<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Sincronización de Procesos by </title>
      <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90</link>
      <description>Sistemas Operativos - 15 de marzo de 2023</description>
      <language>en-us</language>
      <pubDate>2023-03-15 15:09:04 UTC</pubDate>
      <lastBuildDate>2023-03-16 16:20:27 UTC</lastBuildDate>
      <webMaster>hello@padlet.com</webMaster>
      <image>
         <url></url>
      </image>
      <item>
         <title>Sincronización de procesos</title>
         <author>andressanabriav</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517936294</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:12:36 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517936294</guid>
      </item>
      <item>
         <title>Concepto</title>
         <author>bernalcodes</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517941157</link>
         <description><![CDATA[<div>La Sincronización de Procesos o Sincronización es la forma en que los <strong><em>procesos que comparten el mismo espacio de memoria</em></strong> son gestionados en un Sistema Operativo.<br><br>Ayuda a mantener consistentes los datos al <strong><em>usar variables o hardware para que solo un proceso a la vez pueda realizar cambios</em></strong>.</div>]]></description>
         <enclosure url="https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems/images/Chapter5/5_16_MonitorSchematic.jpg" />
         <pubDate>2023-03-15 15:15:42 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517941157</guid>
      </item>
      <item>
         <title>Semáforos</title>
         <author>andressanabriav</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517948494</link>
         <description><![CDATA[<div>La sincronización de procesos es un problema común en la programación de sistemas operativos. Los semáforos son una herramienta que se utiliza para resolver este problema. Los semáforos son variables especiales que se utilizan para señalizar entre procesos.&nbsp;<br><br>El Semáforo fue propuesto por Dijkstra en 1965, que es una técnica muy importante para administrar procesos concurrentes mediante el uso de un valor entero simple, que se conoce como semáforo.<br><br>Semaforo es simplemente una variable entera que se comparte entre subprocesos. Esta variable se utiliza para resolver el problema de la sección crítica y lograr la sincronización de procesos en el entorno de multiprocesamiento.&nbsp;</div>]]></description>
         <enclosure url="https://www.monografias.com/trabajos51/sincro-comunicacion/Image4107.gif" />
         <pubDate>2023-03-15 15:20:15 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517948494</guid>
      </item>
      <item>
         <title>Espera activa</title>
         <author>cristianrojasc</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517954767</link>
         <description><![CDATA[<div>Es un técnica donde un proceso repetidamente verifica una condición, tal como esperar una entrada de teclado o si el ingreso a una sección crítica está habilitado. Puede ser una estrategia válida en algunas circunstancias especiales, sobre todo en la sincronización de procesos en los sistemas con múltiples procesadores (SMP). En general, debe ser evitada, ya que consume tiempo de CPU sin realizar ninguna operación.</div>]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:24:18 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517954767</guid>
      </item>
      <item>
         <title>Ramificaciones y uniones</title>
         <author>bernalcodes</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517963247</link>
         <description><![CDATA[<div>Cuando una tarea llega a un <strong><em>punto de ramificación</em></strong>, esta <strong><em>se divide en n sub-tareas</em></strong> que son ejecutadas en n actividades. Al completarse su ejecución, esperan a que las demás sub-tareas estén listas para <strong><em>volver a unirse</em></strong> y dejar el sistema.<br><br>Comúnmente usada en la programación paralela.</div>]]></description>
         <enclosure url="https://padlet-uploads.storage.googleapis.com/1785876292/5f8d75c74ad4dba1eb13291ea22d4bc3/The_fork_join_model_used_for_thread_level_parallelism_in_OpenMP.png" />
         <pubDate>2023-03-15 15:29:30 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517963247</guid>
      </item>
      <item>
         <title>Exclusión mutua (mutex)</title>
         <author>cristianrojasc</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517967586</link>
         <description><![CDATA[<div>Se usan en programación concurrente para evitar que entre más de un proceso a la vez en la sección crítica.<br><br>La mayor parte de estos recursos son las señales, contadores, colas y otros datos que se emplean en la comunicación entre el código que se ejecuta cuando se da servicio a una interrupción y el código que se ejecuta el resto del tiempo.&nbsp;</div>]]></description>
         <enclosure url="https://upload.wikimedia.org/wikipedia/commons/thumb/4/42/Algoritmo_Centralizado.png/220px-Algoritmo_Centralizado.png" />
         <pubDate>2023-03-15 15:32:23 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517967586</guid>
      </item>
      <item>
         <title>Tipos de Sincronización</title>
         <author>bernalcodes</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517969091</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:33:25 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517969091</guid>
      </item>
      <item>
         <title>Productor - Consumidor</title>
         <author>bernalcodes</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517970319</link>
         <description><![CDATA[<div>En este tipo de relación, el <strong><em>proceso consumidor</em></strong> depende del <strong><em>proceso productor</em></strong> hasta que la información / salida necesaria haya sido producida.<br><br>La primera implementación consistía de un componente que protegía el transporte de información entre el almacén y el periférico, conocido como "<strong><em>canal</em></strong>".<br><br>Dos semáforos de conteo (<em>productor</em> y <em>consumidor</em>) aparecen: uno indicaba la longitud de la cola (incremento por CPU y decremento por el canal), el otro contaba el número de tareas completadas no reconocidas (incremento por el canal y decremento por CPU.)</div>]]></description>
         <enclosure url="https://pages.cs.wisc.edu/~bart/537/lecturenotes/figures/s6-prodcons.jpg" />
         <pubDate>2023-03-15 15:34:03 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517970319</guid>
      </item>
      <item>
         <title>Recursos de uso exclusivo</title>
         <author>bernalcodes</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517970555</link>
         <description><![CDATA[<div>Cuando múltiples procesos dependen de un recurso y necesitan acceder al mismo tiempo, el Sistema Operativo necesita asegurar que solo un procesador acceda a dicho recurso en un momento dado.<br><br>Esto reduce la concurrencia.</div>]]></description>
         <enclosure url="https://image.slidesharecdn.com/chap03os-180404092444/85/chap03-os-14-320.jpg?cb=1670598430" />
         <pubDate>2023-03-15 15:34:13 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517970555</guid>
      </item>
      <item>
         <title>Algoritmos usados en Mutex</title>
         <author>cristianrojasc</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517972155</link>
         <description><![CDATA[]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:35:18 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517972155</guid>
      </item>
      <item>
         <title>Ejemplos de semáforos</title>
         <author>cristhianguerrero</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517976795</link>
         <description><![CDATA[<div>Suponga el siguiente ejemplo en el que se quieren sincronizar dos hilos de un proceso, de manera que se de la siguiente secuencia de ejecución: A,B,A,B... y así sucesivamente. El siguiente código resolvería el problema<br><br>semaforo a = semaforo.create(1);<br>semaforo b = semaforo.create(0);<br><br>/* codigo del hilo A */<br>while (1) {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; a.down();<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;printf("hilo A\n")<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;b.up();<br>}<br>/* CODIGO DEL HILO DE b */<br>while (1) {<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; b.down();<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;printf("hilo B\n")<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;a.up();<br>}</div>]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:38:11 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517976795</guid>
      </item>
      <item>
         <title>Funcionamiento</title>
         <author>cristianrojasc</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517976968</link>
         <description><![CDATA[<div>Los algoritmos de exclusión mutua ayudan a garantizar que un proceso pueda escribir en una sola dirección y que en ciertas secciones de código otro proceso pueda acceder a los recursos necesarios.</div>]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:38:17 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517976968</guid>
      </item>
      <item>
         <title></title>
         <author>cristianrojasc</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517977724</link>
         <description><![CDATA[<div>En un sistema multiprocesador de memoria compartida, se usa la operación indivisible test-and-set sobre una bandera, para esperar hasta que el otro procesador la despeje. La operación test-and-set realiza ambas operaciones sin liberar el bus de memoria a otro procesador. Así, cuando el código deja la sección crítica, se despeja la bandera. Esto se conoce como spin lock o espera activa.</div>]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:38:40 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517977724</guid>
      </item>
      <item>
         <title></title>
         <author>cristianrojasc</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517978131</link>
         <description><![CDATA[<div>Algunos sistemas tienen instrucciones multioperación indivisibles similares a las anteriormente descritas para manipular las listas enlazadas que se utilizan para las colas de eventos y otras estructuras de datos que los sistemas operativos usan comúnmente.</div>]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:38:55 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517978131</guid>
      </item>
      <item>
         <title></title>
         <author>cristianrojasc</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517978588</link>
         <description><![CDATA[<div>Inhabilita las interrupciones durante el conjunto de instrucciones más pequeño que impedirá la corrupción de la estructura compartida (la sección crítica). Esto impide que el código de la interrupción se ejecute en mitad de la sección crítica.</div>]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:39:09 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517978588</guid>
      </item>
      <item>
         <title></title>
         <author>cristianrojasc</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517979716</link>
         <description><![CDATA[<div><strong>Basados en tokens:</strong> Un único token se comparte en varios nodos, el proceso que posea el token se entrega a la región crítica.</div><ul><li>Algoritmo de servidor centralizado</li><li>Algoritmo en anillo</li><li>Algoritmo de Ricart y Agrawala</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:39:47 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517979716</guid>
      </item>
      <item>
         <title></title>
         <author>cristianrojasc</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517980025</link>
         <description><![CDATA[<div><strong>No basados en tokens: </strong>El acceso a la región crítica se otorga mediante turnos y mensajes, se usan marcas de tiempo para accesos equitativos. Ejemplo:</div><ul><li>Algoritmo de cola compartida.</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:39:59 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517980025</guid>
      </item>
      <item>
         <title>Sección critica</title>
         <author>andressanabriav</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517980107</link>
         <description><![CDATA[<div>La sección crítica es un segmento de código que no puede ser ejecutado por más de un proceso al mismo tiempo. Los semáforos se utilizan para garantizar que sólo un proceso esté en la sección crítica en un momento dado. Los semáforos se utilizan para resolver el problema de la sección crítica y lograr la sincronización de procesos en el entorno de multiprocesamiento.&nbsp;</div>]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:40:02 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517980107</guid>
      </item>
      <item>
         <title></title>
         <author>cristianrojasc</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517980243</link>
         <description><![CDATA[<div><strong>Basados en quorums:</strong> Cada nodo pertenece a la red que a su vez se divide en subconjuntos de nodos (quorums),cada que entren a una región crítica el quorum se bloquea.</div><ul><li>Algoritmo de Maekawa</li></ul>]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:40:07 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517980243</guid>
      </item>
      <item>
         <title></title>
         <author>andressanabriav</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517992788</link>
         <description><![CDATA[<div>Por lo general termina en un tiempo determinado y el hilo, proceso o tarea sólo tendrá que esperar un período determinado de tiempo para entrar. Se necesita un mecanismo de sincronización en la entrada y salida de la sección crítica para asegurar la utilización en exclusiva del recurso</div>]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:47:53 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517992788</guid>
      </item>
      <item>
         <title>Tipos de semáforos</title>
         <author>cristhianguerrero</author>
         <link>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517992827</link>
         <description><![CDATA[<div>Dependiendo de la función que cumple el semáforo, vamos a diferenciar los siguientes tipos:<br>* semáforos de exclusión mutua, inicialmente su contador vale1 y permite que haya un único proceso simultáneamente dentro de la sección critica<br>*semáforo contador, permiten llevar la cuenta del numero de unidades de recursos compartido disponibles, que va desde 0 hasta N<br>*semáforo de espera, generalmente se emplea para forzar que un proceso pase a estado bloqueado hasta que se cumpla la condición que le permita ejecutarse.<br>Por lo general, el contador vale 0 inicialmente, no obstante, podría tener un valor distinto de cero</div>]]></description>
         <enclosure url="" />
         <pubDate>2023-03-15 15:47:54 UTC</pubDate>
         <guid>https://padlet.com/bernalcodes/jbur1fv6lxj00e90/wish/2517992827</guid>
      </item>
   </channel>
</rss>
