3.296 cursos gratis
6.266.781 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. Concepto de señal

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 1:

 Procesos en C. Concepto de señal

Concepto de señal

En un sistema, los procesos que se ejecutan simultáneamente interactúan entre sí. Esta interacción se produce incluso en el caso de los procesos independientes, esto es, los que no necesitan cooperar para completar sus tareas. Esto ocurre cuando varios procesos quieren acceder a los mismos recursos del sistema operativo, por ejemplo un dispositivo de entrada y salida. 

Para resolver esta situación, el sistema operativo dispone de un gestor de procesos que determina el orden de acceso a  esos recursos; adicionalmente, cuenta con un mecanismo para poder enviar mensajes a los procesos. La necesidad de intercambiar información entre procesos es muy clara en las arquitecturas colaborativas, por ejemplo, la llamada de cliente-servidor, donde un proceso suministra información o servicios a otros procesos.

Las señales pueden considerarse un tipo de mensajes, aunque, si se comparan con otros medios de comunicación de procesos (sockets, pipes, etc.), resultan un mecanismo más pobre, ya que no permiten transmitir datos. A pesar de ello, es importante conocerlas y saber manejarlas, pues proporcionan dos servicios fundamentales:

-  La defensa del proceso establecido frente a incidencias comunicadas por el kernel, que envía señales al proceso cuando se ha  producido alguna eventualidad. Si éstas no son gestionadas (bien ignoradas, bien capturadas) por el proceso al que van dirigidas, dan lugar a su inmediata  conclusión, lo que puede redundar en una pérdida irrecuperable de datos. Es el caso del proceso que se da cuando se están guardando datos en un fichero y, al mismo tiempo, se recibe una señal del kernel: la conclusión del programa debe aplazarse hasta la finalización de la transferencia para que no se produzca una pérdida de datos.

- El mecanismo de comunicación entre dos procesos. Dicho mecanismo resulta útil y sencillo para avisar a un proceso de la aparición de eventos excepcionales, si bien no debe emplearse como forma habitual de comunicación entre procesos. Por ejemplo, puede utilizarse en el caso de que el usuario desee interrumpir el proceso de impresión de un documento porque se ha dado cuenta de que ha mandado imprimir una versión antigua; o en el caso de un proceso principal que recibe una señal de conclusión, ya que puede enviar una señal a los procesos que dependen de él, a fin de que éstos puedan actualizar sus datos y escribir en disco, antes de finalizar también ellos su ejecución. Estas necesidades de comunicación con y entre procesos quedan plenamente  satisfechas mediante el empleo de las señales, al menos en aquellas en que el proceso pide al kernel que envíe una señal a otro proceso.

Así pues, el uso de señales es un método sencillo de aviso de incidencias (por circunstancias del propio proceso o por la intervención de otro proceso) entre el kernel y los procesos, y su aparición en el tiempo no puede ser prefijada, ya que suelen referirse a hechos imprevistos. Dicha comunicación de incidencias debe realizarse de forma estructurada y bien definida. Las señales pueden aparecer en cualquier instante, por lo que los procesos no pueden limitarse a verificar una variable para comprobar si ha llegado una señal, sino que deben lanzar una rutina de tratamiento de la señal con la que se gestione de manera automática su recepción en el momento en que aparezca.

Nota: Este curso forma parte del libro "CEO - Desarrollo de funciones en el sistema informático" del autor J. M. Molina, F. Chamorro, publicado por la editorial McGraw-Hill (ISBN: 84-481-4877-0).

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