Semáforos

Páginas: 7 (1559 palabras) Publicado: 13 de mayo de 2012
República Bolivariana de Venezuela
I.U.T Dr. “Federico Rivero Palacio”
Materia: Sistemas Operativos
Tercer Trayecto. Sección B













SEMÁFOROS











Integrantes:

Caldera, Suhjail
Gil, Juan
Guarenas, Daney
Maestre, Mayerling
Pérez, Jenniree
Ríos, Yolimar
Rosas, Xiomara
Simancas, Bárbara
van Leent, Kimberly



Caracas, Abril 2012

Unsemáforo es considerado como una variable especial normalmente definido como ‘S’ que permite restringir o dar acceso a los recursos compartidos en un entorno de multiprocesamiento. Fue inventado por Edsger Dijkstra en el año 1965 y fue usado por primera vez en el sistema operativo THEOS.
Los semáforos suelen ser representados por números enteros y se encargan de realizar tres operaciones las cuales son:1. Inicialización: Un semáforo se inicializa con un valor positivo.
Inicia(Semáforo s, Entero v)
{
s = v;
}
2. Wait (espera): Se encarga del decremento del valor del semáforo. Si el valor del semáforo se vuelve negativo el proceso ejecutado se bloquea.
P(Semáforo s)
{
if(s>0)
s = s-1;
else
wait();}
3. Signal (señal): Incrementa el valor del semáforo. Si el proceso es negativo desbloquea algún proceso bloqueado por la operación wait.
V(Semáforo s)
{
if(!procesos_bloqueados)
s = s+1;
else
signal();
}
Las operaciones wait y signal no pueden ser interrumpidas, es decir si un proceso se encuentra en ejecución ningúnotro proceso puede ejecutarse en algunas de ellas sobre el mismo semáforo. Lo anteriormente expuesto se considera como indivisible o acción atómica. Esta propiedad es fundamental para poder demostrar que, por medio de semáforos, se cumplen las propiedades de seguridad de los sistemas concurrentes.
Los semáforos trabajan a través de colas que normalmente funcionan bajo la planificación de procesode tipo FIFO (First-in First-out). Esta decisión suele tomarse en el proceso de diseño del sistema operativo, ya que los semáforos son un mecanismo de bajo nivel gestionado por el SO.
Los semáforos se clasifican en binarios y contadores.
Semáforos binarios: Se crearon para resolver problemas de exclusión mutua por Dijkstra en el año 1968. Es una técnica que permite resolver la mayoría de losproblemas de sincronización entre procesos y forma parte de los diseños de muchos sistemas operativos y de lenguajes de programación concurrentes. Es un indicador como bien se describió anteriormente en el concepto de semáforos. Como su nombre lo indica trabaja con solo dos valores 0 y 1. Si S = 1: el recurso se encuentra disponible. Si S = 0: El recurso no está disponible y el proceso entra en lacola de espera. Es el más sencillos de implementar y contienen la misma potencia de expresión que los semáforos generales. El semáforo binario es importante al momento de proteger un recurso que puede compartir varios procesos.
Semáforos contadores: Se encargan de llevar la cuenta del total de recursos disponibles en el sistema. Trabaja con números enteros positivos y se inicializa con el númerototal de recursos disponibles. Las operaciones de wait y signal se encargan de impedir el acceso al recurso protegido cuando el valor de este es menor o igual a 0. Al solicitar un recurso el semáforo se decrementa y se incrementa al liberar uno de ellos. Si el semáforo es negativo y la operación wait se ejecuta el proceso se queda en dicha operación (wait) hasta que signal libere alguno de losrecursos.
Como se puede observar los semáforos se emplean para permitir el acceso a diferentes partes de programas (llamados secciones críticas) donde se manipulan variables o recursos que deben ser accedidos de forma especial. Según el valor con que son inicializados se permiten a más o menos procesos utilizar el recurso de forma simultánea.
Un ejemplo de ello es utilizarlo en:
1. Cierres de...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Los Semaforos
  • semaforo
  • Semaforo
  • semaforo
  • SEMAFORO
  • Semáforo
  • Semaforo
  • Semaforo

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS