sistemas operativos - semáforos

9
SISTEMAS OPERATIVOS Integrantes: - Daniel Ortiz Costa - Ricardo Galarza - Ivo Andrés Astudillo 2013, Loja-Ecuador SEMÁFOROS

Upload: juan-rojas

Post on 13-Jun-2015

7.586 views

Category:

Technology


0 download

DESCRIPTION

Uso de los semáforos en el multiprocesamiento de los Sistemas Operativos - Importancia y funcionamiento.

TRANSCRIPT

Page 1: Sistemas Operativos - Semáforos

SISTEMAS OPERATIVOS

Integrantes:- Daniel Ortiz Costa- Ricardo Galarza- Ivo Andrés Astudillo

2013, Loja-Ecuador

SEMÁFOROS

Page 2: Sistemas Operativos - Semáforos

Sistemas Operativos – Semáforos

Un Semáforo es una variable especial que constituye una serie de opciones

elementales para poder restringir o garantizar el acceso a los recursos en un

Sistema Operativo con un entorno de multiprocesamiento.

Page 3: Sistemas Operativos - Semáforos

Sistemas Operativos – Semáforos

Un semáforo se constituye por dos métodos elementales:

1. wait() – denominado P2. signal() – denominado V

Dependiendo del número de recursos a gestionar, un semáforo puede ser:

1. Semáforo contador (Más de 1 recurso)2. Semáforo binario (1 solo recurso)

Page 4: Sistemas Operativos - Semáforos

Sistemas Operativos – Semáforos

Inicia(Semáforo s, Entero r)

{s = r;

}

El número de recursos a gestionar se define por la variable entera r.

Inicialización

Page 5: Sistemas Operativos - Semáforos

Sistemas Operativos – Semáforos

P(Semáforo s) {

if(s>0) s = s-1;

else wait();

}Debido a que s representa el número de recursos disponibles, cuando un proceso requiere utilizar alguno, llama al método wait(), en donde si es que hay procesos disponibles se resta un número del semáforo, sino se mantiene en un bucle hasta que tenga alguno libre.

Espera wait() - P

Page 6: Sistemas Operativos - Semáforos

Sistemas Operativos – Semáforos

Un proceso se bloquea mientras se encuentra en el bucle wait()

Page 7: Sistemas Operativos - Semáforos

Sistemas Operativos – Semáforos

V(Semáforo s) { if(!procesos_bloqueados)

s = s+1; else

signal(); }

Debido a que s representa el número de recursos disponibles, cuando un proceso haya dejado de utilizar uno, se vuelve a sumar al semáforo, siempre y cuando no haya procesos bloqueados.

Señal signal() - V

Page 8: Sistemas Operativos - Semáforos

Sistemas Operativos – Semáforos

Si es que existen procesos bloqueados, ellos tienen prioridad para acceder a los recursos que se hayan liberado.

Page 9: Sistemas Operativos - Semáforos

Sistemas Operativos – Semáforos

Los procesos son indivisibles, no puede haber modificación simultánea de los valores del semáforo, o pueden causarse

conflictos.