Tarea

Solo disponible en BuenasTareas
  • Páginas : 4 (904 palabras )
  • Descarga(s) : 4
  • Publicado : 6 de abril de 2010
Leer documento completo
Vista previa del texto
Semaphores

Los “semaphores” permiten al usuario solicitor o alterar el estatus de cierta información o proceso. Son usualmente utilizados como monitores y controlan la disponibilidad de losrecursos del sistema como los segmentos de memoria compartida. El funcionamiento básico se basa en que se puede inicializar, revisar o esperar hasta que deje de usarse (“clears”) y se inicialice (probar einicializar o “test-n-set”).

Subrutinas de “Semaphores”

Las subrutinas para los semaphores se pueden conseguir en la librería sem.h

Semget():
int semget(key_t key, int nsems, int semflg)• Crea y devuelve el valor del semaphore
• Parámetros:
o key: valor de acceso asociado con el ID del semaphore.
o nsems: especifica el numero de elementos en el arreglo delsemaphore
▪ La llamada falla cuando nsems > # elementos en el arreglo.
▪ Si no se conoce el conteo correcto de elementos, haciendo nsems = 0 asegura que la llamada serealizara.
o Semflg: especifica los permisos del acceso inicial y creación de las banderas (“flags”) de control.
• Devuelve el numero de ID del “semaphore”.

Semclt()
int semclt (intsemid, int semnum, int cmd, union senum arg)
• Cambia los permisos y otras características de un set de “semaphores”; lo destruye.
• Parámetros:
o semid: ID valido del semaphoreo semnum: selecciona un semaphore en un arreglo por su índice.
o union senum arg: argumento opcional
o cmd: una de las banderas de control:
▪ getval –devuelve el valor de un simple semaphore
▪ setval – setea (“sets”) el valor de un simple semaphore
▪ getpid – devuelve el ID de un proceso que ejecuto la ultima operaciónen el semaphore.
▪ getncnt – devuelve el numero de procesos en espera que aumente el valor de un semaphore
▪ getznt – devuelve el numero de procesos esperando en que...
tracking img