UNIVERSIDAD MAYOR DE SAN SIMON
FACULTAD DE CIENCIAS Y TECNOLOGIA
INGENIERÍA EN SISTEMAS
PROCESOS EN LINUX
(INFORME)
MATERIA: TALLER DE SISTEMAS OPERATIVOS
DOCENTE: JORGE WALTER ORELLANA ARAOZ
ESTUDIANTE: DERICK LISANDER VARGAS VALLEJOS
SEMESTRE: 2 - 2023
COCHABAMBA – BOLIVIA
1
El siguiente documento tiene por objetivo mostrar los procesos en Linux.
Usando la herramienta de VMware(App) abriremos nuestra máquina virtual con el sistema operativo Linux, lo cual
usaremos para este y futuros proyectos respecto a la materia.
Descargamos nuestro archivo ISO y lo subimos a la plataforma VMware, seguidamente arrancamos la máquina
Virtual. Ingresamos en consola donde pondremos nuestro código c que nos permitira resolver dichos ejercicios
planteados.
1. Obtención del identificador del proceso mediante la llamada (System Call)al sistema cuyo prototipo en
lenguaje C es POSIX de Linux.
Con ayuda de un USB, transportamos la información en texto de nuestro código a la máquina virtual, para ello
debemos cambiar nuestro archivo con extensión .txt a un archivo C con la extensión .c, con el siguiente comando
(mv).
Luego de que nuestro codigo no tenga ningun error procedemos a hacerlo correr en nuestra misma
consola con el comando (gss –o nombre).
2
Ya en consola podemos observar los identificadores del proceso y su proceso padre ejecutándose.
De la misma manera procederemos a realizar el siguiente ejercicio:
2. Utilización del servicio para la creación de procesos (POSIX EN LINUX).
3
Ya con nuestro código C en nuestra consola procederemos a hacerlo correr con el comando gcc.
3. Responder: ¿El proceso hijo empieza la ejecución del código en su punto de inir en la sentencia que
está después del fork()?
El proceso hijo empieza la ejecución del código en su punto de inicio, justo después del fork(). Cuando se
llama a fork(), se crea un nuevo proceso que es una copia exacta del proceso padre. Luego, ambos procesos
continúan ejecutando el código a partir del punto donde se llamó a fork(). Por lo tanto, en el caso del
proceso hijo, la ejecución continúa después de la llamada a fork(), mientras que en el caso del proceso
padre, también continúa después de la llamada a fork(). Esto se debe a que el valor devuelto por fork().
4. Observar, que el hijo no es totalmente idéntico al padre, algunos de los valores del BCP han de ser
distintos. Responder: ¿cuáles deberían ser las diferencias más importantes?
Cuando un proceso hijo se crea mediante fork(), no es totalmente idéntico al proceso padre; existen algunas
diferencias clave en su contexto de ejecución. Las diferencias más importantes incluyen:
1. Identificador de proceso (PID.
2. Identificador del proceso padre (PPID.
3. Valores de retorno de fork.
4. Conjunto de señales pendientes.
5. Descriptores de archivos.
6. Registros del programa y memoria.
Estas diferencias son fundamentales para la correcta operación y la gestión de procesos en un sistema operativo.
//texto guía Linux.
FALSO Y VERDADERO
4
1. El proceso hijo tiene su propio identificador de proceso, distinto al del padre.
R. VERDADERO
2. El proceso hijo tiene una nueva descripción de la memoria. Aunque el hijo tenga los mismos segmentos con el
mismo contenido, no tienen por qué estar en la misma zona de memoria (esto es especialmente cierto en el caso de
sistemas sin memoria virtual)
R. VERDADERO
3. El tiempo de ejecución del proceso hijo se iguala a cero.
R. FALSO
4. Todas las alarmas pendientes se desactivan en el proceso hijo.
R. VERDADERO
5. El conjunto de señales pendientes se pone a vacío.
R. FALSO
6. El valor que retorna el sistema operativo como resultado del fork es distinto en el hijo y el padre
R. VERDADERO
5. Observar que las modificaciones que realice el proceso padre sobre sus registro imagen de memoria
después del fork0) no afectan al hijo y, viceversa, las del hij afectan al padre. Sin embargo, el proceso hijo
tiene su propia copia de los descriptores del proceso padre.
Este hace que el hijo tenga acceso a los archivos abiertos por el proceso padre. I padre y el hijo comparten el
puntero de posición de los archivos abiertos en el p
Responder si esto podría afectar y de qué manera a lo que acaba de observar.
Después de la llamada a fork(), tanto el proceso padre como el proceso hijo tienen su propia copia de los registros y
la imagen de memoria, lo que significa que las modificaciones realizadas en los registros o en la memoria por uno
de los procesos no afectarán al otro. Cada proceso tiene su espacio de direcciones de memoria independiente.
Esta característica de compartir descriptores de archivos puede ser útil para la comunicación o la coordinación
entre procesos, pero también debe manejarse con cuidado para evitar problemas de concurrencia.