3.287 cursos gratis
6.265.095 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > Procesos en C. Sincronización (segunda parte) > Procesos en C. Ejercicios

Procesos en C. Sincronización (segunda parte)

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

Capítulo 16:

 Procesos en C. Ejercicios

Ejercicios

1.
Desarrolla un programa que calcule la pendiente de una recta y, en caso de error de coma flotante (división por 0), capture la señal de error y genere una pendiente aleatoria. El programa deberá seguir ejecutándose, aunque los resultados no sean los esperados.

2. Desarrolla un programa que, mediante setjmp y longjmp, sea capaz de gestionar un mensaje SIGINT generado por el usuario, de manera que, en vez de terminar el proceso, comience su ejecución desde el principio; es decir, que convierta la señal SIGINT en una reinicialización del programa.

3. Soluciona el problema que puede aparecer en la implementación del ejemplo de la sección 2.10. (d) cuando el programador fija un tiempo en segundos tan pequeño que el temporizador genera la señal SIGALRM antes de entrar en pause, ya que entonces se llama a la rutina antes de pause y, como ya ha finalizado la ejecución del temporizador, no se va a generar ninguna otra señal SIGALRM, con lo que nunca saldrá de pause.

4. El uso de temporizadores no asegura que la ejecución del proceso sea perfectamente síncrona; de hecho, si trata de realizar siempre el mismo número de acciones entre dos señales del temporizador definido con el mismo número de segundos, se observará que no siempre puede realizar las mismas acciones. Para comprobarlo, desarrolla un programa que escriba en un fichero la letra a continuamente entre dos señales SIGALRM. Esto significa que el programa definirá un temporizador de n segundos y comenzará a escribir en fichero; al llegar la señal cerrará ese fichero y abrirá otro distinto (con nombres a1, a2, a3, a4, etc.), definirá de nuevo el temporizador y comenzará a escribir en el nuevo fichero. Se debe verificar si, tras cientos de ejecuciones y, por tanto, cientos de ficheros generados, el número de letras escritas en cada fichero es exactamente el mismo.

5. Para comprobar si el número de letras de los ficheros del ejercicio anterior es el mismo, resultará más cómodo ir contando las letras y escribiendo en un fichero, al que llamaríamos resultado, el número de letras para cada ejecución. Realiza esta mejora utilizando un proceso hijo que cuente el número de letras de un fichero. El proceso padre avisará al proceso hijo de que ha terminado de escribir, y éste contará las letras del último fichero generado por el padre y escribirá en resultado el nombre del fichero (a1, a2, a3, etc.) y el número de letras.

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 (segunda parte)


Cursos Valoración Alumnos Vídeo
Redacción eficaz de documentos de empresa
¿Sus memorandos son incomprensibles para sus compañeros de trabajo? ¿Su director no entiende sus informes? No se preocupe: con este sencillo curso gratis obtendrá las cla... [22/04/02]
 4,35/5 51.031  
Introducción al Lenguaje C
El lenguaje C apareció en 1972, en el diseño del sistema operativo UNIX. Este lenguaje, que en la actualidad está bajo el estandar ANSI C, se ha utilizado para diseñar ho... [10/05/04]
 4,41/5 25.607  
PHP y MySQL. Aplicaciones Web: HTML II (tercera parte)
Programación de aplicaciones Web con PHP y MySQL. Ahora continuaremos con el estudio de las páginas Web HTML. Estudiaremos las listas en HTML. ... [02/12/08]
5/5 711  


Publicar en   del.icio.us    digg    meneame

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