lunes, 19 de septiembre de 2011

Programa PID




Código



Cabeceras Nuevas



Instrucciones Nuevas

pid_t

El pid_t tipo de datos representa los identificadores de proceso. Usted puede obtener el ID del proceso de un proceso mediante una llamada getpid . La función getppid devuelve el ID del proceso del padre del proceso actual (esto también es conocido como el ID del proceso padre ). Su programa debe incluir los archivos de cabecera `unistd.h ' y `sys / types.h" para usar estas funciones.

Tipo de datos: pid_t
El pid_t tipo de datos es un tipo entero con signo que es capaz de representar un proceso ID. En la biblioteca de GNU, se trata de un int .

Función: pid_t getpid (void)
El getpid devuelve el ID del proceso del proceso actual.

Función: pid_t getppid (void)
El getppid función devuelve el ID del proceso del padre del proceso actual.


fork()

A la hora de crear procesos linux provee de dos funciones para dicho cometido, la función clone() y la función fork(). Ambas crean un nuevo proceso a partir del proceso padre pero de una manera distinta.
Cuando utilizamos la llamada al sistema fork, el proceso hijo creado es una copia exacta del padre (salvo por el PID y la memoria que ocupa). Al proceso hijo se le facilita una copia de las variables del proceso padre y de los descriptores de fichero. Es importante destacar que las variables del proceso hijo son una copia de las del padre (no se refieren físicamente a la misma variable), por lo que modificar una variable en uno de los procesos no se refleja en el otro.


srandom

Esta función inicializa el generador de números aleatorios mediante el establecimiento de los valores de la tabla de estado sobre la base de la semilla . A continuación, los ciclos de la información de estado para un número determinado de veces para deshacerse de cualquier dependencia inicial. La información de la tabla Estado afecta a los números devueltos al azar de la posterior random ()


Preguntas:

1.- ¿Por qué aparecen mensajes repetidos?

Por las iteraciones que hace el ciclo for que son tres veces, además mientras el proceso no devuelva un PID diferente de cero se sigue ejecutando.

2.- ¿Qué observas?

Que los números devueltos por las funciones getpid() y getppid() son los números de Id de los procesos actual y el padre del actual.

3.- ¿Porqué?

Los Id cambian porque los procesos son distintos y procesados en hilos, por eso los números se repiten cuando el proceso vuelve a funcionar








1 comentario: