Está en la página 1de 8

Sistemas Operativos I

CONVOCATORIA EXTRAORDINARIA

2 de julio de 2003

Escuela Tcnica Superior de Informtica Aplicada / Facultad de Informtica


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.
Duracin 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.

Cules de las siguientes actividades slo deberan 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

A, c, d , e , f

Sea un sistema que tiene que ejecutar los procesos cuyas caractersticas se indican en la siguiente tabla:
P1
P2
P3
P4

Llegada
0
1
3
5

CPU
7
4
3
2

Indique el diagrama de uso de CPU, el tiempo medio de retorno y el de espera de los procesos, suponiendo una
poltica de planificacin por turno rotatorio con cuanto= 2

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

t
0
1
2
3
4
5
6
7
8

Preparados CPU
P1
P2
P1
P1
P2
P3,P1
P2
P2,P3
P1
P4,P2,P3 P1
P1,P4,P2 P3
P1,P4,P2 P3
P3,P1,P4 P2

Comentarios
Llega P1
Llega P2
Llega P3
Llega P4

Sistemas Operativos I

CONVOCATORIA EXTRAORDINARIA

9
10
11
12
13
14
15
16

P3,P1,P4
P3,P1
P3,P1
P3
P3
P1

P2
P4
P4
P1
P1
P3
P1

2 de julio de 2003

Fin P2
Fin P4
Fin P3
Fin P1

Un planificador dispone de 2 colas de procesos preparados. La seleccin del proceso a ejecutar se realiza
mirando la primera cola, y slo 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 nmero N de quantum q. La poltica 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 poltica. Justifique su respuesta en funcin del tiempo de CPU de
los procesos.
Beneficia a procesos cuyas rfagas de CPU tengan un tiempo de cmputo menor que N*q.

Sea un sistema multiprogramado con un nico dispositivo de E/S que tiene que ejecutar los procesos cuyas
caractersticas se indican a continuacin:
Proceso Llegada
Distribucin de su tiempo de ejecucin
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 ocupacin de los recursos del sistema suponiendo una poltica de planificacin
SRTF para la CPU, y una poltica FCFS para el dispositivo de E/S.

4
t

Evento

Preparados

CPU

cola E/S

E/S

Llega A, llega B

A E/S; Llega C

A E/S; C E/S

A E/S

B E/S

B,A

C E/S

A E/S; C E/S

A E/S; B E/S

C E/S

10

A E/S; Fin C

11

Fin A

12
13

B
B

Fin B
2

Sistemas Operativos I

CONVOCATORIA EXTRAORDINARIA

2 de julio de 2003

Suponga que un proceso emite una direccin lgica (5,18004) utilizando un modelo de gestin de memoria
basado en segmentacin paginada, con pginas de 4KB. Indique qu direcciones fsicas de entre las siguientes
podran corresponder a dicha direccin lgica:
1620

4004

8004

9812

23720

1620, 9812

Suponemos un sistema con gestin de memoria basada en particiones dinmicas, 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 particin 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:

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 fragmentacin
externa de 10 MB.

Un determinado sistema operativo gestiona la memoria virtual mediante paginacin por demanda. La direccin
lgica tiene 24 bits, de los cuales 14 indican el nmero de pgina. La memoria fsica tiene 5 marcos. El
algoritmo de reemplazo de pginas es el LRU LOCAL, y se ha implementado mediante un contador asociado a
cada pgina que indica el instante de tiempo en que se referenci la pgina por ltima vez. Las tablas de pginas
en el instante 16 son:

0
1
2
3

Tabla de pginas proceso A


Marco
Bit
de Contador
validez
1
v
10
2
v
15
i
6
i
5

0
1
2
3
4

Tabla de pginas proceso B


Marco
Bit
de Contador
validez
0
v
7
i
2
i
3
3
v
4
4
v
11

Indique el contenido de cada una de las tablas de pginas para los procesos A y B despus de haber sido
referenciada la siguiente secuencia de direcciones lgicas: (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, direccin lgica)).
7

Tabla de pginas del proceso A


0
1
2
3

Marco
2
1
-

Bit validez
v
v
i
i

contador
23
24
-

Tabla de pginas del proceso B


0
1
2
3
4

Marco
-0
4
3

Bit validez
i
v
v
i
v

contador
26
22
25
3

Sistemas Operativos I

CONVOCATORIA EXTRAORDINARIA

2 de julio de 2003

Se desea disear un sistema con paginacin. El espacio de direccionamiento lgico es de 4GB, y el tamao de
los marcos en memoria 4KB. Las alternativas son:
a) Paginacin con un nico nivel
b) Paginacin con dos niveles (10 bits para el primer nivel, 10 para el segundo)
c) Paginacin con tres niveles (8 bits para el primer nivel, 6 para el segundo, 6 para el tercero)
Suponemos un proceso cuyo espacio de direcciones lgicas es de 10MB. Indica para cada alternativa la cantidad
de entradas necesarias en la tabla de pginas de dicho proceso

Para almacenar el proceso de 10Mb son necesarias 2560 pginas de 4Kbytes.

a) sern necesarios 2 20 entradas en la tabla de pginas o descriptores, aunque de ellas solo estarn
utilizadas 2560 entradas.
b) se necesitan una pgina de primer nivel y tres de segundo nivel
2 10 + 3 * 2 10 = 4K entradas
c) se necesitan una pgina de primer nivel, una de segundo nivel y 40 pginas de tercer nivel
2 8 + 2 6 + 40 * 2 6 = 2880 entradas

Un sistema se define con las siguientes caractersticas:


Utiliza la tcnica de gestin de memoria virtual de paginacin 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
pgina se carga en memoria.
Se utiliza un algoritmo de planificacin del procesador por prioridades fijas expulsivas, y un algoritmo de
planificacin del dispositivo de paginacin FCFS (por orden de llegada).
Se dispone de 4 marcos de memoria.
Durante la ejecucin de un proceso, cada referencia a una pgina que est en memoria, consume una
unidad de tiempo.
Copiar una sla pgina al/del dispositivo de paginacin desde/a memoria consume 1 unidad de tiempo. El
uso del dispositivo de paginacin a cargo de un proceso, durante los instantes de tiempo necesarios, se
representar en la columna DISCO.
Se considerar que cualquier pgina vctima 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 caractersticas:
prioridad de A > prioridad de B > prioridad de C
El contenido de la memoria en t=10 es:
Marco 0
Pgina
Contador
A0
9

Marco 1
Pgina
Contador
C0
10

Marco 2
Pgina
Contador
B0
5

Marco 3
Pgina
Contador
-

Secuencia de referencias a pginas durante la ejecucin de cada proceso:


Proceso

Nmeros de pgina

0, 0, 2, 3

0, 0

0, 0, 0, 1

Se pide rellenar la siguiente tabla en que se muestra la ocupacin de los recursos del sistema en cada
instante, hasta que finalice la ejecucin de los procesos A, B y C:
4

Sistemas Operativos I

CONVOCATORIA EXTRAORDINARIA

2 de julio de 2003

9
11

A en CPU, referencia pg A0. B,C

A(0)

cola
DISCO
-

12

A en CPU, referencia pg A0. B,C

A(0)

13

Fallo pag. A2; Ref. B0

B(0)

14

B,C

A(2)

A0

C0

B0

A2

C(0)

B(0,A0)

A(3,B0)

XX

C0

XX

A2

16

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

C(0)

B(0,A0)

A(3)

XX

C0

XX

A2

17

Reinicia A3

A(3)

B(0,A0)

XX

C0

A3

A2

18

Fin de A, libera memoria

C(0)

B(0)

XX

C0

libre

libre

19

B0

C0

libre

libre

21

Reinicia B0
Fin de B, libera memoria
Fallo pg. C1, se elige marco
0
Reinicia C1

22

Fin de C, libera memoria

15

20

Evento

Preparados

CPU

DISCO

Marco
0

Marco
1

Marco
2

Marco
3

A0

C0

B0

Libre

A0

C0

B0

Libre

A(2)

A0

C0

B0

XX

B(0)
-

C(1)

XX

C0

libre

libre

C(1)

C(1)

C1

C0

libre

libre

libre

libre

libre

libre

libre

23
24
25
Sea un sistema informtico en el que la unidad de asignacin a fichero es el bloque, con un tamao de bloque
de 1024 bytes y punteros a bloque de 16 bits. No se tiene informacin sobre el tipo de asignacin 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 nmeros de bloques lgicos: 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, este ha sido el
orden de asignacin del sistema. Indique para cada uno de los tipos de asignacin 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

10 asignacin

Es posible?
SI/NO Justificar

Secuencia ordenada para


acceder al byte 7140 de
PRAC.txt

Contigua

Si es posible. En este caso la asignacin de


bloques es consecutiva y suficiente para
albergar el fichero. 9280 bytes< 10240

Indexada

Si es posible ser necesario consultar el bloque Una vez consultado el ndice


de ndices, que contendr punteros a los
se accede directamente al
bloques 80,81,82,83,84,85,86, 87,88 y 89.
bloque 86.

Enlazada

Si es posible, se puede suponer que en cada


bloque se encuentra un puntero al siguiente.

Una vez se conoce el nmero


del primer bloque se accede
directamente al bloque 86.

Es necesario consultar todos


los bloques desde el primero
hasta encontrar el sptimo.
Es decir se consultan
80,81,82,83,84,85 y 86.
5

Sistemas Operativos I

CONVOCATORIA EXTRAORDINARIA

2 de julio de 2003

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


El tamao de bloque es de 1 Kbytes.
1 zona = 1 bloque
El tamao del nodo-i es de 128 bytes.
El tamao 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 nmero mximo de nodos-i es 10000
Se pide:
a) Determinar la estructura del disco
b) Indicar cual ser el tamao mximo 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.


Tamao mximo 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 nmeros 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
continuacin.

12

Algoritmo
FCFS

Posible? Si/No (justificar)


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 despus continuar en sentido ascendente.

C-SCAN
LOOK

C-LOOK

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


sentido ascendente o descendente.
S, siempre y cuando el cabezal se encontrase haciendo un recorrido en
sentido descendente, para despus continuar en sentido ascendente y adems
se considera que existe una peticin al cilindro 0.
No es posible ya que en este caso siempre se satisfacen las solicitudes en
sentido ascendente o descendente.
6

Sistemas Operativos I

CONVOCATORIA EXTRAORDINARIA

2 de julio de 2003

PREGUNTAS DE PRCTICAS
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 situacin de los ficheros que componen el proyecto (informacin con ls: utilizar la penltima columna
como fecha de modificacin)
-rw-------rw-------rw-------rw-------rw-------rw-------rw-------rw-------rw-------rwx------

1
1
1
1
1
1
1
1
1
1

Usu1
Usu1
Usu1
Usu1
Usu1
Usu1
Usu1
Usu1
Usu1
Usu1

grupo1
grupo1
grupo1
grupo1
grupo1
grupo1
grupo1
grupo1
grupo1
grupo1

0
0
0
0
0
0
0
0
0
1014

Jun
Jun
Jun
Jun
Jun
Jun
Jun
Jun
Jun
Jun

25
25
25
25
25
25
25
25
25
25

11:30
11:30
11:30
10:50
10:50
10:50
10:49
11:10
11:10
11:20

m1.h
m1.c
m1.o
m2.h
m2.c
m2.o
main.h
main.c
main.o
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
7

Sistemas Operativos I

CONVOCATORIA EXTRAORDINARIA

2 de julio de 2003

Descripcin: Debe mostrar en salida estndar los identificadores de los procesos hijos del proceso cuyo
identificador es "padre". Debe mostrar un mensaje de error si el nmero 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 lnea que contiene la palabra "PPid:". El formato de esta lnea es el siguiente:
"PPid: pidpadre"

15

Ejemplo: "PPid: 9333"

if [$# -ne 1]
then
echo Error en el nmero 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

Supngase 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> nmero de columnas que tendr la tabla.
- <lista_elementos> una lista de cada uno de los elementos de la tabla separados por ; y
leda 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

Se genera un fichero que contiene informacion en html para representar una tabla de dos

16 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.
8

También podría gustarte