pdfposix
1206 palabras
5 páginas
Rosa Maria Maldonado PeñaTRABAJO PRACTICO
PROCESOS POSIX
CREACIÓN DE PROCESOS MEDIANTE FORK
1. Compile el programa anterior mediante el mandato gcc.
$ gcc –Wall -o forkprog forkprog.c
2. Ejecute el programa forkprog en segundo plano (o background). Para ello, se debe añadir al nombre del programa el carácter & (ampersand). $ forkprog &
C UESTIONES :
1.a) Anote el valor mostrado por el shell inmediatamente después de lanzar al proceso en segundo plano e indique qué representa dicho valor
R/ [1] 3619 el padre que es el punto de origen.
1.b) ¿Cuáles son los PID de los procesos padre e hijo?
Rosa Maria Maldonado Peña
R/ Soy el padre, mi PID es 3619 y el PID de mi hijo es 3621
1.c) ¿Qué tamaño de memoria ocupan los procesos padre e hijo …ver más…
Editar el programa, compilarlo y comprobar su ejecución.
R/ Los cambios se realizaron fueron inicializar i=1 tanto para el proceso padre como para el proceso hijo, por lo tanto que la variable i aumente en 2 para el proceso hijo
R/
Rosa Maria Maldonado Peña
ARCHIVOS ABIERTOS ENTRE PROCESOS RELACIONADOS POR
UNA
LLAMADA FORK
Para ejecutar este programa, no es preciso más que compilarlo y usar su nombre, forkprog3.
Después verificar los resultados del mismo usando el mandato cat:
$ gcc –Wall -o forkprog3 forkprog3.c
$ forkprog3
$ cat archivoA
Rosa Maria Maldonado Peña
CUESTIONES:
a) La expresión: fd1 = creat ("archivoA", 0666) crea un archivo, le da nombre, le asigna permisos, y asigna una variable entera, fd1, que es el "file descriptor" utilizado por el programa para manipular el archivo.
¿Qué significado tiene el empleo de la constante 0666? ¿Qué permisos tienen los dos archivos, archivoA y archivoB, tras la ejecución del programa? ¿Cuál es la explicación de tal diferencia? (Sugerencia: consultar el mandato umask, en la práctica 1) la constante 0666 significa que los tres grupos de usuarios tiene permisos para leer y escribir sobre el archivo.
b) La ejecución concurrente de las escrituras de los procesos padre e hijo da lugar a que las cadenas "*********" y "---------" aparezcan alternadas en