comunicacion entre procesos

Páginas: 8 (1764 palabras) Publicado: 14 de marzo de 2014



Área de Ingeniería Telemática
Departamento de Ingeniería de Sistemas y Automática
Escuela Superior de Ingenieros
Universidad de Sevilla



COMUNICACIÓN BÁSICA ENTRE PROCESOS

1. OBJETIVO

Se pretende mostrar al alumno mecanismos simples de comunicación entre procesos. Para ello se van a estudiar las señales y las tuberías (pipes). También se van a estudiar las llamadas alsistema dup y dup2.

2. DESCRIPCIÓN

Señales:

Las señales son una forma de notificar al proceso acerca de la ocurrencia de un evento o error. Un proceso se comporta frente a una señal como el procesador frente a una interrupción, por eso se dice que las señales son interrupciones software. El origen de una señal es el sistema operativo u otro proceso. El comportamiento frente a la señal es dela siguiente forma:

El proceso detiene su ejecución en la instrucción máquina que está ejecutando.
Pasa a ejecutar una rutina de tratamiento de la señal (manejador de la señal), cuyo código forma parte del propio proceso.
Una vez terminada la ejecución de esta rutina, sigue la ejecución por la instrucción donde fue interrumpido.

La lista de señales posibles se pueden encontrar en el ficherode cabecera signal.h. A continuación se ponen algunos ejemplos de señales:

SIGABRT: terminación anormal.
SIGALRM: señal de fin de temporización.
SIGFPE: operación aritmética errónea.
SIGINT: señal de interrupción.
SIGKILL: señal de terminación.
SIGSEG: señal de referencia a memoria inválida.

Las señales proporcionan el mecanismo más básico de comunicación entre procesos.

Frente alas señales, el proceso puede:

Ignorarlas: la señal se desecha y no se tiene en cuenta. Hay señales que no pueden ser ignoradas por el proceso, por ejemplo SIGKILL.
Bloquearlas: la señal no se tiene en cuenta, pero queda pendiente hasta que se desbloquea.
Capturarlas: cuando llega la señal el proceso ejecuta una rutina de manejo de señal. El proceso puede indicar el manejador de señal queserá ejecutado cuando se recibe la señal, esto se conoce como armar una señal. Hay señales que no pueden ser armadas por el proceso, por ejemplo SIGKILL.

Existen servicios para tratar conjuntos de señales, para el envío de señales, para indicar el manejador de una cierta señal, para el bloqueo y desbloqueo de señales, para esperar por la recepción de una señal y para la gestión de temporizadores.De todas estas funciones, se van a estudiar las siguientes:

int sigemptyset(sigset_t *set);

Inicia un conjunto de señales de modo que no contenga ninguna señal.

int sigaddset(sigset_t *set, int signo);

Añade una señal (signo) al conjunto de señales previamente iniciado (set).

int kill(pid_t pid, int sig);

Envía la señal sig al proceso o grupo de procesos especificado por pid.Si pid es mayor que cero, la señal se enviará al proceso con identificador de proceso igual a pid. Si pid es cero, la señal se enviará a todos los procesos cuyo identificador de grupo sea igual al identificador de grupo del proceso que envía la señal. Si pid es negativo pero distinto de –1, la señal se enviará a todos los procesos cuyo identificador de grupo sea igual al valor absoluto de pid.Para pid igual a –1 no se especifica nada.

Sólo se puede enviar una señal a un proceso con el mismo identificador de usuario real o efectivo, a no ser que el proceso que envía tenga los privilegios adecuados (por ejemplo, es un proceso del superusuario).

int sigaction(int sig, struct sigaction *act, struct sigaction *oact);

Permite indicar la función que manejará la señal cuando searecibida. Tiene tres parámetros. El primer parámetro (sig) indica el número de señal para la cual se establecerá el manejador. El segundo parámetro (act) es un puntero a una estructura del tipo sigaction para establecer el nuevo manejador. El último parámetro (oact) es un puntero a una estructura del mismo tipo donde se almacena la información sobre el manejador asociado a la señal anteriormente....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Proceso de comunicación
  • Proceso de comunicación
  • El Proceso De Comunicacion
  • el proceso de la comunicacion
  • procesos de la comunicacion
  • Proceso De La Comunicación
  • PROCESO DE LA COMUNICACION
  • COMUNICACION PROCESOS

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS