3.305 cursos gratis
6.270.120 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. Tiempo de proceso

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

 Procesos en C. Tiempo de proceso

B. Tiempo de proceso

A la hora de contar el tiempo real que un proceso consume en la ejecución de un conjunto de sentencias, se considera únicamente el tiempo de ejecución de ese proceso y el de sus hijos (y los hijos de sus hijos, etc.), para los que el proceso padre está esperando su terminación mediante una llamada a wait.

Este tiempo se mide en pulsos de reloj: para obtener la medida del tiempo en segundos, se debe conocer el número de pulsos por segundo que se encuentran en CLK_TCK. A partir de este valor, los segundos que el proceso tarda en ejecutar un conjunto de líneas de código se puede calcular como:

tiempo = número de pulsos / CLK_TCK

El tiempo contabilizado se divide en cuatro tipos distintos:

-  Tiempo empleado por la CPU en ejecutar el proceso en modo usuario.
-  Tiempo empleado por la CPU en ejecutar el proceso en modo kernel.
-  Tiempo empleado por la CPU en ejecutar los procesos hijo (y los hijos de los hijos, etc.) en modo usuario.
-  Tiempo empleado por la CPU en ejecutar los procesos hijo (y los hijos de los hijos, etc.) en modo kernel.

Existe una estructura en C que refleja estos cuatro tipos de medidas:

Procesos en C. Tiempo de proceso

donde clock_t se define para contar los pulsos de reloj.

La función que permite rellenar esta estructura es:

Procesos en C. Tiempo de proceso

donde buffer es la estructura que rellena la función times. Si todo va bien, devuelve el número de pulsos transcurridos desde un instante anterior elegido de modo arbitrario; si, por el contrario, algo va mal, devuelve -1 y el código de error correspondiente en errno. El punto arbitrario al que hace referencia la función times puede ser el momento de arranque del sistema o cualquier otro; lo que importa es que ese momento no varía de una llamada a otra, por lo que se puede calcular el tiempo transcurrido como la diferencia entre los dos tiempos devueltos por dos llamadas sucesivas a times.

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