Sección Crítica en Sincronización

Sección crítica : cuando más de un proceso accede al mismo segmento de código, ese segmento se conoce como la sección crítica. La sección crítica contiene variables compartidas o recursos que se necesitan sincronizar para mantener la consistencia de las variables de datos. En términos simples, una sección crítica es un grupo de instrucciones/declaraciones o … Continue reading «Sección Crítica en Sincronización»

Algoritmos de sincronización de hardware: desbloquear y bloquear, probar y configurar, intercambiar

Los problemas de sincronización de procesos ocurren cuando dos procesos que se ejecutan simultáneamente comparten los mismos datos o la misma variable. Es posible que el valor de esa variable no se actualice correctamente antes de que lo utilice un segundo proceso. Tal condición se conoce como condición de carrera alrededor. Hay soluciones de software … Continue reading «Algoritmos de sincronización de hardware: desbloquear y bloquear, probar y configurar, intercambiar»

Programa para el Algoritmo de Banker | Conjunto 1 (algoritmo de seguridad)

Prerrequisito: Algoritmo del banquero El algoritmo del banquero es un algoritmo de asignación de recursos y evitación de puntos muertos que prueba la seguridad simulando la asignación de cantidades máximas posibles predeterminadas de todos los recursos, luego realiza una verificación de «estado s» para probar posibles actividades, antes de decidir si se debe permitir la … Continue reading «Programa para el Algoritmo de Banker | Conjunto 1 (algoritmo de seguridad)»

Implementando Race Condition en C++

Requisito previo: vulnerabilidad de condición de carrera Cuando dos subprocesos simultáneos en ejecución acceden a un recurso compartido de una manera que sin querer produce resultados diferentes según el tiempo de los subprocesos o procesos, esto da lugar a una Condición de carrera . En palabras más simples: si nuestro programa privilegiado (aplicación con control … Continue reading «Implementando Race Condition en C++»

Patrón constructor en java

Enstringmiento de métodos: en java, el enstringmiento de métodos se usa para invocar múltiples métodos en el mismo objeto que ocurre como una sola declaración. El enstringmiento de métodos se implementa mediante una serie de métodos que devuelven la referencia this para una instancia de clase. Implementación: como los valores devueltos de los métodos en … Continue reading «Patrón constructor en java»

Productor Consumidor Problema en C

El problema productor-consumidor es un ejemplo de un problema de sincronización de procesos múltiples . El problema describe dos procesos, el productor y el consumidor que comparten un búfer común de tamaño fijo y lo usan como una cola . El trabajo del productor es generar datos, ponerlos en el búfer y comenzar de nuevo. … Continue reading «Productor Consumidor Problema en C»

Problema de Lectores-Escritores | Solución de preferencia de los escritores

Requisitos previos: problema de lectores y escritores | Conjunto 1 (Introducción y solución de preferencia de los lectores) , semáforos en sincronización de procesos En la sincronización de procesos, existe un problema de sincronización muy clásico llamado problema de lectores y escritores. El problema tiene varios subproblemas o variaciones, todos relacionados con prioridades, uno de … Continue reading «Problema de Lectores-Escritores | Solución de preferencia de los escritores»

Solución productor-consumidor utilizando semáforos en Java | conjunto 2

Requisitos previos: semáforo en Java , comunicación entre procesos , problema del consumidor productor con semáforos | Serie 1 En informática, el problema del productor-consumidor (también conocido como problema del búfer acotado) es un ejemplo clásico de un problema de sincronización de procesos múltiples. El problema describe dos procesos, el productor y el consumidor, que … Continue reading «Solución productor-consumidor utilizando semáforos en Java | conjunto 2»

Problema de Sleeping Barber en Sincronización de Procesos – Part 1

Requisito previo : problema de comunicación entre procesos : la analogía se basa en una barbería hipotética con un barbero. Hay una barbería que tiene un peluquero, una silla de peluquero y n sillas para esperar a los clientes si hay alguno para sentarse en la silla. Si no hay cliente, el peluquero duerme en … Continue reading «Problema de Sleeping Barber en Sincronización de Procesos – Part 1»

Diferencia entre la prevención de interbloqueos y la prevención de interbloqueos

1. Prevención de interbloqueo: Prevención  de interbloqueo significa bloquear al menos una de las cuatro condiciones requeridas para que ocurra un interbloqueo. Si somos capaces de bloquear cualquiera de ellos, se puede evitar el interbloqueo.  Las cuatro condiciones que deben bloquearse son: –  Exclusión mutua Espera y espera Sin preferencia Espera circular Los algoritmos de … Continue reading «Diferencia entre la prevención de interbloqueos y la prevención de interbloqueos»