Perdifericos

Páginas: 29 (7066 palabras) Publicado: 20 de noviembre de 2012
República Bolivariana de Venezuela
Ministerio del Poder Popular para la Defensa
Universidad Nacional Experimental Politécnica De La Fuerza Armada
Núcleo Falcón – Extensión Punto Fijo
UNEFA
5to semestre de Ing. Sistema. Sección “D”

Bachilleres:
Salazar estefany-23.586.927
Abigail Pire -24.425.286
Bersnard Coello-24.586.371
Jenire Campos-19.648.130
Punto Fijo, 13 noviembre 2013SEÑALES.
Es un mecanismo de comunicación mínima entre procesos o entre el núcleo y un proceso o entre el teclado y un proceso, por el cual se envía un número (señal). Cada señal tiene un nombre SIGXXX con un significado específico. La comunicación es unidireccional. Es una comunicación rápida.
Se genera una señal para:
* Avisar a un proceso padre que un proceso hijo termina con un exit, SIGCHLD.* Abortar un proceso pulsando las teclas ctrl C, SIGINT.
* Para matar a un proceso con el kill, SIGKILL.
* Para avisar a un proceso que ha finalizado una alarma, SIGALRM.
* Para despertar a un proceso que estaba en pausa.
Cuando un proceso recibe una señal, se interrumpe su ejecución, se almacena su estado para posteriormente reanudar su ejecución, se pasa a ejecutar la funciónque atiende esa señal, esta función está definida en el proceso receptor, una vez finalizada esta función se reanuda la ejecución del proceso en el punto que se interrumpió.
1) El estado del proceso se guarda en su stack.
2) Se ejecuta el manejador de la señal.
3) Se recupera el estado del proceso y se continúa.
TIPOS DE SEÑALES
* SEÑALES NO TIEMPO REAL.
Son laclásicas, son las primeras 31 señales, cuando se envían solo se envía su número de señal.
* SEÑALES TIEMPO REAL.
Definidas por la norma POSIX 1003, son configurables por los procesos, cuando se envían se manda información extra a través de la estructura info, si se reciben más señales cuando se está atendiendo la primera se encolan.
LLAMADAS AL SISTEMA PARA SEÑALES.
s = kill (pid, sig) -envía una señal a un proceso.
s = signal (sig, &función) – recibe una señal y define la función que la atiende.
s = sigaction (sig, &act, &oldact) - define la acción a realizar cuando se recibe una señal, es la versión POSIX de signal.
Residual = alarm (segundos) - planifica una señal SIGALRM después de un cierto tiempo.
s = pause () - suspende al proceso solicitante hasta recibiruna señal.
s = sigreturn (&context) - regresa de una señal.
LLAMADAS AL SISTEMA QUE AFECTAN A GRUPOS DE SEÑALES:
s = sigemptyset (sigset_t *set) – crea un conjunto de señales vacio.
s = sigfillset (sigset_t *set) – crea un conjunto con todas las señales.
s = sigaddset (sigset_t *set) – añade una señal a un conjunto de señales.
s = sigdelset (sigset_t *set) – borra una señal de unconjunto de señales.
s = sigismemberset (sigset_t *set) – comprueba si una señal pertenece a un conjunto.
s = sigprocmask (how, &set, &old) - examina o cambia la máscara de las señales que se van a bloquear para que queden pendientes.
s = sigpending (set) – un proceso obtiene el conjunto de señales pendientes de ser atendidas.
s = sigsuspend (sigmask) - sustituye la máscara deseñales y suspende el proceso.
ENVIÓ DE SEÑALES.
La llamada kill, permite enviar señales entre procesos que tienen el mismo identificador real uid o igual identificador efectivo euid, la forma es:
KILL (pid, sig)
Pid -> identificador del proceso.
Sig -> tipo de señal a enviar.
PROCESO1
Uid
PROCESO2
Uid

Kill Kill

Sig = 9 es la señal SIGKILL, quemata cualquier proceso, aún en modo tanda, esta señal no puede ser ignorada. Los posibles valores de pid y la acción de kill asociada son:
Pid = 0 Se envía la señal a todos los procesos del mismo grupo pgrp que el proceso emisor.
Pid = -1 Se envía la señal a todos los proceso, salvo 0 idle y 1 init. Necesario ser root.
Pid > 0 Se envía la señal al proceso que tiene este pid....
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS