ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Semaforo binario c#: función semget: crear un semaforo


Enviado por   •  30 de Noviembre de 2015  •  Tarea  •  301 Palabras (2 Páginas)  •  229 Visitas

Página 1 de 2

semaforo

los semaforos controlan el acceso a recursos compartidos asi como las luces de un semaforo controlan

el flujo del trafico en una interceccion

no proporcionan informacion entre procesos, si no que sincronizan el acceso a recursos compartidos

semaforo binario: tiene 2 posibles valores 0 cuando un proceso esta bloqueado

1 cuando el recurso esta desbloqueado.

crear un semaforo

funcion semget: crear un semaforo

biblioteca

#include <sys/type.h>

#include <sys/ipc.h>

#include <sys/sem.h>

sintaxis

int semget(key-t key, int nsems, int flags)

funcion semop Realizar operaciones en uno o mas de los semaforos creados o alos que se ha accedido mediante una llamada

sintaxis

y

bibliotecas

#include <sys/type.h>

#include <sys/ipc.h>

#include <sys/sem.h>

int semop(int semid, struct sembuf *semops, unsigned nops)

id del semaforo

apuntador ala estructura del semaforo

struct sembuf{

short sem_num; //#de semaforo

short sem_op; //la operacion a relaizar

short sem_flg; //indicadores que controlan la operacion

};

>0 o +; el recuso controlado por el semaforo es liberado y el valor del semaforo se incrementa

<0 o - el proceso que se llama esta indicado que quiere esperar hasta que el recurso controlado este disponible. el valor del semaforo disminuira y el recurso sera bloqueado

=0 el proceso que llama se bloqueara hasta que sem = 0 si ya es cero, la llamada vuelve inmediatamente

control y eliminacion de semaforos

funcion semclt: controla y elimina el semaforo

sintaxis:

int semclt(int semid, int semnum, int cmd, union semun arg);

id del semaforo

#del semaforo en especifico

comandos

union semun {

int val ; /*valor del tetval

struct semid_ds *buf; /* bufer de ipc_stat

unsigned short int *array;

cmd GETVAL: devuelve el estado actual del semaforo

SETVAL: establce el estado actual del semaforo

GETPID: DEVUELVE EL PID QUE LLAMO POPR ULTIMA VEZ A SENOP

GETALL: devuelve el valor de todos los semaforos

setALL ESTABLECE EL VALOR DE TODOS LOS VALORES

IPC_RMID ELIMINA SEMAFORO

IPC_SET ESTABLECE EL MODO (PERMISOS DEL SEMAFORO)

IPC_STAT COPIA E.D SEMID_DS IPC_STAT

...

Descargar como (para miembros actualizados) txt (2 Kb) pdf (42 Kb) docx (12 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com