2003 julio examen uni

8
Sistemas Operativos I CONVOCATORIA EXTRAORDINARIA 2 de julio de 2003 1 Escuela Técnica Superior de Informática Aplicada / Facultad de Informática APELLIDOS NOMBRE DNI ETSIA FIRMA FI No desgrape las hojas. Conteste exclusivamente en los espacios reservados para tal fin. Utilice el reverso de cada hoja para sus anotaciones. Duración del examen 3 horas Emplee letra clara y legible y responda de forma breve y precisa. El examen consta de 16 cuestiones, que valen 0.625 puntos cada una. ¿Cuáles de las siguientes actividades sólo deberían permitirse en modo privilegiado? a) Inhabilitar todas las interrupciones b) Leer la hora del sistema c) Actualizar la hora del sistema d) Modificar el mapa de memoria e) Programar el controlador de disco f) Modificar el vector de interrupciones 1 A, c, d , e , f Sea un sistema que tiene que ejecutar los procesos cuyas características se indican en la siguiente tabla: Llegada CPU P1 0 7 P2 1 4 P3 3 3 P4 5 2 Indique el diagrama de uso de CPU, el tiempo medio de retorno y el de espera de los procesos, suponiendo una política de planificación por turno rotatorio con cuanto= 2 2 Tiempo_medio_retorno=(16+9+12+7)/4=11 Tiempo_medio_espera=(9+5+9+5)/4=7 t Preparados CPU Comentarios 0 P1 Llega P1 1 P2 P1 Llega P2 2 P1 P2 3 P3,P1 P2 Llega P3 4 P2,P3 P1 5 P4,P2,P3 P1 Llega P4 6 P1,P4,P2 P3 7 P1,P4,P2 P3 8 P3,P1,P4 P2

Upload: carlos-lopez-pilingui

Post on 02-Dec-2015

218 views

Category:

Documents


0 download

DESCRIPTION

Examen 2003 Julio FSO.Fundamentos.De los Sistemas.

TRANSCRIPT

Page 1: 2003 Julio Examen UNI

Sistemas Operativos I CONVOCATORIA EXTRAORDINARIA 2 de julio de 2003

1

Escuela Técnica Superior de Informática Aplicada / Facultad de Informática APELLIDOS

NOMBRE

DNI

ETSIA

FIRMA

FI

• No desgrape las hojas. • Conteste exclusivamente en los espacios reservados para tal fin. • Utilice el reverso de cada hoja para sus anotaciones. • Duración del examen 3 horas • Emplee letra clara y legible y responda de forma breve y precisa. • El examen consta de 16 cuestiones, que valen 0.625 puntos cada una. ¿Cuáles de las siguientes actividades sólo deberían permitirse en modo privilegiado?

a) Inhabilitar todas las interrupciones b) Leer la hora del sistema c) Actualizar la hora del sistema d) Modificar el mapa de memoria e) Programar el controlador de disco f) Modificar el vector de interrupciones

1 A, c, d , e , f

Sea un sistema que tiene que ejecutar los procesos cuyas características se indican en la siguiente tabla:

Llegada CPU P1 0 7 P2 1 4 P3 3 3 P4 5 2

Indique el diagrama de uso de CPU, el tiempo medio de retorno y el de espera de los procesos, suponiendo una política de planificación por turno rotatorio con cuanto= 2

2 Tiempo_medio_retorno=(16+9+12+7)/4=11

Tiempo_medio_espera=(9+5+9+5)/4=7

t Preparados CPU Comentarios 0 P1 Llega P1 1 P2 P1 Llega P2 2 P1 P2 3 P3,P1 P2 Llega P3 4 P2,P3 P1 5 P4,P2,P3 P1 Llega P4 6 P1,P4,P2 P3 7 P1,P4,P2 P3 8 P3,P1,P4 P2

Page 2: 2003 Julio Examen UNI

Sistemas Operativos I CONVOCATORIA EXTRAORDINARIA 2 de julio de 2003

2

9 P3,P1,P4 P2 10 P3,P1 P4 Fin P2 11 P3,P1 P4 12 P3 P1 Fin P4 13 P3 P1 14 P1 P3 15 P1 Fin P3 16 Fin P1

Un planificador dispone de 2 colas de procesos preparados. La selección del proceso a ejecutar se realiza mirando la primera cola, y sólo en el caso de que no existan procesos preparados en ésta, se mira la segunda. Todos los procesos entran en la primera cola cuando su estado pasa a preparado. Un proceso pasa de la primera a la segunda cola cuando ha consumido un número N de quantum q. La política de la primera cola es turno rotatorio y la de la segunda primero en llegar primero en ser servido (FCFS).

Indique a qué tipo de procesos favorece esta política. Justifique su respuesta en función del tiempo de CPU de los procesos.

3

Beneficia a procesos cuyas ráfagas de CPU tengan un tiempo de cómputo menor que N*q.

Sea un sistema multiprogramado con un único dispositivo de E/S que tiene que ejecutar los procesos cuyas características se indican a continuación:

Proceso Llegada Distribución de su tiempo de ejecución A 0 1CPU; 1E/S; 1CPU; 1E/S; 1CPU; 1E/S; 1CPU B 0 2CPU; 1E/S; 3CPU C 1 1CPU; 4E/S; 1CPU; 1E/S; 1CPU

Rellene la siguiente tabla de ocupación de los recursos del sistema suponiendo una política de planificación SRTF para la CPU, y una política FCFS para el dispositivo de E/S.

4

t Evento Preparados CPU cola E/S E/S

0 Llega A, llega B B A

1 A E/S; Llega C B C A

2 A E/S; C E/S B A C

3 A E/S B A C

4 B A C

5 B E/S _ B,A C

6 C E/S C B A

7 A E/S; C E/S A C B

8 A E/S; B E/S B A C

9 C E/S B C A

10 A E/S; Fin C B A

11 Fin A B

12 B

13 Fin B

Page 3: 2003 Julio Examen UNI

Sistemas Operativos I CONVOCATORIA EXTRAORDINARIA 2 de julio de 2003

3

Suponga que un proceso emite una dirección lógica (5,18004) utilizando un modelo de gestión de memoria basado en segmentación paginada, con páginas de 4KB. Indique qué direcciones físicas de entre las siguientes podrían corresponder a dicha dirección lógica: 1620 4004 8004 9812 23720

5 1620, 9812

Suponemos un sistema con gestión de memoria basada en particiones dinámicas, y un total de 100MB de memoria. Se recibe la siguiente secuencia ordenada de operaciones:

1) Solicitud 10MB 2) Solicitud 50MB 3) Solicitud 20MB 4) Borrado de la partición de 10MB 5) Solicitud 5MB 6) Solicitud 15MB 7) Solicitud 10MB

En estas circunstancias, ordene de mejor a peor los algoritmos primer hueco, mejor hueco, y peor hueco, justificando la respuesta:

6 El mejor algoritmo es “Peor Hueco” porque consigue ubicar todas las solicitudes. Los algoritmos de primer y mejor hueco no consiguen ubicar la última solicitud, quedando una fragmentación externa de 10 MB.

Un determinado sistema operativo gestiona la memoria virtual mediante paginación por demanda. La dirección lógica tiene 24 bits, de los cuales 14 indican el número de página. La memoria física tiene 5 marcos. El algoritmo de reemplazo de páginas es el LRU LOCAL, y se ha implementado mediante un contador asociado a cada página que indica el instante de tiempo en que se referenció la página por última vez. Las tablas de páginas en el instante 16 son:

Tabla de páginas proceso A Tabla de páginas proceso B Marco Bit de

validez Contador Marco Bit de

validez Contador

0 1 v 10 0 0 v 7 1 2 v 15 1 - i 2 2 - i 6 2 - i 3 3 - i 5 3 3 v 4 4 4 v 11

Indique el contenido de cada una de las tablas de páginas para los procesos A y B después de haber sido referenciada la siguiente secuencia de direcciones lógicas: (A, 2900) (B, 1200) (A, 1850) (A, 3072) (B, 527) (B, 2987) (A, 27) (A, 2000) (B, 4800) (B, 1500). (Nota: el formato empleado en las referencias ha sido (Proceso, dirección lógica)). 7 Tabla de páginas del proceso A Tabla de páginas del proceso B

Marco Bit validez contador Marco Bit validez contador

0 2 v 23 0 -- i - 1 1 v 24 1 0 v 26 2 - i - 2 4 v 22 3 - i - 3 - i -

4 3 v 25

Page 4: 2003 Julio Examen UNI

Sistemas Operativos I CONVOCATORIA EXTRAORDINARIA 2 de julio de 2003

4

Se desea diseñar un sistema con paginación. El espacio de direccionamiento lógico es de 4GB, y el tamaño de los marcos en memoria 4KB. Las alternativas son:

a) Paginación con un único nivel b) Paginación con dos niveles (10 bits para el primer nivel, 10 para el segundo) c) Paginación con tres niveles (8 bits para el primer nivel, 6 para el segundo, 6 para el tercero)

Suponemos un proceso cuyo espacio de direcciones lógicas es de 10MB. Indica para cada alternativa la cantidad de entradas necesarias en la tabla de páginas de dicho proceso

8 Para almacenar el proceso de 10Mb son necesarias 2560 páginas de 4Kbytes. a) serán necesarios 2 20 entradas en la tabla de páginas o descriptores, aunque de ellas solo estaránutilizadas 2560 entradas. b) se necesitan una página de primer nivel y tres de segundo nivel 2 10 + 3 * 2 10 = 4K entradas c) se necesitan una página de primer nivel, una de segundo nivel y 40 páginas de tercer nivel 2 8 + 2 6 + 40 * 2 6 = 2880 entradas

Un sistema se define con las siguientes características: • Utiliza la técnica de gestión de memoria virtual de paginación por demanda. El algoritmo de reemplazo es

FIFO GLOBAL, y se ha implementado mediante el uso de un contador que almacena el instante en que una página se carga en memoria.

• Se utiliza un algoritmo de planificación del procesador por prioridades fijas expulsivas, y un algoritmo de planificación del dispositivo de paginación FCFS (por orden de llegada).

• Se dispone de 4 marcos de memoria. • Durante la ejecución de un proceso, cada referencia a una página que está en memoria, consume una

unidad de tiempo. • Copiar una sóla página al/del dispositivo de paginación desde/a memoria consume 1 unidad de tiempo. El

uso del dispositivo de paginación a cargo de un proceso, durante los instantes de tiempo necesarios, se representará en la columna DISCO.

• Se considerará que cualquier página víctima seleccionada por el algoritmo de reemplazo siempre habrá sido modificada, por lo que habrá que copiarla a disco.

En t=10, hay en el sistema 3 procesos preparados A, B y C, con las siguientes características: • prioridad de A > prioridad de B > prioridad de C • El contenido de la memoria en t=10 es:

Marco 0 Marco 1 Marco 2 Marco 3 Página Contador Página Contador Página Contador Página Contador

A0 9 C0 10 B0 5 - - • Secuencia de referencias a páginas durante la ejecución de cada proceso:

Proceso Números de página A 0, 0, 2, 3 B 0, 0 C 0, 0, 0, 1

Se pide rellenar la siguiente tabla en que se muestra la ocupación de los recursos del sistema en cada instante, hasta que finalice la ejecución de los procesos A, B y C:

Page 5: 2003 Julio Examen UNI

Sistemas Operativos I CONVOCATORIA EXTRAORDINARIA 2 de julio de 2003

5

9

t Evento Preparados CPU cola DISCO DISCO Marco

0 Marco

1 Marco

2 Marco

3

11 A en CPU, referencia pág A0. B,C A(0) - - A0 C0 B0 Libre

12 A en CPU, referencia pág A0. B,C A(0) - - A0 C0 B0 Libre

13 Fallo pag. A2; Ref. B0 C B(0) A(2) A0 C0 B0 XX

14 A2 reinicia B,C A(2) - - A0 C0 B0 A2

15

Fallo pag. A3, victima marco 2 (B0). Fallo pag. B0, victima marco 0, A0

C(0) B(0,A0) A(3,B0) XX C0 XX A2

16 C0 C(0) B(0,A0) A(3) XX C0 XX A2

17 Reinicia A3 C A(3) B(0,A0) XX C0 A3 A2

18 Fin de A, libera memoria C(0) B(0) XX C0 libre libre

19 Reinicia B0 C B(0) B0 C0 libre libre

20 Fin de B, libera memoria Fallo pág. C1, se elige marco 0

- C(1) XX C0 libre libre

21 Reinicia C1 C(1) C(1) C1 C0 libre libre

22 Fin de C, libera memoria - libre libre libre libre libre

23

24

25 Sea un sistema informático en el que la unidad de asignación a fichero es el bloque, con un tamaño de bloque de 1024 bytes y punteros a bloque de 16 bits. No se tiene información sobre el tipo de asignación empleado por dicho sistema, pero en él existe un fichero llamado PRAC.txt cuyos datos ocupan 9280 bytes y se encuentran almacenados en los siguiente números de bloques lógicos: 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, este ha sido el orden de asignación del sistema. Indique para cada uno de los tipos de asignación si es posible o no que se este utilizando, y en el caso de que sea posible la secuencia ordenada de bloques a recorrer para acceder al byte 7140 del fichero PRAC.txt.

Tipo de asignación

¿Es posible?

SI/NO Justificar

Secuencia ordenada para acceder al byte 7140 de

PRAC.txt

Contigua

Si es posible. En este caso la asignación de bloques es consecutiva y suficiente para albergar el fichero. 9280 bytes< 10240

Una vez se conoce el número del primer bloque se accede directamente al bloque 86.

Indexada

Si es posible será necesario consultar el bloque de índices, que contendrá punteros a los bloques 80,81,82,83,84,85,86, 87,88 y 89.

Una vez consultado el índice se accede directamente al bloque 86.

10

Enlazada

Si es posible, se puede suponer que en cada bloque se encuentra un puntero al siguiente.

Es necesario consultar todos los bloques desde el primero hasta encontrar el séptimo. Es decir se consultan 80,81,82,83,84,85 y 86.

Page 6: 2003 Julio Examen UNI

Sistemas Operativos I CONVOCATORIA EXTRAORDINARIA 2 de julio de 2003

6

Se ha modificado un sistema de ficheros MINIX de la siguiente forma:

• El tamaño de bloque es de 1 Kbytes. • 1 zona = 1 bloque • El tamaño del nodo-i es de 128 bytes. • El tamaño de una referencia es de 32 bits. • En los nodos-i existen 16 referencias directas a zona, 1 indirecta y 1 doblemente indirecta. • Consideramos un disco con 1GB de capacidad • El número máximo de nodos-i es 10000

Se pide: a) Determinar la estructura del disco b) Indicar cual será el tamaño máximo de un fichero en este sistema

Bloque de arranque Super bloque Mapa nodos-i Mapa zonas Nodos -i Datos 1 bloque 1 bloque 2 bloque 128 bloques 1250 bloques 1047194 bloques

11 a) 10000 nodos-i / 1024*8 =1,22= 2bloques 1Gb/1024 bytes= 1048576 bloques totales del disco 1048576 / 1024*8 = 128 bloques 10000 nodos-i*128 bytes / 1024= 1250 bloques bloques de datos 1048576-(1250+128+2+1+1)=1047194 bloques

11 b) 1024 bytes /4 bytes = 256 referencias contiene un bloque. Tamaño máximo de un fchero =(16+256+ 256*256) *1Kbyte=65808 Kbytes= 64,27 Mbytes

En un sistema existe un conjunto de peticiones pendientes a un disco. Suponiendo que no llegan nuevas peticiones, y que el cabezal del disco realiza la trayectoria dada por los siguientes números de cilindro:

167, 153, 122, 99, 62, 41, 0, 185, 198, 240. Justifique si es posible que el manejador de disco haya utilizado cada uno de los algoritmos que se indican a continuación.

Algoritmo ¿Posible? Si/No (justificar)

FCFS Sí que es posible suponiendo que han llegado en ese orden.

167, 153, 122, 99, 62, 41, 0, 185, 198, 240

SSTF Sí que es posible siempre y cuando inicialmente el cabezal se encontrase entre el cilindro 175 y 167.

SCAN Sí, siempre y cuando el cabezal se encontrase haciendo un recorrido en sentido descendente, para después continuar en sentido ascendente.

C-SCAN No es posible ya que en este caso siempre se satisfacen las solicitudes en

sentido ascendente o descendente.

LOOK Sí, siempre y cuando el cabezal se encontrase haciendo un recorrido en sentido descendente, para después continuar en sentido ascendente y además

se considera que existe una petición al cilindro 0.

12

C-LOOK No es posible ya que en este caso siempre se satisfacen las solicitudes en sentido ascendente o descendente.

Page 7: 2003 Julio Examen UNI

Sistemas Operativos I CONVOCATORIA EXTRAORDINARIA 2 de julio de 2003

7

PREGUNTAS DE PRÁCTICAS Dado el siguiente makefile: prog: m1.o m2.o main.o cc main.o m1.o m2.o -o prog m1.o: m1.c m1.h cc -c m1.c m2.o: m2.c m2.h m1.h cc -c m2.c main.o: main.c main.h m2.h cc -c main.c

y la situación de los ficheros que componen el proyecto (información con ls: utilizar la penúltima columna como fecha de modificación) -rw------- 1 Usu1 grupo1 0 Jun 25 11:30 m1.h -rw------- 1 Usu1 grupo1 0 Jun 25 11:30 m1.c -rw------- 1 Usu1 grupo1 0 Jun 25 11:30 m1.o -rw------- 1 Usu1 grupo1 0 Jun 25 10:50 m2.h -rw------- 1 Usu1 grupo1 0 Jun 25 10:50 m2.c -rw------- 1 Usu1 grupo1 0 Jun 25 10:50 m2.o -rw------- 1 Usu1 grupo1 0 Jun 25 10:49 main.h -rw------- 1 Usu1 grupo1 0 Jun 25 11:10 main.c -rw------- 1 Usu1 grupo1 0 Jun 25 11:10 main.o -rwx------ 1 Usu1 grupo1 1014 Jun 25 11:20 prog

determinar que acciones realizará make prog:

13 cc -c m1.c cc -c m2.c cc main.o m1.o m2.o -o prog

Definimos el shell script SC como sigue: if [ $1 = $2 ] then for i in $* do echo $i done else echo "($*)" fi Indica la salida en pantalla tras ejecutar cada uno de los siguientes comandos a) SC marte marte venus tierra mercurio b) SC marte venus tierra mercurio

14 a) marte marte venus tierra mercurio

b) ( marte venus tierra mercurio)

Codifique un shell script que cumpla con los siguientes requerimientos: • Sintaxis : hijos padre

Page 8: 2003 Julio Examen UNI

Sistemas Operativos I CONVOCATORIA EXTRAORDINARIA 2 de julio de 2003

8

• Descripción: Debe mostrar en salida estándar los identificadores de los procesos hijos del proceso cuyo identificador es "padre". Debe mostrar un mensaje de error si el número de argumentos es diferente de uno o si el proceso "padre" no existe.

• Ejemplo de uso: $ hijos 599 578 598 536 ...

El padre de un proceso (cuyo identificador es "pid") puede consultarse en el fichero /proc/"pid"/status en la línea que contiene la palabra "PPid:". El formato de esta línea es el siguiente: "PPid: pidpadre" Ejemplo: "PPid: 9333"

15 if [$# -ne 1] then echo Error en el número de argumentos exit 1 fi if [-d /proc/$1] then cd /proc for i in [0-9]* do padre=$(awk ‘/Ppid:/ {print $2}’ $i/status) if [$padre=$1] then echo $i fi done else echo Error el proceso $1 no existe exit 1 fi

Supóngase que en un sistema unix dentro de un fichero se posee un ejecutable llamado html-tabla, el cual saca por pantalla en formato HTML una tabla. Funciona de la siguiente manera:

Llamada: html-tabla <num_columnas> <lista_elementos>, donde - <num_columnas> número de columnas que tendrá la tabla. - <lista_elementos> una lista de cada uno de los elementos de la tabla separados por “;” y

leída de izquierda a derecha, de arriba a abajo. Suponiendo que ejecutamos el siguiente script, describa el contenido final del fichero “tabla.txt” DatosTabla="" for i in /proc/[1-9]* do pid=$(awk '{print $1}' $i/stat) DatosTabla=$DatosTabla";"$i";"$pid done html-tabla 2 "$DatosTabla">tabla.txt

16 Se genera un fichero que contiene informacion en html para representar una tabla de dos columnas. El contenido de dichas columnas será: en la primera: /proc/pid_proceso en la segunda: pid_proceso La tabla tendrá tantas filas como procesos haya en el sistema.