Ir al contenido principal

Entradas

Mostrando las entradas con la etiqueta sistemas operativos

Algoritmo de Dekker #1 Alternancia Estricta

En el curso de sistemas operativos 1, se estudian las soluciones al problema de la exclusión mutua por software, uno de los temas es el algoritmo de Dekker y sus diferentes versiones, que buscan coordinar el acceso a un recurso compartido (o región critica) por un grupo de procesos, garantizando la exclusión mutua entre dichos procesos al usar el recurso. el primer intento del algoritmo de dekker es conocido como de "alternancia estricta" o "sincronizacion forzada" básicamente porque cada uno de los procesos tiene asignado un turno, y el algoritmo para coordinarlos solo hace cambiar el turno uno por uno, y luego vuelve a iniciar. esta forma de solucionar el problema garantiza la exclusión mutua pero introduce una fuerte dependencia entre los procesos, si un proceso usa el recurso a intervalos grandes, cuando su turno llega, los demás procesos deben esperar, por lo que los procesos lentos, retrasan a los procesos rápidos....

Threads en Java, Simulación de Proccess Control Block

Esta aplicación demuestra como sincronizar varios threads en java, se pueden crear threads en tiempo de ejecución y ver como estos actuan con la interface Codigo fuente del proyecto en JDeveloper 11g

Semáforos en Java, Sincronizar Threads

Este ejemplo muestra como utilizar semáforos para coordinar un grupo de threads, este problema implementa un caso de lectores-lectores, donde dos tipos de "lectores" pueden cooperar con los de su mismo tipo, pero son excluyentes con los del tipo contrario, en el caso particular tenemos un puente de un solo carril, que permite el paso en los dos sentidos, un tipo de "lector" son los carros que van al Este, estos pueden entrar al puente acompañados de otros carros que vayan en el mismo sentido, pero son excluyentes con los carros que van al Oeste, por lo que debe existir exclusión mutua Este-Oeste y cooperar entre Este-Este y Oeste-Oeste. Este programa fue realizado como practica del curso de Sistemas Operativos 1 de la Carrera de Ingeniería en Ciencias y Sistemas de la Facultad de Ingeniería de la Universidad de San Carlos de Guatemala. Descargar Código Fuente JDeveloper 11g