Your SlideShare is downloading. ×
Parcial I de Sistema de Operación – Semestre 201415
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Parcial I de Sistema de Operación – Semestre 201415

87
views

Published on

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
87
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Universidad Católica Andrés Bello Facultad de Ingeniería Escuela de Ingeniería Informática Sistemas de Operación Prof. 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 #include #include #include #include <sys/types.h> <sys/wait.h> <unistd.h> <stdio.h> <stdlib.h> #define L1 2 #define L2 3 int main (int argc, char *argv[]) { int cont1, cont2; pid t pid; 1
  • 2. 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 la lista de acciones tomadas por el shell para ejecutar las operaciones de cada comando. Por ejemplo: [2 ptos.] $ date > out P: H: H: H: P: id = fork() close(1) fd = open(outfile) execl(date) 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 y calcule su factorial. Este script puede ser programado recursivamente o iterativamente. ./factorial 5 120 5. (2pts.) Dibuje el gráfico de invocación de gcc paso a paso. 2