3.298 cursos gratis
6.267.101 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > Procesos en C. Sincronización (primera parte) > Procesos en C. Definición y generación de señales. Señales ignoradas

Procesos en C. Sincronización (primera parte)

Autor: Editorial McGraw-Hill
Curso: 5/5 5/5 (1 opinión) |993 alumnos|Fecha publicación: 21/10/2008

Capítulo 2:

 Procesos en C. Definición y generación de señales. Señales ignoradas

Definición, generación by tratamiento de señales

Las señales son interrupciones de software que pueden enviarse a un proceso para proporcionar un método con el que tratar eventos asíncronos. Las interrupciones de software enviadas a un proceso pueden ser generadas por el kernel del sistema operativo, por el usuario desde la línea de comandos, o por cualquier otro proceso que conozca el pid del proceso.
 
Las señales generadas por el kernel se producen cuando se detecta un error de software o de hardware en la ejecución del proceso. Un error de software sobreviene, por ejemplo, cuando un proceso intenta acceder a una zona de memoria que no le corresponde; en ese instante, se genera una señal de violación de segmentación que puede causar la finalización de ese proceso.  Asimismo, las señales se emplean para informar de ciertos fallos detectados por el hardware, como divisiones por cero, referencias inválidas de memoria, etc.

En el caso de las señales generadas por el usuario, éstas se pueden producir al pulsar ciertas teclas (por ejemplo, Supr) en un terminal, y también a través de la línea de comando: el comando kill permite que el usuario envíe señales a un proceso o grupo de procesos. Para la generación de señales en un proceso se utilizan las funciones kill y killpg, con las que un proceso puede enviar señales a otro proceso o grupo de procesos.

Estas funciones son equivalentes al comando kill y se verán con más detalle a lo largo de esta unidad. Como las señales pueden aparecer en cualquier instante, el proceso debe indicar al kernel qué es lo que ha de hacer cuando recibe una señal determinada. El kernel puede actuar de tres formas diferentes: ignorar la señal, capturarla o aplicar  la rutina por defecto.

A. Señales ignoradas

Mediante el establecimiento de la constante SIG_IGN, el proceso ignorará la recepción de la señal. Esto implica que el proceso no realizará ninguna acción al recibirla; su ejecución continuará exactamente en el mismo punto donde se encontraba. Cuando se ignora una señal, suele decirse que el proceso se hace inmune a ella. Esta inmunidad no significa que el proceso no quede afectado por la causa que generó la señal, sino que simplemente la ignora.

Cuando se ignoran las señales generadas por fallos de hardware, el comportamiento del proceso es incierto. Por ejemplo, si una sentencia del código del proceso está produciendo una división por cero, la sentencia dará como resultado algo que no tendrá sentido y, sin embargo, el proceso continuará ejecutándose. Por otra parte, un proceso que ignorara todas las señales no podría ser gestionado por el administrador de la máquina, ya que ésta no respondería a sus instrucciones: por ejemplo, si la máquina se instalara en un bucle infinito y su ejecución no terminara nunca, el  administrador no podría concluir su ejecución con el comando kill-9. Por este motivo, existen ciertas señales que no pueden ser ignoradas, a fin de permitir al administrador de la máquina detener o eliminar cualquier proceso.

Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 1 opinión. Opina sobre este curso.


Cursos similares a Procesos en C. Sincronización (primera parte)


Cursos Valoración Alumnos Vídeo
Técnicas para el desarrollo de computación móvil (orientado a PDA)
Uno de los nuevos paradigmas en el desarrollo de proyectos informáticos es la computación móvil (computación Ubicua). Aquí se verá todo lo que involucra la creación de un... [31/03/06]
 4,33/5 1.369  
Instalación de un Servidor de Correo en Linux
Linux es un sistema operativo libre, con lo que no se tiene que pagar por ningún tipo de licencia. También se puede conseguir el código fuente y poderlo modificar libreme... [16/06/04]
 4,38/5 13.740  
Creación de Paginas Web con Html
HTML es el lenguaje básico y muy sencillo que nos permite la creación de Paginas Web. Este curso ha nacido con la intención de complementar los anteriores cursos de JavaS... [26/05/05]
 4,47/5 20.578  


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail