Parcial I de Sistema de Operación – Semestre 201415

Preview:

Citation preview

Universidad Católica Andrés BelloFacultad de Ingeniería

Escuela de Ingeniería InformáticaSistemas de OperaciónProf. Viviana Trujillo

Parcial I

1. (2pts. c/u – total: 10pts) Responda con brevedad y precisión a las siguientes preguntas:

(a) Mencione 4 variables internas de Shell y explique para qué sirven.

(b) ¿Qué es un makefile y cómo se invoca?

(c) ¿Qué diferencia hay entre las llamadas al sistema y las funciones de librerías?

(d) ¿Qué es un sistema operativo?

2. (3pts.) Estudia el siguiente código y escribe la jerarquía de procesos resultante. Después,compila y ejecuta el código para comprobarlo (deberás añadir llamadas al sistema getpid,getppid y wait para conseguirlo).

#include <sys/types.h>#include <sys/wait.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>

#define L1 2#define L2 3

int main (int argc, char *argv[]) {int cont1, cont2;pid t pid;

1

for (cont2= 0; cont2< L2; cont2++) {for (cont1= 0; cont1< L1; cont1++) {

pid= fork();if (pid== 0)

break;}if (pid!= 0)

break;}

return 0;}

3. (1pto. c/u – total: 2pts)Para cada uno de los siguientes comandos deberá proveer lalista de acciones tomadas por el shell para ejecutar las operaciones de cada comando.Por ejemplo: [2 ptos.]

$ date > out

P: id = fork()H: close(1)H: fd = open(outfile)H: execl(date)P: waitpid(id)

(a) ls > sort

(b) ps –ax | grep vtrujillo

4. (3pts.) Escribir un script denominado factorial que reciba como parámetro un número ycalcule su factorial. Este script puede ser programado recursivamente o iterativamente.

./factorial 5120

5. (2pts.) Dibuje el gráfico de invocación de gcc paso a paso.

2

Recommended