0% encontró este documento útil (0 votos)
682 vistas231 páginas

Examenes Con Soluciones SO

Este documento presenta un examen de Sistemas Operativos que consta de un test de 10 preguntas y 4 ejercicios. El test es eliminatorio y debe completarse en la hoja de lectura óptica. Los ejercicios tratan sobre la implementación de exclusión mutua entre procesos, la asignación de memoria mediante paginación, el tamaño máximo de archivos en un sistema de archivos y la lectura mediante E/S controlada por programa. Los estudiantes deben completar sus datos personales y entregar ambas hojas.

Cargado por

Cyrus
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
682 vistas231 páginas

Examenes Con Soluciones SO

Este documento presenta un examen de Sistemas Operativos que consta de un test de 10 preguntas y 4 ejercicios. El test es eliminatorio y debe completarse en la hoja de lectura óptica. Los ejercicios tratan sobre la implementación de exclusión mutua entre procesos, la asignación de memoria mediante paginación, el tamaño máximo de archivos en un sistema de archivos y la lectura mediante E/S controlada por programa. Los estudiantes deben completar sus datos personales y entregar ambas hojas.

Cargado por

Cyrus
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

SISTEMAS OPERATIVOS I Mayo 2000

INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 2086 Tipo de Examen: A


INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 2092 Tiempo: 2 horas
NINGÚN TIPO DE MATERIAL PERMITIDO.
INSTRUCCIONES: Complete TODOS los datos que se piden en la hoja de lectura óptica y ENTRÉGUELA
OBLIGATORIAMENTE junto con la hoja de examen de los 4 ejercicios. La puntuación del examen es la siguiente: el test vale 2
puntos y los ejercicios 8 puntos. Las respuestas correctas del test puntúan 0.2 puntos y las respuestas erróneas del test descuentan 0.1
puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1 punto para superarlo.
Test: Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- El grado de multiprogramación corresponde a:
a) El número de programas máximo que realizan operaciones de E/S.
b) El número máximo de archivos en un directorio.
c) El número máximo de procesos en memoria principal.
d) El número máximo de programas que comparten variables.
2.- El planificador a corto plazo selecciona:
a) El proceso que pasa al estado activo de entre todos los procesos en estado preparado.
b) El trabajo que se admite en el sistema para su procesamiento.
c) La página en memoria que se debe sustituir por la página que se solicita cuando se produce un fallo de página.
d) Entre las peticiones de E/S al disco aquella que minimiza el tiempo medio de búsqueda.
3.- El semáforo elimina la espera activa porque:
a) Se inicializa al número máximo de recursos que se comparten.
b) Las operaciones espera y señal se implementan como acciones indivisibles.
c) El semáforo no elimina la espera activa.
d) Se implementa con una cola de tareas a la cual se le añaden los procesos que están en espera del recurso.
4.- Los monitores proporcionan exclusión mutua porque:
a) Sólo un proceso puede estar activo cada vez para ejecutar un procedimiento del monitor.
b) Para ello se utilizan variables de condición.
c) No proporcionan exclusión mutua.
d) Se diseñan mediante procedimientos encapsulados dentro de un módulo.
5.- Con el esquema de gestión de memoria mediante particiones variables se produce:
a) Fragmentación interna.
b) Fragmentación de tablas.
c) Fragmentación externa.
d) No existe fragmentación.
6.- La compactación de memoria es necesaria en un esquema de gestión de memoria:
a) De particiones fijas.
b) De particiones variables.
c) De paginación.
d) Ninguna de las anteriores.
7.- La entrada especial a un directorio "." (punto) representa:
a) Una entrada para el propio directorio.
b) Una entrada para el directorio "padre".
c) Una entrada para el directorio raíz.
d) No es ninguna entrada.
8.- Para la gestión del espacio libre en disco se utiliza el siguiente método:
a) Se gestiona mediante llamadas al sistema operativo.
b) La regla del cincuenta por ciento.
c) El mapa de bits.
d) El mapa de words.
9.- El controlador de E/S y la memoria intercambian datos directamente, sin la intervención de la CPU, cuando se tiene:
a) E/S controlada por programa.
b) E/S por interrupciones.
c) DMA.
d) Ninguna de las anteriores.
10.- El algoritmo de marcación de tiempo de Lamport:
a) Es un algoritmo de prevención de interbloqueos en sistemas distribuidos.
b) Es un algoritmo para implementar la exclusión mutua en sistemas distribuidos.
c) Es un algoritmo que determina la página a sustituir cuando se produce un fallo de página.
d) Es un algoritmo de ordenación de sucesos en sistemas distribuidos.
SISTEMAS OPERTIVOS I Mayo 2000 – Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 2086
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 2092 Tiempo: 2 horas
NINGÚN TIPO DE MATERIAL PERMITIDO.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). La puntuación de estos ejercicios corresponde al 80% de la calificación final.

1.- Implementar el seudo-código correspondiente para que tres procesos que comparten un recurso lo hagan de manera
exclusiva.

Process P1 Process P2 Process P3


loop loop loop
operaciones_P1; operaciones_P2; operaciones_P3;
wait(mutex); wait(mutex); wait(mutex);
sección_critica; sección_critica; sección _critica;
signal(mutex); signal(mutex); signal(mutex);
operaciones_P1; operaciones_P2; operaciones_P3;
end end end

Process Padre
begin
inicializa(mutex, 1); /*inicialización del semáforo binario mutex*/
Cobegin /*ejecución concurrente de P1, P2 y P3*/
P1; P2; P3;
coend;
end;

2.- Un sistema posee una memoria física de 64Kbytes dividido en marcos de páginas de tamaño 4Kbytes. Un programa
tiene un código de tamaño 32768 bytes, un conjunto de datos de 16386 bytes y una pila de 15870 bytes. ¿Se podrá cargar
este programa en la memoria? Razonar si influye el tamaño de la página.

Si el tamaño de página es de 4K bytes la memoria total consta de:


65536/4096 = 16 marcos de página.
Para el segmento de código se necesitan:
32768/4096 = 8 páginas
Para el segmento de datos se necesitan:
16386/4096 = 5 páginas
Para el segmento de pila se requieren:
15870/4096 = 4 páginas
En total se necesitan 17 páginas para ubicar al programa, luego será imposible.
Si influye el tamaño de la página. El razonamiento es el siguiente:

Si se calcula el tamaño del archivo total 32768+16386+15870=65024 bytes = 63.5 kbytes se puede observar que es
menor que el tamaño dado para alojar el proceso de 64 kbytes. Por lo tanto, si ahora el proceso no cabe, es debido al tipo
de gestión de memoria que se está utilizando y en concreto a la porción de memoria que se desaprovecha en este
esquema. Concretando, en la paginación, al ser el tamaño del proceso independiente del tamaño de la página, la última
página no se carga por completo, desperdiciando esa porción de memoria. A esto se denomina fragmentación interna de
página. Es de esperar una fragmentación interna de media página por proceso, o en este caso por segmento (al ser el
esquema de memoria segmentación con paginación.. Esta consideración sugiere que es más deseable tener páginas
pequeñas, de esta forma la porción desaprovechada será menor (se puede repetir los cálculos con un tamaño de páginas
de 512 bytes y comprobar que entonces si es posible alojar al proceso); En cualquier caso no se debe olvidar que esto
supone tener más páginas, pudiendo dar lugar a tablas excesivamente grandes.
3.- En un sistema operativo se utiliza una estructura de nodos-i parecida a la de Unix. Los bloques son de 1024 bytes.
Calcular el tamaño máximo de un archivo en bloques, según los dos siguientes supuestos:
a) La tabla de archivos abiertos tiene una entrada para cada archivo con un campo de 64 bits que indica el
desplazamiento.
b) El nodo-i tiene ocho entradas de direccionamiento directo, una de direccionamiento indirecto simple y otra
direccionamiento indirecto doble.

a). Teniendo en cuenta el campo del desplazamiento en la tabla de archivos abiertos: 64 bits

El offset máximo que se puede tener en un fichero será de 264 bytes. Pasándolo a bloques:

264
10
= 254 bloques
2
b). Según la estructura del sistema de archivos, el número máximo de bloques asignados a un archivo en su nodo-i (en bloques)
Directo 8 bloques

Indirecto simple 1024/2 12 bloques

Indirecto doble (1024/2) ´ (1024/2) 262144 bloques


==============
Total de bloques 262664 bloques

Hay que tener en cuenta que al ser el tamaño de un bloque de 1024 bytes y el tamaño de un puntero a

bloque de 16 bits=2 bytes, el número de punteros a bloques que cabe en un bloque de punteros es:

1024/2=512 punteros.

4.- Mostrar en un diagrama la lectura mediante E/S controlada por programa.

Enviar orden de lectura CPU E/S


al controlador de E/S

Leer el registro de estado E/S CPU


(RE) del controlador de
E/S
NO LISTO
Comprobar Condición de error
el estado
LISTO
Transferir dato del Registro CPU
E/S
de datos (RD) a la UCP

Escribir palabra en CPU Memoria


memoria

¿Hecho?
NO
SI Instrucción siguiente
SISTEMAS OPERATIVOS I Junio 2000
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 2086 Tipo de Examen: A
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 2092 Tiempo: 2 horas
NINGÚN TIPO DE MATERIAL PERMITIDO.
INSTRUCCIONES: Complete TODOS los datos que se piden en la hoja de lectura óptica y ENTRÉGUELA
OBLIGATORIAMENTE junto con la hoja de examen de los 4 ejercicios. La puntuación del examen es la siguiente: el test vale 2
puntos y los ejercicios 8 puntos. Las respuestas correctas del test puntúan 0.2 puntos y las respuestas erróneas del test descuentan 0.1
puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1 punto para superarlo.
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- En la planificación por prioridad circular o Round Robin:
a) El proceso preparado que pasa a ejecución corresponde al de tiempo de ejecución restante más corto.
b) De acuerdo a su prioridad cada proceso preparado pasa a ejecución durante una cota de tiempo llamada cuanto.
c) De forma secuencial cada proceso preparado pasa a ejecución durante una cota de tiempo llamada cuanto.
d) El proceso preparado que pasa a ejecución corresponde al de mayor prioridad asignada.
2.- El tiempo de retorno o regreso corresponde:
a) Al tiempo que el proceso espera hasta que se le concede el procesador.
b) Al tiempo que transcurre desde que un proceso se crea hasta que se completa por el sistema.
c) Al porcentaje del tiempo medio de utilización del procesador.
d) A la medida del número de procesos completados por unidad de tiempo.
3.- Para la evitación de interbloqueos se utiliza:
a) El algoritmo del banquero.
b) Grafos de asignación de recursos.
c) El método de marcación de tiempo de Lamport.
d) Los interbloqueos no se pueden evitar, sólo detectar.
4.- La sincronización mediante monitor:
a) Esta implícita, basta con invocar al procedimiento correspondiente del monitor.
b) Se consigue porque existe una cola asociada a cada procedimiento del monitor.
c) Se consigue porque existe una única cola asociada a todos los procedimientos del monitor.
d) Se consigue mediante la utilización de variables de condición.
5.- La orden Link (enlazar):
a) En el directorio actual, crea una entrada para un nuevo subdirectorio o archivo.
b) Permite que un archivo o subdirectorio aparezca en varios directorios.
c) Establece la conexión entre varios archivos.
d) Crea un enlace entre los archivos que se desea pertenezcan a un mismo directorio.
6.- La anomalía de Belady consiste en que:
a) Al aumentar el grado de multiprogramación, aumentan los fallos de página.
b) Al aumentar el número de marcos de página para asignación, aumentan los fallos de página.
c) Al disminuir el número de marcos de página para asignación, aumentan los fallos de página.
d) Al disminuir el tamaño de las páginas, aumentan los fallos de página.
7.- El mapa de bits sirve:
a) Para mantener una lista del espacio libre en disco.
b) Para mantener una lista de los bloques que se han modificado y deben ser actualizados en el disco.
c) Para indicar que bloques componen la caché del disco.
d) Como contador de las señales generadas de forma periódica por el reloj en tiempo real, RTR.
8.- El tiempo de búsqueda corresponde a:
a) El tiempo que tarda el algoritmo de sustitución en seleccionar una página cuando se produce un fallo de página.
b) El tiempo que se tarda en la transferir los datos en un disco.
c) El tiempo medio que tarda el sector en estar debajo de la cabeza de lectura/escritura del disco.
d) El tiempo necesario para que las cabezas del disco se desplacen al cilindro adecuado.
9.- Un sistema operativo independiente de dispositivo:
a) Indica que el sistema operativo está liberado de realizar la gestión de E/S.
b) La gestión de E/S no es capaz de distinguir entre los diferentes periféricos.
c) Designa de manera uniforme a cada uno de los dispositivos, por ejemplo, en Unix se referencian como archivos.
d) No utiliza manejadores de dispositivo, sólo de interrupciones.
10.- Entre las distintas formas de conectarse los procesadores para formar un sistema multiprocesador se encuentra:
a) El Sistema maestro/esclavo.
b) El bus compartido.
c) El mecanismo de llamada a procedimiento remoto.
d) En Unix, los tubos o pipes.
SISTEMAS OPERTIVOS I Junio 2000 – Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 2086
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 2092 Tiempo: 2 horas
NINGÚN TIPO DE MATERIAL PERMITIDO.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). La puntuación de estos ejercicios corresponde al 80% de la calificación final.

1.- Implementar el seudo-código correspondiente para lograr la sincronización de tres procesos (P1, P2 y P3) de forma
que se establezca el orden de ejecución P1, P3 y P2. Así, primero se ejecuta P1 y cuando finaliza P1 se puede ejecutar P3,
y cuando finaliza P3 se puede ejecutar P2 y cuando finaliza P2 se puede ejecutar P1 y así sucesivamente.

Process P1 Process P2 Process P3


loop loop loop
wait(finP2); wait(finP3); wait(finP1);
operaciones_P1; operaciones_P2; operaciones_P3;
signal(finP1); signal(finP2); signal(finP3);
end end end

Process Padre
begin
inicializa(finP1, 0); /*inicialización del semáforo binario finP1*/
inicializa(finP2, 1); /*inicialización del semáforo binario finP2*/
inicializa(finP3, 0); /*inicialización del semáforo binario finP3*/
Cobegin /*ejecución concurrente de P1, P2 y P3*/
P1;P2;P3;
coend;
end;
2.- Un computador utiliza el sistema de los asociados para la administración de su memoria. Explicar brevemente en que
consiste este sistema. Si se tiene al principio un bloque de 4Mb, después de solicitar espacios de 100kb, 400kb, 800kb,
300kb y 250kb. ¿Cuál es la distribución de la memoria?
El sistema de los asociados corresponde a una estrategia de asignación-desasignación de la memoria que facilita la fusión
del espacio libre mediante la asignación de áreas libres con afinidad para recombinar. Los tamaños de los bloques libres
en este sistema son potencias enteras de la base 2. A cada área de memoria se le asocia un campo de estado para indicar si
está siendo utilizada o no. Las peticiones de memoria se redondean a la siguiente potencia entera de base 2. Cuando se
solicita un bloque libre de tamaño 2k y no hay ninguno disponible, se divide un bloque del siguiente tamaño mayor,
2k+1, en dos mitades (dos socios) para satisfacer la petición. Cuando se libera un bloque, un sencillo test puede revelar si
su socio está libre, también. Si es así, ambos bloques se recombinan para formar el bloque original dos veces mayor.

P1 P1 P1 P1 P1
128Kb 128Kb 128Kb 128Kb 128Kb
256Kb 256Kb 256Kb 256Kb P5
512Kb P2 P2 P2 P2

1Mb 1Mb P3 P3 P3
4Mb

P4 P4
512Kb 512Kb
2Mb 2Mb 2Mb

1Mb 1Mb
3.- Especificación funcional de la operación con archivos: DELETE (Borrar).

Llamada: DELETE(nombre_archivo)

/* buscar nombre del archivo en el directorio */

/* si no se localiza, enviar mensaje de archivo no encontrado*/

/* verificar permisos, si no hay permiso de acceso, indicar error */

/* verificar si se está utilizando, si está abierto enviar mensaje de archivo abierto */

/* liberar la entrada en el directorio */

/* liberar el espacio asignado al archivo */

4.- Un disco que posee 200 pistas (numeradas de 0 a 199) tiene la siguiente cola de peticiones de acceso:
81, 142, 86, 172, 89, 145, 97, 170, 125
La posición inicial de la cabeza de lectura/escritura está en la pista número 100.
¿Cuál es la longitud media de búsqueda para satisfacer estas solicitudes con los siguientes algoritmos de planificación del
disco?.
a) Planificación FCFS (First come-First Served)
b) Planificación SSTF (Shortest Service Time First)
¿Qué inconvenientes presentan estos dos algoritmos?

a) Planificación FCFS: En este algoritmo la primera petición que llega es la primera que se sirve:

Pista a la que se 81 142 86 172 89 145 97 170 125


accede
Nº de pistas que 19 61 56 86 83 56 48 73 45 58.5
se atraviesan

Inconveniente: Los movimientos bruscos de vaivén a los que se ve sometida la cabeza de lectura/escritura, pudiendo
llegar a problemas físicos del equipo.

b) Planificación SSTF: Este algoritmo consiste en atender la petición que requiere el menor movimiento de la cabeza de
lectura/escritura desde su posición actual.

Pista a la que se 97 89 86 81 125 142 145 170 172


accede
Nº de pistas que 3 8 3 5 44 17 3 25 2 12.2
se atraviesan
Inconveniente: Se puede presentar el bloqueo indefinido. Si las peticiones de pista que se suceden están más próximas a
la actual, aquellas que se pidieron con anterioridad pueden quedar postergadas de manera indefinida.
SISTEMAS OPERATIVOS I Septiembre 2000- Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208 Tipo de Examen: A
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 Tiempo: 2 horas
INSTRUCCIONES: Complete TODOS los datos que se piden en la hoja de lectura óptica y ENTRÉGUELA
OBLIGATORIAMENTE junto con la hoja de examen de los 4 ejercicios. La puntuación del examen es la siguiente: el test vale 2
puntos y los ejercicios 8 puntos. Las respuestas correctas del test puntúan 0 .2 puntos y las respuestas erróneas del test descuentan 0.1.
El test es eliminatorio, debiendo obtener una calificación mínima de 1 punto para superarlo. NINGÚN MATERIAL PERMITIDO
Test: Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Se tienen 3 procesos: P1, P 2 y P3, con tiempos de ejecución: 85, 45 y 118 ms, respectivamente. Si actúa el planificador
a largo plazo según el algoritmo SJF (Short Job First) se obtiene que:
a) Los procesos se encuentran en la lista de preparados en el orden de llegada: P1, P 2 y P3.
b) Los procesos se encuentran en la lista de preparados en el orden: P2, P 1 y P3.
c) Los procesos se ejecutan en el orden de llegada: P2, P 1 y P3.
d) Los procesos se ejecutan según la prioridad que posean los procesos.
2.- Se tienen dos procesos: P1 y P2, de tiempos de ejecución 25 y 30 ms, respectivamente. El planificador a corto plazo
actúa según el algoritmo Round Robin con quanto de 10 ms. ¿Cuál será el tiempo de retorno o regreso de P1?
a) 45 ms.
b) 50 ms.
c) 65 ms.
d) 70 ms.
3.- Para lograr la exclusión mutua con semáforo binario de una sección crítica las operaciones de espera y señal se usan:
a) En dependencia del recurso que se comparta en la sección crítica.
b) Como procedimiento de bloqueo antes de acceder a la sección y como desbloqueo después, respectivamente.
c) Como procedimiento de desbloqueo antes de acceder a la sección y como bloqueo después, respectivamente.
d) Como procedimientos de bloqueo y desbloqueo respectivamente, pero se ejecutan en procesos diferentes.
4.- Al estado de interbloqueo se llega cuando se dan de manera simultanea las siguientes condiciones:
a) Exclusión mutua, retención y espera, existencia de expropiación y espera circular.
b) Sección crítica, retención y espera, existencia de expropiación y espera circular.
c) Exclusión mutua, retención y espera, no existencia de expropiación y espera circular.
d) Realmente basta con espera circular.
5.- En la tabla de segmentos se encuentra que el segmento 0 tiene una base de 219 y una longitud de 600. ¿A qué
dirección física se corresponde la dirección virtual (0, 430) dada en el formato (nº seg., desplazamiento dentro del seg.)?:
a) 219´0+430=430.
b) 219+430=649.
c) 219+430=649 > 600 Þ Error de direccionamiento.
d) Es necesario conocer el tamaño del marco.
6.- La memoria virtual corresponde a un esquema de gestión de memoria que:
a) No existe tal esquema de gestión.
b) Dispone de un dispositivo de copias de bloques de disco en memoria permitiendo eliminar los accesos repetitivos.
c) Crea una imagen de la memoria física de forma que parece que se tiene el doble de memoria.
d) Permite la ejecución de procesos parcialmente cargados en memoria.
7.- El mapa de bits para mantener el espacio libre en el disco ocupará:
a) Tantos bits como bloques tenga el disco.
b) Tantos bits como bloques libres tenga el disco.
c) Tantos bits como bloques tenga el disco multiplicado por el número de registros que tenga cada bloque.
d) El mapa de bits sólo se usa para la gestión de la memoria principal.
8.- Dentro de los mecanismos de protección y control de acceso de un sistema se encuentra:
a) El conjunto de trabajo.
b) La tabla de índices.
c) La lista enlazada
d) La lista de capacidades.
9.- El algoritmo SSTF (Shortest Service Time First) para peticiones pendientes de disco tiene el inconveniente de:
a) Los movimientos bruscos de vaivén a los que está sometido la cabeza de l/e.
b) El bloqueo indefinido o cierre de algunas peticiones.
c) El retraso en las peticiones que se corresponden con posiciones que están por detrás de la cabeza.
d) Las desventajas sobre peticiones intermedias frente a las localizadas en los cilindros más internos y externos.
10.- Para realizar un sistema escalable es mejor que en el multiprocesador, los procesadores estén conectados mediante:
a) Bus compartido.
b) Barras cruzadas.
c) Hipercubo.
d) Red de conmutación multiepetapa.
SISTEMAS OPERATIVOS I Septiembre 2000 – Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 2086
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 2092 Tiempo: 2 horas
NINGÚN TIPO DE MATERIAL PERMITIDO.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: Sistemas o Gestión
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.

1.- En un pabellón de deportes existen 10 pistas para jugar a baloncesto. Evidentemente, para jugar un encuentro se
precisa de un balón. Existe una caja donde están todos los balones. El delegado de campo coloca 8 balones en dicha caja.
A la hora de apertura del pabellón van llegando los equipos para jugar. Cuando dos quipos están de acuerdo en jugar
cogen un balón de la caja. Sincronizar, utilizando semáforos, los partidos a celebrarse.

program baloncesto;
var cesta: semaforo general;
process partido (i: integer);
begin
wait(cesta);
juega el partido;
signal(cesta);
end;

{process padre}
begin
init(cesta,8);
cobegin
for i=1 to N partido(i);
coend;
end;

Se utiliza un semáforo general inicializado a 8, numero máximo de recursos disponibles

2.- Demostrar que en un sistema de gestión de memoria virtual basada en demanda de página, el tiempo promedio de
acceso, tpa, es directamente proporcional a la probabilidad de que ocurra un fallo de página, p (0 £ p £ 1). Calcular dicho
tiempo promedio si el tiempo de acceso a memoria, am, es de 100 ns, el tiempo de resolución de un fallo de página, fp, es
de 1 ms y la probabilidad de que ocurra un fallo de página es del 1%.

tpa = (1 - p) ´ am + p ´ fp = am + ( fp - am) ´ p

Si el tiempo de acceso a memoria es de 100 nseg y el tiempo de resolución es de 1 mseg, entonces:

tpa = (1 - p) ´ 100ns + p ´ 1ms = (0,1 + 999,9 ´ p)ms

Si la probabilidad de que ocurra un fallo es del 1%, entonces es igual a p= 0,01, entonces:

tpa = (0,1 + 999,9 ´ 0,01)ms = 10,099ms


3.- Se tiene un disco formateado con 16 sectores de 1024 bytes por pista y una velocidad de rotación de 360 rpm. ¿Cuánto
tardará en leer, en su orden, todos los sectores de una pista suponiendo que la cabeza de lectura se encuentra en la pista
correcta y que hace falta media vuelta para que el sector 0 pase por debajo de la misma? ¿Cuál será la velocidad de lectura
de los datos?

1. Tiempo de búsqueda:
Si la cabeza de lectura se encuentra en la pista correcta Þ tiempo de búsqueda es nulo.
2. El retardo rotacional:
El tiempo medio en posicionarse el sector 0 en la cabeza de lectura, que corresponde a media revolución

tr = (0.5 ´ 60) / 360 = 0.08333s


El tiempo de transferencia:

b 16 ´ 1024 60
tt = = = = 0,1666 s
P ´ f 16 ´ 1024 ´ 360 / 60 360

el tiempo total de lectura será la suma:


0,1666 + 0.083333 = 0, 249999s = 0,25s
La velocidad de lectura será:
e 1024 ´ 16
Vlec = = = 98304 bytes/seg = 96 Kbytes/seg
t 0.1666

4.- Supóngase un sistema distribuido con tres procesos P1, P2 y P3 con marcas de tiempo 8, 3 y 5 respectivamente. Los procesos P1 y
P3 desean entrar en una sección crítica. Aplicar el algoritmo de las colas distribuidas, explicándolo, para determinar en que orden
entrarán en dicha sección crítica.

P1 P1
MT=8 MT=8

8 5
8

P3 P3
P2 MT=5 P2 MT=5
5

a) b)

P1
MT=8

P3
P2
MT=5

c)
Explicación: Páginas 393-395 del libreo de texto.
Aplicación: P1 envía mensaje de solicitud : solicita(P1,8,1) a los procesos P2 y P3.
P3 3 también envía un mensaje solicita (P3,5,3) a los otros dos procesos.
Cuando el proceso P2 recibe estos mensajes responde de inmediato, porque no desea entrar en la sección crítica.
Al llegar a P1 el mensaje de solicitud de P3 responde asimismo de forma inmediata, puesto que su marca de tiempo 8 es mayor que la
del mensaje que le llega 5.
Cuando P3 recibe el mensaje de solicitud de P1 difiere su respuesta, puesto que la marca de tiempo del mensaje es mayor que la suya.
Al recibir las respuestas de los procesos P1 y P2 (del resto de los procesos) P3 puede entrar en su sección crítica; al salir de ella envía
su respuesta a P1 (la que había diferido), el cual puede entonces entrar (al tener respuesta del resto de los procesos).
Curso 99-00
1ª Semana 2ª Semana Septiembre Reserva
(Tipo A) (Tipo A) (Tipo A) (Tipo A)
C C B B
A B A A
D A B B
A D C C
C B B A
B B D C
A A A A
C D D D
C C B D
D B C B

Curso 00-01
1ª Semana 2ª Semana Septiembre Reserva
(Tipo A) (Tipo A) (Tipo A) (Tipo A)
B B B C
D C D C
C D A B
B C D A
B A A D
A A C C
A A C B
B C A A
D C B B
A A C A
SISTEMAS OPERATIVOS I Mayo 2001
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208 Tipo de Examen: A
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 2 horas/Ningún material permitido
INSTRUCCIONES: Complete TODOS los datos que se piden en la hoja de lectura óptica y
OBLIGATORIAMENTE junto con la hoja de examen de los 4 ejercicios. La puntuación del examen es la siguiente: el test vale 2
puntos y los ejercicios 8 puntos. Las respuestas correctas del test puntúan 0.2 puntos y las respuestas erróneas del test descuentan 0.1
puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1 punto para superarlo.
Test: Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Se tienen 3 procesos: P1, P2 y P3, con tiempos de ejecución: 65, 45 y 120 ms, respectivamente. Si actúa el planificador
a corto plazo según el algoritmo SJF (Short Job First) se obtiene que:
a) Los procesos se encuentran en la lista de preparados en el orden: P2, P1 y P3.
b) Los procesos se ejecutan en el orden: P2, P1 y P3.
c) Los procesos se ejecutan en el orden de llegada al sistema: P1, P2 y P3.
d) Los procesos se ejecutan según la prioridad que posean los procesos.
2.- El algoritmo de Perterson corresponde a:
a) Una estrategia de sincronización de procesos.
b) Una método de ordenación de sucesos en un sistema distribuido.
c) Una política de sustitución de páginas al producirse un fallo de página.
d) Una solución al problema de la exclusión mutua.
3.- la espera activa corresponde a:
a) La acción de bloqueo que realiza un semáforo sobre un proceso.
b) El estado bloqueado de un proceso pero no retirado a memoria secundaria.
c) Cuando un proceso se mantiene chequeando una condición y, por lo tanto, consumiendo ciclos de CPU.
d) La espera que realiza la operación wait sobre una variable de condición en un monitor.
4.- Para lograr la exclusión mutua de una sección crítica donde se accede a un recurso compartido inicialmente disponible
a) El semáforo binario debe inicializarse a cero.
b) El semáforo binario debe inicializarse a uno.
c) La inicialización del semáforo binario depende del recurso que se comparta.
d) Los semáforos no sirven para lograr la exclusión mutua de las secciones críticas.
5.- Para una dirección lógica de 32 bits con el formato [número de pág. (22bits), desplazamiento de la pág.(10 bits)]:
a) El número de páginas totales es de 22 y el tamaño de la página es de 10 bytes.
b) El número de páginas totales es de 222 y el tamaño de la página de 210 bytes.
c) El número de páginas totales es de 232 pero el tamaño de la página depende del marco de página.
d) El número de páginas totales es de 222 pero el tamaño de la página depende del marco de página.
6.- Con el esquema de gestión de memoria mediante particiones fijas se produce:
a) Fragmentación interna.
b) Fragmentación externa.
c) Fragmentación de tablas.
d) No existe fragmentación.
7.- Dada la cola de peticiones de acceso a disco 81, 115, 86, 145, 89, 115, 3. Si la cabeza está situada en la pista 100 en

a) 89, 86, 81, 115, 145, 3.


b) 89, 86, 81, 3, 115, 145.
c) 81, 115, 86, 145, 89, 115, 3.
d) Dependerá del sentido de avance de la cabeza de lectura y escritura.
8.- La entrada especial para cada directorio “..”, (punto-punto), en los sistemas con directorios jerárquicos representa:
a) Una entrada para el propio directorio (con un puntero a si mismo).
b) Una entrada para el directorio padre (el que está por encima en la jerarquía).
c) Una entrada para el directorio hijo (el que está por debajo en la jerarquía).
d) Esta entrada sólo existe en los directorios de nivel único para simular diferentes niveles.
9.- El retardo rotacional depende de:
a) El número de bytes que se desean transmitir.
b) El número de bytes que hay en una pista.
c) Una constante que depende de la unidad de disco.
d) La velocidad de rotación en revoluciones/seg.
10.- El algoritmo de colas distribuidas:
a) Es un algoritmo para lograr la exclusión mutua en sistemas distribuidos.
b) Es un algoritmo para la prevención de interbloqueos en sistemas distribuidos.
c) Es un algoritmo para la detección de interbloqueos en sistemas distribuidos.
d) Es un algoritmo de ordenación de sucesos en sistemas distribuidos.
SISTEMAS OPERATIVOS I Mayo 2001 – Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.

1.- (2,5 puntos) En una tienda de mascotas están teniendo problemas para tener a todos sus hamsters felices. Los hamsters
comparten una jaula en la que hay un plato con comida y una rueda para hacer ejercicio. Todos los hamsters quieren
inicialmente comer del plato y, después, correr en la rueda. Pero se encuentran con el inconveniente de que sólo tres de
ellos pueden comer del plato al mismo tiempo y sólo uno puede correr en la rueda. Define un proceso que ejecuten los
hamsters concurrentemente de forma que sincronicen estas actividades usando semáforos.

module Hamsters_felices
var
semaphore: puedo_comer {general}
rueda {binario}

Process HamsterX;
begin
loop Process Padre;
begin begin
wait(puedo_comer); inicializa (puedo_comer=3);
comer(); inicializa (rueda=1);
signal(puedo_comer);
wait(rueda); cobegin
montar_en_rueda(); Hamsters;
signal(rueda); coend;
end; end;
end;

2.- (2 puntos) Se tiene un sistema que utiliza gestión de memoria por demanda de página. La tabla de páginas se mantiene
en registros. Si tiene lugar un fallo de página, para cargar la página que se solicita, son necesarios 8 milisegundos si una
página vacía está disponible o la página a reemplazar no ha sido modificada, y 20ms si la página a reemplazar ha sido
modificada. El tiempo de acceso a memoria es de 1 microsegundo. Asumiendo que el 70% de las veces la página a ser
reemplazada se ha modificado ¿Cuál es la razón de fallos de página aceptable para que el tiempo de acceso promedio no
sea más de 200 microsegundos ?

· Si no hay fallo de página: 1*(1-x)


· Si hay fallo de página pero la página no ha sido modificada: x*0.3*(8000+1)
· Si hay fallo de página y la página si ha sido modificada: x*0.7*(20000+1)

1*(1-x)+ x*0.3*(8000+1)+ x*0.7*(20000+1)<200


1-x+2400,3x+14000,7x<200
16400x<199

x<0,012
3.- (2 puntos) Dada la información de la tabla, completar el diagrama de Gantt de acuerdo con la actuación del planificador
a corto plazo según el algoritmo SRT (tener en cuenta que los procesos se sitúan en la cola de procesos preparados según
van llegando). Para ello marcar en cada cuadrante que proceso se está ejecutando en ese instante. Completar la tabla con
el tiempo de retorno y el tiempo de espera de cada proceso para este algoritmo.

Proceso Tiempo de llegada tiempo de ejecución


A 0 ms 10 ms
B 1 ms 2 ms
C 2 ms 3 ms
D 3 ms 1 ms
E 4 ms 5 ms

SRT

A B B D C C C E E E E E A A A A A A A A A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
t(ms)

Proceso Tiempo de retorno tiempo de espera


A 21-0=21ms 21-10=11ms
B 3-1=2ms 2-2=0ms
C 7-2=5ms 5-3=2ms
D 4-3=1ms 1-1=0ms
E 12-4=8ms 8-5=3ms

4.- (1,5 puntos) Explicar la técnica de la utilización de cachés de disco. Por qué se utiliza y los problemas que pueden
surgir en las peticiones de escritura al disco.
página 244
SISTEMAS OPERATIVOS I Junio 2001
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208 Tipo de Examen: A
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 2 horas/Ningún material permitido
INSTRUCCIONES: Complete TODOS los datos que se piden en la hoja de lectura óptica y
OBLIGATORIAMENTE junto con la hoja de examen de los 4 ejercicios. La puntuación del examen es la siguiente: el test vale 2
puntos y los ejercicios 8 puntos. Las respuestas correctas del test puntúan 0.2 puntos y las respuestas erróneas del test descuentan 0.1
puntos. El test es eliminatorio, debiendo obtener una calificación mínima de 1 punto para superarlo.
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Se tienen 3 procesos: P1, P2 y P3, con tiempos de ejecución: 65, 45 y 120 ms, respectivamente. Si actúa el planificador
a largo plazo según el algoritmo SJF (Short Job First) se obtiene que:
a) Los procesos se encuentran en la lista de preparados en el orden de llegada: P1, P2 y P3.
b) Los procesos se encuentran en la lista de preparados en el orden: P2, P1 y P3.
c) Los procesos se ejecutan en el orden de llegada: P2, P1 y P3.
d) Los procesos se ejecutan según la prioridad que posean los procesos.
2.- El análisis de un grafo de asignación de recursos sirve para:
a) La prevención de interbloqueos.
b) La evitación de interbloqueos.
c) La detección de interbloqueos.
d) La recuperación de interbloqueos.
3.- Si se usa un semáforo para lograr la sincronización de procesos:
a) Éste se debe inicializar al número de procesos que se desean sincronizar.
b) Se deben incluir variables de condición, pues el semáforo únicamente proporciona exclusión mutua.
c) Las operaciones wait y signal se utilizan dentro de un mismo proceso.
d) Las operaciones wait y signal se utilizan en procesos separados.
4.- La comunicación es asíncrona cuando el proceso que envía el mensaje:
a) Sólo prosigue su tarea cuando el mensaje ha sido recibido.
b) Sólo prosigue su ejecución cuando ha recibido una respuesta del receptor.
c) Sigue su ejecución sin preocuparse de si el mensaje se recibe o no.
d) Lo realiza de manera indirecta, es decir, a través de un buzón.
5.- Para una dirección lógica con el formato [número de segmento (2bits), número de página (16bits), desplazamiento de

a) El número de segmentos totales es de 22 y el tamaño máximo del segmento es de 224 bytes.


b) El número de páginas por segmento es de 218 y el tamaño de la página de 28 bytes.
c) El número de páginas por segmento es 216 pero el tamaño de la página depende del tamaño del segmento.
d) El número de páginas totales es de 218 pero el tamaño de la página depende del tamaño del segmento.
6.- Cuál de los siguientes no es un ejemplo de sistema de gestión de memoria virtual?
a) Partición dinámica.
b) Paginación.
c) Segmentación.
d) Paginación/segmentación.
7.- Cuándo tienen lugar muy pocos accesos a disco cualquier algoritmo de planificación de disco tiende a aproximarse a:
a) El algoritmo de planificación: FCFS
b) El algoritmo de planificación: SSTF
c) El algoritmo de planificación: SCAN
d) El algoritmo de planificación: C-SCAN
8.- El retardo rotacional corresponde a:
a) El tiempo que tarda el algoritmo de sustitución en seleccionar una página cuando se produce un fallo de página.
b) El tiempo que se tarda en la transferir los datos en un disco.
c) El tiempo medio que tarda el sector en estar debajo de la cabeza de lectura/escritura del disco.
d) El tiempo necesario para que las cabezas del disco se desplacen al cilindro adecuado.
9.- En Unix, el nodo-i (nodo índice) corresponde a una tabla:
a) Que cada proceso tiene asociado, con toda la información de los recursos que necesita y los que utiliza.
b) Que cada proceso tiene asociado, con toda la información que necesita el sistema para controlar su ejecución.
c) Que cada archivo tiene asociado, con los atributos y las direcciones de los bloques del archivo.
d) Con el conjunto de trabajo o conjunto de páginas utilizadas en un determinado momento por el proceso.
10.- Si A es un suceso del sistema M y B es un suceso del sistema N se dice que A precede a B si:
a) La marca de tiempo de A es menor que la de B.
b) La marca de tiempo de A es mayor que la de B.
c) Petición_de_testigo(A) > Petición_de_testigo(B).
d) El identificador M es mayor que el identificador N.
SISTEMAS OPERATIVOS I Junio 2001 – Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.

1.- (2,5 puntos Un ordenador es conectado a un servidor de tres impresoras idénticas. Este servidor se define mediante un
array llamado printers inicializado a -1 para indicar que las impresoras están libres, como se muestra a través de la
ejecución del procedimiento Inicializar_impresoras() dado en la solución. Un proceso que desea usar la impresora debe
ejecutar un procedimiento Obtener_impresora() y cuando finaliza debe ejecutar otro procedimiento llamado
Dejar_impresora(). Escribir el código de ambos procedimientos y definir los semáforos necesarios para que:
a) Se regule en uso de las impresoras de forma que un proceso deba esperar hasta que haya impresoras disponibles.
b) Se asigne al proceso solicitante la primera impresora libre. Para ello se cargará el identificador del proceso en la
posición del array correspondiente. Por ejemplo, si un proceso con identificador=10 quiere usar una impresora,
buscará la primera que esté libre. Si está es la última de las tres, entonces se ejecutará printers[2]=10.
Solución:

Inicializar_impresoras() Obtener_impresora(int ID_process) Dejar_impresora(int ID_process)


begin begin begin
int printers[3]; wait(impresora_libre); wait(mutex);
printers[0]=[1]=[2]=-1; wait(mutex); if printers[0]==ID_process then
end; if printers[0]==-1 then printers[0]=-1;
printers[0]= ID_process; else
else if printers[1]==ID_process then
Definición de semáforos if printers[1]==-1 then printers[1]=-1;
printers[1]= ID_process; else
semaphore: else if printers[2]==ID_process then
impresora_libre =3; {general} if printers[2]==-1 then printers[2]=-1;
mutex=1; {binario} printers[2]= ID_process; signal(mutex);
signal(mutex); signal(impresora_libre);
end; end;

2.- (2 puntos) Se tiene un sistema que utiliza gestión de memoria por demanda de página. Cada acceso a memoria principal
tarda 1 microsegundo. Las direcciones son traducidas a través de la tabla de páginas en memoria principal. Entonces, cada
referencia a memoria, que se solicita a través de la tabla, conlleva dos accesos. Para mejorar este tiempo hemos añadido
una memoria asociativa de forma que si la entrada a la tabla de páginas está en la memoria asociativa entonces la
referencia a memoria solicitada se reduce a un único acceso. Por otra parte, si tiene lugar un fallo de página el tiempo de
acceso a la página del disco así como su transferencia es de 20 milisegundos. Asumiendo que el 80% de los accesos es en
memoria asociativa y que de la parte restante el 10% causa fallos de página, ¿cuál es el tiempo de acceso promedio?

· En memoria asociativa: 0,8*1


· No en memoria asociativa y no fallo de página: 0,2*(0,9*(1+1)
· No en memoria asociativa y si fallo de página: 0,2*(0,1*(1+1+20000)
Total: 0,8+0,36+400,04 = 401,2 microsegundos
3.- (2 puntos) Dada la información de la tabla, completar el diagrama de Gantt de acuerdo con la actuación del planificador
a corto plazo según el algoritmo Round Robin con cuanto de 2ms. Para ello marcar en cada cuadrante que proceso se está
ejecutando en ese instante. Tener en cuenta que los procesos se sitúan en la cola de procesos preparados según van
llegando y que si un cuanto termina de ejecutarse a la vez que llega un nuevo proceso al sistema entonces el nuevo
proceso se localiza en la cola de procesos preparados antes del proceso cuyo cuanto ha expirado. Completar las tablas con
el tiempo de retorno y el tiempo de espera de cada proceso para este algoritmo.

Proceso Tiempo de llegada Tiempo de ejecución


A 0 ms 10 ms
B 1 ms 2 ms
C 2 ms 3 ms
D 3 ms 1 ms
E 4 ms 5 ms
RR

A A B B C C A A D E E C A A E E A A E A A
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
t(ms)

Proceso Tiempo de retorno Tiempo de espera


A 21-0=21ms 21-1=11ms
B 4-1=3ms 3-2=1ms
C 12-2=10ms 10-3=7ms
D 9-3=6ms 6-1=5ms
E 19-4=15ms 15-5=10ms

4.- (1,5 puntos) Explicar el método de Marcación de tiempo propuesto por Lamport (1978). ¿Por qué es necesario?
página 389
SISTEMAS OPERATIVOS I Septiembre 2001 - Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208 Tipo de Examen: A
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 Tiempo: 2 horas
INSTRUCCIONES: Complete TODOS los datos que se piden en la hoja de lectura óptica y ENTRÉGUELA
OBLIGATORIAMENTE junto con la hoja de examen de los 4 ejercicios. La puntuación del examen es la siguiente: el test vale 2
puntos y los ejercicios 8 puntos. Las respuestas correctas del test puntúan 0.2 puntos y las respuestas erróneas del test descuentan 0.1.
El test es eliminatorio, debiendo obtener una calificación mínima de 1 punto para superarlo. NINGÚN MATERIAL PERMITIDO
Test: Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Sean dos procesos: P1 con tiempo de ejecución de 20ms y P2 con 15ms. El planificador a corto plazo actúa según un
Round Robin con quanto de 10ms y tiempo de conmutación de tarea de 5ms. Marcar el tiempo de retorno (regreso) de P1.
a) 30ms.
b) 40ms.
c) 45ms.
d) 50ms.
2.- El planificador a medio plazo selecciona un proceso
a) De entre los recién llegados para pasar a la cola de preparados.
b) De entre los de la cola de preparados para pasar a ejecución.
c) De entre los suspendidos en memoria principal para pasar a la cola de preparados.
d) De entre los suspendidos en memoria secundaria para pasar a la cola de preparados.
3.- La operación de espera de un semáforo y de una variable de condición de un monitor se diferencian en:
a) que en el caso de la variable de condición siempre se suspende el proceso que la emite.
b) que en el caso de la variable de condición no se elimina la espera activa.
c) No existe diferencia pues en ambos casos sirve para lograr la exclusión mutua de la sección crítica.
d) No existe diferencia pues en ambos casos sirve como mecanismo para lograr la sincronización.
4.- Un semáforo general inicializado a N:
a) Corresponde a N semáforos binarios compartidos entre varios procesos.
b) Corresponde a un semáforo binario compartido entre N procesos.
c) Sirve para proteger a un recurso compartido entre N procesos.
d) Sirve para proteger a N recursos similares compartidos entre varios procesos.
5.- En un sistema con gestión de memoria de particiones fijas de tamaño 500Kb si se aloja un proceso de 450Kb:
a) Se produce una fragmentación interna de 50Kb.
b) Se produce una fragmentación externa de 50Kb.
c) Se crea una nueva partición libre de 50Kb.
d) Se crea una nueva partición libre de 550Kb, al unirse el resto de 50Kb con la adyacente libre de 500Kb.
6.- La tabla de páginas indica que la página 2 tiene asociado el marco de número 3. El tamaño de la página es de 1Kb.
¿Cuál es la dirección física para la dirección virtual (2, 326) dada en el formato (nº pag., desplazamiento en la pag.):
a) 3+326.
b) 1´1024+326.
c) 3´ ´ 1024+326.
d) Se necesita conocer el tamaño del marco.
7.- El método de listas enlazadas para la asignación del espacio en disco presenta el siguiente inconveniente:
a) Es necesario conocer el tamaño máximo de archivo en el momento de su creación.
b) La fragmentación externa resultante en el disco.
c) El acceso aleatorio a un archivo es extremadamente lento.
d) La pérdida de espacio debido a las tablas de índices.
8.- En la lectura de un archivo, el acceso secuencial se diferencia del acceso aleatorio en que se puede suponer que:
a) Una vez leída la primera pista, en las restantes el tiempo de búsqueda es despreciable.
b) Una vez leída la primera pista, en las restantes el retardo rotacional es despreciable.
c) Una vez leída la primera pista, en las restantes el tiempo de transferencia es despreciable.
d) No existe diferencia alguna debido al tipo de acceso.
9.- El algoritmo FIFO (First Come First Served) para peticiones pendientes de disco tiene el inconveniente de:
a) El bloqueo indefinido o cierre de algunas peticiones.
b) Los movimientos bruscos de vaivén a los que está sometida la cabeza de lectura/escritura.
c) El retraso en las peticiones que se corresponden con posiciones que están por detrás de la cabeza.
d) Las desventajas sobre peticiones intermedias frente a las localizadas en los cilindros más internos y externos.
10.- Un método para la prevención de interbloqueos en sistemas distribuidos es mediante:
a) El algoritmo de Colas distribuidas.
b) El algoritmo de Paso de testigo.
c) El algoritmo de Espera-muerte.
d) El algoritmo de Chandy.
SISTEMAS OPERATIVOS I Septiembre 2001 – Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.
1.- (3 puntos) Considérese las siguientes relaciones de precedencia entre procesos:
· P1 antes de P2 y P3
· P2 antes de P4 y P5
· P3 antes de P5
· P6 después de P3 y P4
donde Pi antes de Pj significa que la ejecución de Pi debe ser completada antes de que la ejecución de Pj comience y Pi
después de Pj, lo contrario.
Definir, inicializar y utilizar los necesarios en el cuerpo de cada proceso de forma que se fuerce a que se verifiquen las
relaciones de precedencia establecidas.

Process P1 Process P2 Process P3 Process P4 Process P5 Process P6


begin begin begin begin begin begin
wait(P12); wait(P13); wait(P24); wait(P25); wait(P36);
wait(P35); wait(P46);

codigoP1; codigoP2; codigoP3; codigoP4; codigoP5; codigoP6;

signal(P12); signal(P24); signal(P35); signal(P46);


signal(P13); signal(P25); signal(P36);
end; end; end; end; end; end;

Definición de semáforos:

Semaphore: P12, P13, P24, P25, P 35, P36, P46; {binary} (Initializate:=0)

Otra solución suponiendo cuatro semáforos binarios:

Process P1 Process P2 Process P3 Process P4 Process P5 Process P6


begin begin begin begin begin begin
wait(S1); wait(S1); wait(S2); wait(S2); wait(S3);
signal(S1) signal(S1) signal(S2) signal(S2); signal(S3);
wait(S3) wait(S4)
signal(S3) signal(S4)

codigoP1; codigoP2; codigoP3; codigoP4; codigoP5; codigoP6;

signal(S1); signal(S2); signal(S3); signal(S4);

end; end; end; end; end; end;

Definición de semáforos:

Semaphore: S1, S2, S3, S4; {binary} (Initializate:=0)

También se puede hacer con semáforos generales

2.- (2 puntos) Considera un programa que genera una secuencia de referencias a direcciones virtuales que corresponde a la
siguiente secuencia de referencias de páginas:
1, 2, 3, 4, 1, 2, 5, 6, 1, 3, 1, 2, 5
Mostrar como las páginas son alojadas en memoria física (colocando dichas páginas en los correspondientes cuadrantes
“Marco1”, “Marco2”, ...) e indicar donde tienen lugar los fallos de página (mediante una X en la casilla “Fallos de pág.”)
y el total de ellos, para los dos algoritmos siguientes. ¿Cuál es mejor? ¿Se puede mejorar el resultado?. Inicialmente se
dispone de 5 marcos vacíos.
a) LRU: Se sustituye la página que menos se ha usado recientemente.

Marco1 --- 1 2 3 4 1 2 5 6 1 3 1 2 5
Marco2 --- --- 1 2 3 4 1 2 5 6 1 3 1 2
Marco3 --- --- --- 1 2 3 4 1 2 5 6 6 3 1
Marco4 --- --- --- --- 1 2 3 4 1 2 5 5 6 3
Marco5 --- --- --- --- --- --- --- 3 4 4 2 2 5 6
Fallos de pág X X X X X X X 7

b) Óptimo: Se sustituye la página que tardará más en volverse a utilizar.

Marco1 --- 1 2 3 4 1 2 5 6 1 3 1 2 5
Marco2 --- --- 1 2 3 4 1 2 5 6 1 3 1 2
Marco3 --- --- --- 1 2 3 4 1 2 5 6 6 3 1
Marco4 --- --- --- --- 1 2 3 4 1 2 5 5 6 3
Marco5 --- --- --- --- --- --- --- 3 3 3 2 2 5 6
Fallos de pág X X X X X X 6

Razonamiento: Con el óptimo se obtiene mejor resultado que con el LRU, como era de esperar. No se pueden disminuir
más los fallos de página ya que se ha llegado al número mínimo pues coincide con el número de páginas diferentes que se
referencian.

3.- (3 puntos) Se dispone de un dispositivo de almacenamiento, de capacidad indeterminada, dividido en bloques de 2


Kbytes, siendo la dirección de3 cada bloques de 64 bits. A cada fichero almacenado en el dispositivo se encuentra
asociado un descriptor que contiene entre otras la información siguiente:
· Tipo de fichero (1byte): (0 si es directorio/1 si es de datos)
· Propietario (2bytes)
· Tamaño en bytes (4 bytes)
· 1 puntero directo: apunta a un bloque de datos
· 1 Puntero indirecto simple: apunta a un bloque de punteros directos
· 1 Puntero indirecto doble: apunta a un bloque de punteros indirectos simples
El dispositivo de almacenamiento presenta la siguiente estructura física:
· 1 bloque de arranque
· N bloques con el mapa de bits de todos los bloques del dispositivo
· 1 bloque con el mapa de bits de los descriptores de ficheros
· K bloques de descriptores
· D bloques ocupados por los ficheros
Indicar cuáles son las causas que pueden limitar el tamaño de un fichero y determinar según ellas, el tamaño máximo.

1. Valor máximo que puede soportar el campo tamaño del descriptor del fichero: 4bytes ⇒232 bytes
2. El número máximo de bloques de un fichero está determinado por el número de bloques a los que se puede tener
acceso a través de un descriptor de fichero:
a. Puntero directo: 1bloque
b. Puntero indirecto: (tamaño del bloque/tamaño del puntero):2Kbytes/8bytes=256 punteros⇒256 bloques
c. Puntero indirecto doble: 256 bloques de punteros, cada uno apuntado a 256
bloques⇒256*256=65536bloques
TOTAL= 1+256+65536=65793bloques*2Kbytes/bloque=131586 bytes
3. Para direccionar un bloque se utilizan punteros de 64 bits ⇒ se podrán direccionar 264 bloques
4. El tamaño del mapa de bloques en bit= N*2048*8, será el número máximo de bloques que puede tener el
dispositivo de almacenamiento. De éstos el número de bloques reservados para ficheros es:
D= N*2048*8-1-N-1-K
Curso 99-00
1ª Semana 2ª Semana Septiembre Reserva
(Tipo A) (Tipo A) (Tipo A) (Tipo A)
C C B B
A B A A
D A B B
A D C C
C B B A
B B D C
A A A A
C D D D
C C B D
D B C B

Curso 00-01
1ª Semana 2ª Semana Septiembre Reserva
(Tipo A) (Tipo A) (Tipo A) (Tipo A)
B B B C
D C D C
C D A B
B C D A
B A A D
A A C C
A A C B
B C A A
D C B B
A A C A
SISTEMAS OPERATIVOS I Mayo 2002
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.

1.- (3 puntos) Tres procesos, P1, P2 y P3 tienen prioridades de 1, 5 y 10, respectivamente (10 es prioridad más alta que 1).
Los procesos ejecutan el siguiente código:

Process P1 Process P2 Process P3


begin begin begin
<codigo_A> <codigo_A> <codigo_A>
wait(X); wait(Y); wait(X);
<seccioncritica_X> <seccióncritica_Y> <seccióncritica_X>
signal(X); signal(Y); signal(X);
<codigo_B> <codigo_B> <codigo_B>
end; end; end;

Los semáforos X e Y están inicializados a 1. El código_A necesita 2 ms de tiempo para ejecutarse, el codigo_B 4 ms y
las secciones criticas 6 ms. Las operaciones wait y signal son instantáneas y no consumen tiempo. P1 comienza a
ejecutarse a los 0 ms, P2 a los 4 ms y P3 a los 8 ms. Hay una única CPU y el algoritmo de planificación utilizado para
determinar que proceso se ejecuta en cada instante es el de prioridades expropiativo. Marcar en el diagrama siguiente en
cada instante de tiempo que parte de código (A si es código_A, B si es código_B, X si es seccióncritica _X y Y si es
seccióncritica _Y) se está ejecutando del proceso correspondiente. Calcular el rendimiento medio y el tiempo de retorno
de cada proceso:

ms:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
P1 A A X X X X X X B B B B
P2 A A Y Y Y Y Y Y B B B B
P3 A A X X X X X X B B B B

El rendimiento: Es una medida del número de procesos completados por unidad de tiempo.

Rendimiento = 3 procesos/36 s = 1/12 proceso/s

El tiempo de regreso o retorno: Es el intervalo de tiempo que transcurre desde que un proceso se crea o presenta hasta
que se completa por el sistema

P1: retorno1: 360 = 36 s


P2: retorno2: 184 = 14 s
P3: retorno3: 328 = 24 s

2.- (2 puntos) En un sistema con intercambio, se disponen de huecos libres de distintos tamaños en el siguiente
orden: 5 Mb, 2 Mb, 9 Mb, 3 Mb, 4 Mb, 7 Mb, 8 Mb, 6 Mb. Se requieren cuatro segmentos de tamaños 6 Mb,
4.5 Mb, 5 Mb, 2.8 Mb. Estudiar que huecos asignaran los algoritmos primero en ajustarse, mejor en ajustarse y
peor en ajustarse. Indicar cuál de ellos aprovecha mejor la memoria y explicar por qué.
Solución:
Primero en ajustarse Segmento Hueco asignado Fragmento
6 Mb 9 Mb 3 Mb
4.5 Mb 5 Mb 0.5 Mb
5 Mb 7 Mb 2 Mb
2.8 Mb 3 Mb 0.2 Mb
Mejor en ajustarse Segmento Hueco asignado Fragmento
6 Mb 6 Mb 0 Mb
4.5 Mb 5 Mb 0.5 Mb
5 Mb 7 Mb 2 Mb
2.8 Mb 3 Mb 0.2 Mb
Peor en ajustarse Segmento Hueco asignado Fragmento
6 Mb 9 Mb 3 Mb
4.5 Mb 8 Mb 3.5 Mb
5 Mb 7 Mb 2 Mb
2.8 Mb 6 Mb 3.2 Mb
Explicación:
Si las particiones libres dadas se corresponden a una gestión de memoria con particiones fijas se estará
hablando de fragmentación interna no utilizable por ningún otro proceso. En este caso el algoritmo que mejor aprovecha
la memoria es el mejor en ajustarse dado que produce menor fragmentación interna (2.7 Mb frente a 5.7 Mb del algoritmo
primero en ajustarse y 11.7 Mb del peor en ajustarse). Sin embargo, si las particiones libres dadas se corresponden con el
estado de la memoria en un instante dado de una gestión de memoria con particiones variables entonces se estará
hablando de fragmentación externa que en esta caso puede que no lo sea, dado que los nuevos bloques libres son lo
suficientemente grandes para alojar a otros procesos que vengan posteriormente. Por ejemplo en el algoritmo peor en
ajustarse el fragmento de 3 Mb puede servir para alojar al segmento de 2.8 Mb.

3.- (3 puntos) Un disco que posee 200 pistas (numeradas de 0 a 199) tiene la siguiente cola de peticiones de acceso:
81, 142, 86, 172, 89, 145, 97, 170, 125
La posición inicial de la cabeza de lectura/escritura está en la pista número 100.
a)¿Cuál es la longitud media de búsqueda para satisfacer estas solicitudes con el algoritmo de Planificación SSTF?
b) La planificación SSTF tiende a favorecer menos a los cilindros externos e internos que a los de la zona intermedia,
¿Por qué?.¿Existe algún algoritmo que favorezca lo contrario? Si es así, ¿Cuál? y ¿Por qué?.
Solución:
a) Definición Planificación SSTF: Este algoritmo consiste en atender la petición que requiere el menor movimiento de
la cabeza de lectura/escritura desde su posición actual.

Pista a la que se accede 97 89 86 81 125 142 145 170 172 Longitud media
Nº de pistas que se atraviesan 3 8 3 5 44 17 3 25 2 12,22

b)
La planificación SSTF consiste en atender la petición que requiere menor movimiento de la cabeza de lectura/escritura
desde su posición actual. La razón de que se favorezca más a los cilindros intermedios es porque en esta localización la
cabeza se puede mover en los dos sentidos, por lo tanto, será más probable encontrar la siguiente petición a la derecha o a
la izquierda de los intermedios de forma que continúe en la zona intermedia. Por otra parte, en los extremos, cilindros
internos y externos, sólo se tiene una posibilidad de movimiento, un único sentido, que les aleja de dichas zonas y
además, les conduce a las zonas intermedias.

El algoritmo Scan, si la cabeza ya ha pasado por la zona intermedia y se hace una petición ésta tendrá que esperar hasta
que la cabeza vaya y vuelva por el mismo recorrido de cilindros externos. Por lo que éstos se ven favorecidos. El C-Scan
evita éstos al reducir el recorrido en una dirección
SISTEMAS OPERATIVOS I Junio 2002
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.

1.- (3 puntos) Se tiene una jaula con ratoncillos y se ha diseñado un experimento científico de forma que para acceder a la
comida los ratoncillos deben pasar a la despensa cuya capacidad es para tres ratones. La despensa está rodeada de puertas.
Cada puerta tiene un botón fuera y otro dentro. Los ratones son entrenados para presionar los botones cuando quieran
entrar o salir y sólo un ratoncillo pasará a la despensa cuando las puertas se abran. Cuando los botones son presionados se
realizan las siguientes funciones:

/variables globales*/
type raton_in = integer;
var raton_in = 0;

raton_quiere_entrar(int boton) raton_quiere_salir(int boton)


begin begin
if raton_in<3 then raton_in:=raton_in1;
begin abrir_puerta(boton);
raton_in:=raton_in+1; end;
abrir_puerta(boton);
end
end;

Este código presenta algunos problemas. Determinarlos y rehacer el código de estos procedimientos usando semáforos de
forma que se resuelvan dichos problemas.
Solución:

 Los ratones deben presionar repetidamente los botones si ellos no están dentro.
Los problemas que presenta son:

 Si muchos ratones quieren entrar y salir a la vez la variable raton_in no será actualizada correctamente.

var espacio_libre: semaforo {semáforo general} {inicializado a 3}

raton_quiere_entrar(int boton) raton_quiere_salir(int boton)


begin begin
espera(espacio_libre); abrir_puerta(boton);
abrir_puerta(boton) señal(espacio_libre);
end; end;

2.- (2 puntos) Se dispone de un computador que utiliza el sistema de los asociados para la administración de la memoria.
Inicialmente se dispone de un bloque de 16 Mb, se solicitan los siguientes espacios: el proceso P1: 1Mb, el P2: 1.8 Mb, el
P3: 3.5 Mb, el P4: 1.3 Mb y el P5: 800 Kb. Después de solicitar estos espacios ¿cuál es la distribución de la memoria?
Solución:
P1 P1 P1 P1 P1
1 Mb 1 Mb 1 Mb 1 Mb P5
2 Mb P2 P2 P2 P2

4 Mb 4 Mb P3 P3 P3

16 Mb
P4 P4

2 Mb 2 Mb
8 Mb 8 Mb 8 Mb

4 Mb 4 Mb

3.- (3 puntos) En la figura se presentan los 15 primeros bloques de un dispositivo de almacenamiento secundario (disco)
que en total dispone de 30000 Kbytes. El método que se utiliza para la asignación de espacio en disco es el de
encadenamiento. Cada bloque tiene 512 bytes. En la figura también se representa un fichero llamado examen:
Directorio
0 1 2 3 14 4
Examen
Bloque de
5 6 7 12 8 9 comienzo: 7
3
Bloque de
10 11 12 5 13 14 -1 final: 14

a) Calcular el tamaño máximo (en bytes) de los datos almacenados en el fichero examen.
b) ¿Qué problema presenta el uso de este tipo de asignación de espacio?. ¿Qué método de asignación lo soluciona?.¿Varía
el tamaño máximo de los datos que pueden estar ahora almacenados? ¿Existe pérdida de espacio? Si es así, calcúlelo.

Solución:
a)El fichero examen ocupa cinco bloques: 7, 12, 5, 3, 14
En cada bloque hay que guardar un puntero que indica cual es el siguiente bloque. El espacio real para datos que se puede
almacenar en un bloque será 512 bytes menos los bytes que utilice el puntero.
Así vamos a calcular el tamaño del puntero, que dependerá del número de bloques a direccionar:
30000 Kbytes / 512bytes = 60000 bloques.
Para direccionar 60000 bloques, es necesario que los punteros sean al menos de 16 bits, es decir 2 bytes, por lo tanto, en

512 2 = 510 bytes


cada bloque se utilizarán:

510 u 5 = 2550 bytes


Por lo tanto, el tamaño máximo de los datos almacenados será:

b)El acceso aleatorio a archivos encadenados es lento, ya que la localización de un bloque determinado requiere el acceso
a todos los bloques intermedios en la cadena. Para solucionarlo usamos el método de asignación mediante indexación.
El directorio contiene la dirección del bloque donde están los índices a los bloques de datos del archivo. Con esta
organización todo el bloque está disponible para los datos. De esta forma el tamaño máximo de los datos que pueden estar

512 u 5 = 2560 bytes


ahora almacenados es:

bloque entero, como los índices son de 2 bytes, el bloque está ocupado por 5 índices u 2 bytes = 10 bytes. Por lo que en el
La asignación mediante indexación presenta sin embargo pérdida de espacio. Si a la tabla de índices se le asigna un

bloque está desaprovechado:


51210=502 bytes.
Curso 01-02
1ª Semana 2ª Semana Septiembre Reserva
(Tipo A) (Tipo A) (Tipo A) (Tipo A)
B B B
A C B
B B A
D C A
B D D
A B C
C A B
C C B
B D A
D C B
SISTEMAS OPERATIVOS I Tipo de Examen: A Mayo 2003 - Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Asignatura 208 INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Asignatura 209
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 2 puntos y los ejercicios 8 puntos. Las respuestas correctas del test puntúan 0.2
puntos y las respuestas erróneas del test descuentan 0.1. El test es eliminatorio, debiendo obtener una calificación mínima de 1
punto para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- El planificador a corto plazo según el algoritmo SJF (primera tarea más corta) es el mejor en
a) Minimizar el tiempo de espera.
b) Minimizar el rendimiento del sistema.
c) Maximizar la eficacia o tiempo medio de utilización de CPU.
d) Maximizar el uso de la memoria física.
2.- ¿Qué algoritmo es equivalente al Round Robin (Prioridad Circular)?:
a) FCFS si el cuanto es suficientemente grande.
b) Prioridades si el cuanto es suficientemente grande.
c) SJF si el cuanto es suficientemente grande.
d) Ninguna de las anteriores.
3.- En los instantes 2 y 4 llegan los procesos P1 y P2, respectivamente y en el instante 12 acaba P1 y en el 18, P2:
a) El tiempo de retorno medio es de 15 segundos.
b) El tiempo de retorno medio es de 13 segundos.
c) El tiempo de retorno medio es de 12 segundos.
d) No se puede calcular con estos datos.
4.- Para lograr la ejecución de manera exclusiva de una sección crítica es necesario definir:
a) Una variable de condición si lo que se utiliza es un monitor.
b) Un semáforo inicializado a cero.
c) Un semáforo inicializado a uno.
d) Con sólo dos procesos es imposible el interbloqueo por lo que no hace falta definir nada.
5.- En un sistema operativo multitarea, con 8 Kb de espacio lógico de procesos, con páginas de 1 Kb y 32 Kb de memoria
física, sin memoria virtual. La dirección lógica está formada por:
a) 3 bits para indicar la página y 10 bits para el desplazamiento.
b) 5 bits para indicar la página y 10 bits para el desplazamiento.
c) 5 bits para indicar la página y 8 bits para el desplazamiento.
d) No tiene sentido que el espacio lógico del proceso sea menor que el espacio físico si no se dispone de un sistema
de memoria virtual.
6.- La anomalía de Belady la sufren
a) Los algoritmos de reemplazo FIFO.
b) Los algoritmos de reemplazo óptimos.
c) Los algoritmos de reemplazo LRU.
d) Ningún algoritmo de reemplazo.
7.- El algoritmo de reemplazo de memoria virtual que provoca menos fallos de página es:
a) El FIFO.
b) El LRU.
c) El algoritmo de la segunda oportunidad.
d) El algoritmo que utiliza un bit de referencia mas un bit de modificado.
8.- ¿Cuál de los siguientes tiempos es el que mejora una caché de disco?:
a) El tiempo de posicionamiento.
b) El tiempo de latencia.
c) El tiempo de acceso al disco.
d) Cada uno de los anteriores.
9.- En el caso de un acceso secuencial a varios bloques de datos de un archivo:
a) Es mas eficiente si se utiliza una asignación contigua de los bloques de datos.
b) Es mas eficiente si se utiliza un sistema de indexación.
c) Es mas eficiente si se utiliza listas enlazadas.
d) La eficiencia depende de la capacidad del disco y de la cantidad de memoria del sistema.
10.- El algoritmo de colas distribuidas:
a) Es un algoritmo para lograr la exclusión mutua en sistemas distribuidos.
b) Es un algoritmo para la prevención de interbloqueos en sistemas distribuidos.
c) Es un algoritmo para la detección de interbloqueos en sistemas distribuidos.
d) Es un algoritmo de ordenación de sucesos en sistemas distribuidos.
SISTEMAS OPERATIVOS I Mayo 2003
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.

1.- (3 puntos) Una estación de metereología predice automáticamente el tiempo en base a la medida de un aparato. En el
aparato de medida está corriendo un proceso que realiza determinadas observaciones que va colocando en un buffer.
Existe otro proceso que toma cada una de estas observaciones del buffer común, realiza algunos cálculos y predice el
tiempo. Los dos procesos comienzan a ejecutarse a la vez y de forma concurrente. Utilizar semáforos para la solución de
dicho problema y realizar la gestión del buffer de forma circular.
Solución:

2.- (2 puntos) Para la siguiente cadena de referencia de páginas:


1 0 2 5 1 3 4 5 0 1 2 3 0 5 4
suponiendo que se dispone inicialmente de 5 marcos de páginas vacíos.
a) Calcular cuántos fallos de página se producen e ilustrar como se producen las sustituciones de página cuando se
utiliza un algoritmo de sustitución FIFO.
b) Ídem cuando el algoritmo de sustitución que se utiliza es el de la segunda oportunidad.
Solución:
a)

b)

3.- (3 puntos) En la figura se representa los primeros 16 bloques de un disco en el que se utiliza el método de asignación
de espacio en disco mediante listas enlazadas. Los bloques corresponden a un sector del disco con tamaño de 4 Kb. La
capacidad del disco es de 1Gb.
a) Calcular el tamaño máximo de los datos almacenados en el archivo fichero.
b) ¿Es posible el acceso directo a los archivos de este sistema?¿es rentable con esta organización de disponer de este
servicio?
0 1 2 3

fichero

4 5 6 7
Inicio=11
Final=12
8 9 10 11

12 13 14 15

Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: A Mayo 2003 - Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Asignatura 208 INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Asignatura 209
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 2 puntos y los ejercicios 8 puntos. Las respuestas correctas del test puntúan 0.2
puntos y las respuestas erróneas del test descuentan 0.1. El test es eliminatorio, debiendo obtener una calificación mínima de 1
punto para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- El planificador a corto plazo según el algoritmo SJF (primera tarea más corta) es el mejor en
a) Minimizar el tiempo de espera
b) Minimizar el rendimiento del sistema
c) Maximizar la eficacia o tiempo medio de utilización de CPU
d) Maximizar el uso de la memoria física.
2.- Que algoritmo es equivalente al Round Robin (Prioridad Circular):
a) FCFS si el cuanto es suficientemente grande.
b) Prioridades si el cuanto es suficientemente grande.
c) SJF si el cuanto es suficientemente grande.
d) Ninguna de las anteriores.
3.- En los instantes 2 y 4 llegan los procesos P1 y P2, respectivamente y en el instante 12 acaba P1 y en el 18, P2:
a) El tiempo de retorno medio es de 15 segundos.
b) El tiempo de retorno medio es de 13 segundos.
c) El tiempo de retorno medio es de 12 segundos.
d) No se puede calcular con estos datos.
4.- Para lograr la ejecución de manera exclusiva de una sección crítica es necesario definir:
a) Una variable de condición si lo que se utiliza es un monitor.
b) Un semáforo inicializado a cero.
c) Un semáforo inicializado a uno.
d) Con sólo dos procesos es imposible el interbloqueo por lo que no hace falta definir nada.
5.- En un sistema operativo multitarea, con 8Kb de espacio lógico de procesos, con páginas de 1Kb y 32 Kb de memoria
física, sin memoria virtual. La dirección lógica está formada por:
a) 3 bits para indicar la página y 10 bits para el desplazamiento
b) 5 bits para indicar la página y 10 bits para el desplazamiento
c) 5 bits para indicar la página y 8 bits para el desplazamiento
d) No tiene sentido que el espacio lógico del proceso sea menor que el espacio físico si no se dispone de un sistema
de memoria virtual
6.- La anomalía de Belady la sufren
a) los algoritmos de reemplazo FIFO
b) los algoritmos de reemplazo óptimos
c) los algoritmos de reemplazo LRU
d) ningún algoritmo de reemplazo.
7.- El algoritmo de reemplazo de memoria virtual que provoca menos fallos de página es:
a) el FIFO
b) el LRU
c) el algoritmo de la segunda oportunidad
d) el algoritmo que utiliza un bit de referencia mas un bit de modificado.
8.- Cual de los siguientes tiempos es el que mejora una caché de disco:
a) el tiempo de posicionamiento
b) el tiempo de latencia
c) el tiempo de acceso al disco
d) cada uno de los anteriores
9.- En el caso de un acceso secuencial a varios bloques de datos de un archivo:
a) es mas eficiente si se utiliza una asignación contigua de los bloques de datos
b) es mas eficiente si se utiliza un sistema de indexación
c) es mas eficiente si se utiliza listas enlazadas
d) la eficiencia depende de la capacidad del disco y de la cantidad de memoria del sistema
10.- El algoritmo de colas distribuidas:
a) Es un algoritmo para lograr la exclusión mutua en sistemas distribuidos.
b) Es un algoritmo para la prevención de interbloqueos en sistemas distribuidos.
c) Es un algoritmo para la detección de interbloqueos en sistemas distribuidos.
d) Es un algoritmo de ordenación de sucesos en sistemas distribuidos.
SISTEMAS OPERATIVOS I Mayo 2003
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.

1.- (3 puntos) Una estación de metereología predice automáticamente el tiempo en base a la medida de un aparato. El
aparato de medida está corriendo en un proceso que realiza determinadas observaciones que va colocando en un buffer.
Existe otro proceso que toma cada una de estas observaciones del buffer común, realiza algunos cálculos y predice el
tiempo. Los dos procesos comienzan a ejecutarse a la vez y de forma concurrente. Utilizar semáforos para la solución de
dicho problema y realizar la gestión del buffer de forma circular.
Solución:
Program/module Estación de meteorología;
Const Max_tamaño 10
Var
buffer: array[1..Max_tamaño] of observacion;
exmut: semaforo;{semáforo binario}
semquitar, semponer: semaforo; {semáforo general}

Process observacion
begin
espera(semponer)
resultado=realiza_observacion();
espera(exmut);
deja_observación(resultado, ent);
ent=(ent mod Max_tamaño)+1;
señal(exmut);
señal(semquitar);
end;

Process Calculo
begin
espera(semquitar);
espera(exmut);
resultados=coge_observacion(sal);
sal=(sal mod Max_tamaño)+1;
señal(exmut);
señal(semponer);
calcula_prediccion(resultados);
end;

{proceso padre}
inicializar(exmut,1);
inicializar(semponer, Max_tamaño);
inicializar(semquitar, 0);
ent:=sal:=1;
cobegin
Calculo, Observacion;
coend;

2.- (2 puntos) Para la siguiente cadena de referencia de páginas:


1 0 2 5 1 3 4 5 0 1 2 3 0 5 4
suponiendo que se dispone inicialmente de 5 marcos de páginas vacíos.
a) calcular cuantos fallos de página se producen e ilustrar como se producen las sustituciones de página cuando se
utiliza un algoritmo de sustitución FIFO.
b) Ídem cuando el algoritmo de sustitución que se utiliza es el de la segunda oportunidad.
Solución:
a)
1 0 2 5 5 3 4 4 4 1 1 1 0 0 0
X 1 0 2 2 5 3 3 3 4 4 4 1 1 1
X X 1 0 0 2 5 5 5 3 3 3 4 4 4
X X X 1 1 0 2 2 2 5 5 5 3 3 3
X X X X X 1 0 0 0 2 2 2 5 5 5
F F F F F F F F

En el esquema anterior se ve como se producen los fallos de página y las correspondientes sustituciones.

En concreto se han producido 8 fallos de página.


b)
1 0 2 5 5/0 3 4 4 0 0 2 3 3 3 4
X 1 0 2 2/0 5 1/0 1 4 4 5/0 1/0 1 1 5
X X 1 0 0/0 2 3 3 1 1/1 0 2 2 2 0
X X X 1 1/1 0 5 5/1 3 3 4 5 5 5/1 3
X X X X X 1/1 2 2 5/1 5/1 1/1 0 0/1 0/1 1
F F F F F F F F F F
Se ha puesto página/bit de referencia. Se producen 10 fallos de página.
Hay que tener en cuenta que ahora se sustituye aquel que no tiene su bit de referencia a 1, si le toca a este, se pone al final
de la cola y su bit de referencia se pone a 0.

3.- (3 puntos) En la figura se representa los primeros 16 bloques de un disco en el que se utiliza el método de asignación
de espacio en disco mediante listas enlazadas. Los bloques corresponden a un sector del disco con tamaño de 4 Kb. La
capacidad del disco es de 1Gb.
a) Calcular el tamaño máximo de los datos almacenados en el archivo fichero.
b) ¿Es posible el acceso directo a los archivos de este sistema?¿es rentable con esta organización de disponer de este
servicio?
0 1 2 3

fichero

4 5 6 7
Inicio=11

Final=12
8 9 10 11

12 13 14 15

Solución:

Hay que calcular inicialmente el tamaño de los punteros:


Capacidd: 1Gb=1024 Mb
Bloques=4 Kb
Nº bloques físicos= (1024*1024*1024)bytes/4*1024bytes= 262.144

Que corresponde justamente a 18 bits necesarios para direccionar 262.144 bloques.


Es decir 3 bytes.

En cada bloque hay 4096-3 =4093 bytes disponibles.


El archivo ocupa 8 bloques, luego la capacidad máxima será de: 4093*8 = 32744 bytes

b) Los archivos encadenados son adecuados para el acceso secuencial ya que cada bloque que está siendo procesado
contiene la dirección del siguiente bloque en línea. Por otro lado el acceso directo a archivos encadenados sería lento, ya
que la localización de un bloque determinado requiere el acceso a todos los bloques intermedios en la cadena. No será
rentable.
SISTEMAS OPERATIVOS I Tipo de Examen: A Junio 2003 - Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Asignatura 208 INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Asignatura 209
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 2 puntos y los ejercicios 8 puntos. Las respuestas correctas del test puntúan 0.2
puntos y las respuestas erróneas del test descuentan 0.1. El test es eliminatorio, debiendo obtener una calificación mínima de 1
punto para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- El planificador a corto plazo que nunca provocará inanición entre los procesos es
a) SJF (primero la tarea más corta).
b) Round Robin (Prioridad circular).
c) Planificación por prioridades.
d) Ninguna de las anteriores.
2.- Un proceso que está en estado preparado
a) Puede ser elegido por el planificador a largo plazo para ser ejecutado.
b) Le falta memoria para ser ejecutado.
c) Está pendiente de realizar una operación de Entrada/salida.
d) Tiene el código que ha de ejecutarse cargado en memoria.
3.- ¿Para qué algoritmo de planificación no tiene sentido aplicar la expropiación?:
a) FCFS.
b) Prioridades.
c) SJF.
d) Ninguno de los anteriores.
4.- La ventaja en el uso de los monitores frente a los semáforos es que:
a) No se produce espera activa.
b) No se produce interbloqueo.
c) La sincronización está implícita, basta con invocar el procedimiento del monitor.
d) La exclusión mutua está implícita, basta con invocar el procedimiento del monitor.
5.- Con una política de asignación contigua del espacio de los procesos y comparticiones fijas:
a) Tiene mas fragmentación interna que en una política de particiones variables.
b) Todas las particiones tendrán siempre el mismo grado de ocupación.
c) Se necesita implementar un mecanismo de compactación para tener un sistema eficiente.
d) Únicamente se podrá implementar si se tiene reubicación dinámica.
6.- En un sistema operativo multitarea con 1 Mb de memoria virtual, 16 Kb de espacio lógico de los procesos, páginas de
512 bytes y 32 Kb de memoria física, la dirección física está formada por:
a) 11 bits para indicar el marco y 9 para el desplazamiento.
b) 6 bits para indicar el marco y 9 para el desplazamiento.
c) 5 bits para indicar el marco y 9 para el desplazamiento.
d) 6 bits para indicar el marco y 5 para el desplazamiento.
7.- En un sistema de gestión de memoria paginada, la gestión de la memoria libre provoca que los procesos tengan:
a) Fragmentación interna únicamente si la gestión se realiza mediante mapa de bits.
b) Fragmentación interna únicamente si la gestión se realiza mediante listas enlazadas.
c) Fragmentación interna independientemente de cómo se realice la gestión.
d) Fragmentación externa independiente de cómo se realice la gestión.
8.- El tiempo que tarda el cabezal de un disco en situarse sobre la pista solicitada es el:
a) Tiempo de posicionamiento o tiempo de búsqueda.
b) El tiempo de latencia o retardo rotacional.
c) El tiempo de transferencia.
d) Todos los anteriores.
9.- Si un sistema de nodos-i tiene 2 punteros directos de 2 bytes cada puntero y 1 puntero indirecto con un bloque de datos
de 1Kb:
a) Se podrán tener ficheros con un máximo de 514 Kb de longitud.
b) Se podrán tener ficheros con un máximo de 1026 Kb de longitud.
c) Se podrán tener ficheros con un máximo de 4 Kb de longitud.
d) No se puede saber la medida máxima del fichero con estos datos.
10.- Un método para la prevención de interbloqueos en sistemas distribuidos es mediante:
a) El algoritmo de Colas distribuidas.
b) El algoritmo de Paso de testigo.
c) El algoritmo de Espera-muerte.
d) El algoritmo de Chandy.
SISTEMAS OPERATIVOS I Junio 2003
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.

x BuscaPrimos que calcula el número primo con la función esPrimo(valor_del_número_primo) y lo mete a un buzón.
1.- (3 puntos) Se quiere escribir los números primos del 1 al 1000 en números romanos. Para ello se tienen dos procesos:

x EscribePrimos que toma el número primo del buzón y lo imprime con la función
escribeRomano(valor_del_número_primo).
Resolver este problema de forma que se permita la ejecución concurrente de ambos procesos utilizando mensajes con
buzones de capacidad ilimitada. Tener en cuenta un centinela para decirle al proceso EscribePrimos cuándo debe
terminar.
Solución:

2.- (2 puntos) Se dispone de un sistema operativo con gestión de memoria virtual por demanda de páginas. Un programa
que ocupa 9 páginas se carga para su ejecución. Inicialmente se cargan las páginas 0 y 5 en los marcos 9 y 3
respectivamente.
a) Dibujar la tabla de páginas para esta situación y la parte de la memoria principal correspondiente.
b) Si la asignación se hace con cuatro marcos de página, con prepaginación de una página. Calcular los fallos de
páginas que se producen con los algoritmos LRU y de la segunda oportunidad para la siguiente cadena de
referencia.
7 5 6 1 0 8 3 4 3 3 1 2 8 6 2 3 5 3 4
Solución:
3.- (3 puntos) En un sistema operativo se dispone de una estructura de nodos-i para la gestión de los archivos. Los bloques
son de 2Kb, las entradas de los nodos-i dedican 10 bytes para indicar el tamaño de los archivos y 8 bytes a los punteros a
los bloques. El nodo-i tiene 16 entradas de direccionamiento directo, una de direccionamiento indirecto simple y otra de
direccionamiento indirecto doble. La tabla de archivos abiertos tiene una entrada para cada archivo abierto con un campo
de 10 bytes que indica el desplazamiento.
a) Calcular el tamaño máximo de un archivo que utiliza toda la capacidad del disco
b) ¿Se modificaría el tamaño si el puntero a los bloques fuera sólo de 4Kb?¿Por qué?
Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: A Junio 2003 - Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Asignatura 208 INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Asignatura 209
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 2 puntos y los ejercicios 8 puntos. Las respuestas correctas del test puntúan 0.2
puntos y las respuestas erróneas del test descuentan 0.1. El test es eliminatorio, debiendo obtener una calificación mínima de 1
punto para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- El planificador a corto plazo que nunca provocará inanición entre los procesos es
a) SJF (primero la tarea más corta).
b) Round Robin (Prioridad circular).
c) Planificación por prioridades.
d) Ninguna de las anteriores.
2.- Un proceso que está en estado preparado
a) Puede ser elegido por el planificador a largo plazo para ser ejecutado.
b) Le falta memoria para ser ejecutado.
c) Está pendiente de realizar una operación de Entrada/salida.
d) Tiene el código que ha de ejecutarse cargado en memoria.
3.- Para que algoritmo de planificación no tiene sentido aplicar la expropiación:
a) FCFS.
b) Prioridades.
c) SJF.
d) Ninguno de los anteriores.
4.- La ventaja en el uso de los monitores frente a los semáforos es que:
a) No se produce espera activa.
b) No se produce interbloqueo.
c) La sincronización está implícita, basta con invocar el procedimiento del monitor.
d) La exclusión mutua está implícita, basta con invocar el procedimiento del monitor.
5.- Con una política de asignación contigua del espacio de los procesos y comparticiones fijas:
a) Tiene mas fragmentación interna que en una política de pariciones variables
b) Todas las particiones tendrán siempre el mismo grado de ocupación
c) Se necesita implementar un mecanismo de compactación para tener un sistema eficiente
d) Únicamente se podrá implementar si se tiene reubicación dinámica
6.- En un sistema operativo multitarea con 1Mb de memoria virtual, 16 Kb de espacio lógico de los procesos, páginas de
512 bytes y 32 Kb de memoria física, la dirección física está formada por:
a) 11 bits para indicar el marco y 9 para el desplazamiento
b) 6 bits para indicar el marco y 9 para el desplazamiento
c) 5 bits para indicar el marco y 9 para el desplazamiento
d) 6 bits para indicar el marco y 5 para el desplazamiento
7.- En un sistema de gestión de memoria paginada, la gestión de la memoria libre provoca que los procesos tengan:
a) fragmentación interna únicamente si la gestión se realiza mediante mapa de bits
b) fragmentación interna únicamente si la gestión se realiza mediante listas enlazadas
c) fragmentación interna independientemente de cómo se realice la gestión
d) fragmentación externa independiente de cómo se realice la gestión
8.- El tiempo que tarda el cabezal de un disco en situarse sobre la pista solicitada es el:
a) tiempo de posicionamiento
b) el tiempo de latencia
c) el tiempo de transferencia
d) todos los anteriores
9.- Si un sistema de nodos-i tiene 2 punteros directos de 2 bytes cada puntero y 1 puntero indirecto con un bloque de datos
de 1Kb:
a) se podrán tener ficheros con un máximo de 514 Kb de longitud
b) se podrán tener ficheros con un máximo de 1026 Kb de longitud
c) se podrán tener ficheros con un máximo de 4 Kb de longitud
d) no se puede saber la medida máxima del fichero con estos datos
10.- Un método para la prevención de interbloqueos en sistemas distribuidos es mediante:
a) El algoritmo de Colas distribuidas.
b) El algoritmo de Paso de testigo.
c) El algoritmo de Espera-muerte.
d) El algoritmo de Chandy.
SISTEMAS OPERATIVOS I Junio 2003
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.

x BuscaPrimos que calcula el número primo con la función esPrimo(valor_del_número_primo) y lo mete a un buzón.
1.- (3 puntos) Se quiere escribir los números primos del 1 al 1000 en números romanos. Para ello se tienen dos procesos:

x EscribePrimos que toma el número primo del buzón y lo imprime con la función
escribeRomano(valor_del_número_primo).
Resolver este problema de forma que se permita la ejecución concurrente de ambos procesos utilizando mensajes con
buzones de capacidad ilimitada. Tener en cuenta un centinela para decirle al proceso EscribePrimos cuándo debe
terminar.
Solución:

Program/module Primos_en_Romano;
Type mensaje= .../*definición del tipo de datos del mensaje*/

Process BuscaPrimos
Var i : mensaje;
begin
For i:=1 to 1000 do
if esPrimo(i) then
send(i, buzon);
send(0, buzon); /*centinela para indicar que ya no se va a enviar más*/
end;

Process EscribePrimos
Var i : mensaje;
begin
receive(i, buzon);
while i<>0 do
begin
escribeRomano(i);
receive(i, buzon);
end;
end;

{proceso padre}
crear_buzon(buzon);

cobegin
Buscaprimos, Escribeprimos;
coend;

2.- (2 puntos) Se dispone de un sistema operativo con gestión de memoria virtual por demanda de páginas. Un programa
que ocupa 9 páginas se carga para su ejecución. Inicialmente se cargan las páginas 0 y 5 en los marcos 9 y 3
respectivamente.
a) dibujar la tabla de páginas para esta situación y la parte de la memoria principal correspondiente.
b) Si la asignación se hace con cuatro marcos de página, con prepaginación de una página. Calcular los fallos de
páginas que se producen con los algoritmos LRU y de la segunda oportunidad para la siguiente cadena de
referencia.
7 5 6 1 0 8 3 4 3 3 1 2 8 6 2 3 5 3 4
Solución:
a)
Nº de página Marco de página Bit presente/ausente
0 9 1
1 X 0
2 X 0
3 X 0
4 X 0
5 3 1
6 X 0
7 X 0
8 X 0

b) Hay que considerar la prepaginación de una página que dice el enunciado


LRU:
7 5 6 1 0 8 3 4 3 3 1 2 8 6 2 3 5 3 4
X 7 5 6 1 0 8 3 4 4 3 1 2 8 6 2 3 5 3
X X 7 5 6 1 0 8 8 8 4 3 1 2 8 6 2 2 5
X x X 7 5 6 1 0 0 0 8 4 3 1 1 8 6 6 2
F F F F F F F F F F F F F F

Segunda oportunidad
7 5 6 1 0 8 3 4 4 4 1 2 8 6 6 6 5 5 4
X 7 5 6 1 0 8 3 3/1 3/1 4 1 3/0 8 8 8 3/0 3/1 5
X X 7 5 6 1 0 8 8 8 3/1 4 2 3 3 3/1 2/0 2 3/1
X X X 7 5 6 1 0 0 0 8 3/1 1 2 2/1 2/1 6 6 2
F F F F F F F F F F F F F

3.- (3 puntos) En un sistema operativo se dispone de una estructura de nodos-i para la gestión de los archivos. Los bloques
son de 2Kb, las entradas de los nodos-i dedican 10 bytes para indicar el tamaño de los archivos y 8 bytes a los punteros a
los bloques. El nodo-i tiene 16 entradas de direccionamiento directo, una de direccionamiento indirecto simple y otra de
direccionamiento indirecto doble. La tabla de archivos abiertos tiene una entrada para cada archivo abierto conuncampo
de 10 bytes que indican el desplazamiento
a) Calcular el tamaño máximo de un archivo que utiliza toda la capacidad del disco
b) ¿Se modificaría el tamaño si el puntero a los bloques fuera sólo de 4Kb?¿Por qué?
Solución:

a)
-> Tamaño máximo según la estructura del sistema de archivos, número máximo de bloques asignados a un archivo en su
nodo-i (en bloques):
El tamaño de un bloque es de 2Kb=2048 bytes.
El tamaño de un puntero a bloques es de 8 bytes.
El nº de punteros que caben en un bloque de punteros es de: 2048/8=256 punteros.
Bloques directos: 16 bloques.
Indirecto simple: 2048/8= 256 bloques .
Indirecto doble: 256*256= 65536 bloques.
Total: 65808
-> teniendo en cuenta el campo de tamaño de archivo en el nodo-i: 10 bytes: 80 bits
El tamaño máximo de un fichero será de 280, en bloques 280/211= 269bloques
-> teniendo en cuenta el campo de desplazamiento en la tabla de archivos abierta: 10 bytes: 80 bits
Será de 280, en bloques 280/211= 269bloques
-> según el tamaño de un puntero:
un puntero está dado con 8 bytes=64 bits.
Luego el numero máximo de bloques que puede direccionar es de: 264
Luego el tamaño viene marcado por la primera opción: 65808 bloques= 131616Kb

b) Un puntero de ese tamaño no entra en un bloque, luego no se podría dar esta situación.
SISTEMAS OPERATIVOS I Tipo de Examen: A Septiembre 2003 - Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Asignatura 208 INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Asignatura 209
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA. Cualquier examen que no venga
acompañado de esta hoja de enunciados no será corregido. Complete TODOS los datos que se piden en la hoja de lectura óptica o en
caso contrario su examen no será corregido. La puntuación del examen es: 2 puntos el test y 8 puntos los ejercicios. Las respuestas
correctas del test puntúan 0.2 puntos y las erróneas descuentan 0.1. El test es eliminatorio, debiendo obtener una calificación mínima de
1 punto para superarlo. NINGÚN MATERIAL PERMITIDO, excepto calculadora no programable. Tiempo (test+ejercicios): 2 horas.
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- ¿Cuál de estas transiciones de estados de un proceso jamás se produce en un sistema normal?
a) de “bloqueado” a “preparado”.
b) de “preparado” a “bloqueado”.
c) de “activo” a “preparado”.
d) de “activo” a “bloqueado”.
2.- La técnica de planificación Round-Robin:
a) En general, da mejores tiempos de espera que el FCFS.
b) Minimiza el tiempo medio de retorno.
c) Maximiza el rendimiento del sistema.
d) Permite acotar el tiempo de respuesta máximo.
3.- En el interbloqueo, la estrategia que puede dar lugar a una muy baja utilización de recursos es
a) Estrategia liberal.
b) Estrategia de detección y recuperación.
c) Estrategia de prevención.
d) Estrategia de evitación.
4.- Un semáforo tiene actualmente el valor 2. Si se ejecuta una operación wait o espera sobre él, ¿qué sucederá?
a) El proceso que ejecuta la operación se bloquea hasta que otro ejecute una operación signal o señal.
b) Tras hacer la operación, el proceso continuará adelante sin bloquearse.
c) El proceso continuará adelante sin bloquearse, y si previamente existían procesos bloqueados a causa del
semáforo, se desbloqueará uno de ellos.
d) Un semáforo jamás podrá tener el valor 2, si su valor inicial era 0 (cero) y se ha operado correctamente con él.
5.- En un sistema operativo multitarea, con 8 Kbytes de espacio lógico de proceso, con páginas de 1 Kbytes y 32 Kbytes
de memoria física y sin memoria virtual, la tabla de páginas ocupará
a) 8*5 bits.
b) 32*5 bits.
c) 8*3 bits.
d) 32*3 bits.
6.- Si hay un aumento del número de marcos de páginas, el número de fallos de página en memoria:
a) Disminuye.
b) Aumenta.
c) Permanece igual.
d) Puede aumentar o disminuir.
7.- La interrupción de fallo de página la puede producir:
a) El proceso que está en “ejecución” (activo).
b) El proceso que esta en el estado “preparado”.
c) El proceso que está bloqueado, esperando una página del disco.
d) Desde cualquier estado de los anteriores.
8.- El tiempo que tarde el cabezal del disco en situarse sobre la pista solicitada es el:
a) Tiempo de posicionamiento.
b) Tiempo de latencia.
c) Tiempo de transferencia.
d) La suma de los tiempos anteriores.
9.- En un sistema de archivos con indexación simple. Los punteros del bloque índice de primer nivel
a) Apuntan a otros nodos-i.
b) Apuntan a bloques de datos.
c) Apuntan a bloques de punteros que apuntan a bloques de datos.
d) Apunta a un fichero.
10.- Un sistema operativo en el que los usuarios están enterados de la multiplicidad de máquinas y para acceder
sus recursos necesitan conectarse al computador remoto apropiado es un
a) Sistema operativo distribuido.
b) Sistema operativo de red.
c) Sistema operativo centralizado.
d) Ninguno de los anteriores.
SISTEMAS OPERATIVOS I Septiembre 2003 - Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.

1.- (3 puntos) Un transbordador permite pasar coches de un lado de un río al otro. Los coches viajan por el lado este del
río, cruzan el río y viajan por el lado oeste (nunca vuelven). El transbordador tiene una cabida de 10 coches y espera a
estar lleno para cruzar el río. Cuando ha cruzado y descargado los coches, vuelve vacío. El transbordador está YA
implementado con dos procedimientos ir y volver (estas funciones están definidas y listas para usarse). ir hace que el
transbordador cruce con los coches y volver lo hace volver vacío.
Se trata de implementar este problema con procesos (coches), resolviendo la concurrencia con el empleo de un monitor.
Para ello rellenar las líneas que faltan del código siguiente.
Implementar el problema teniendo en cuenta que la operación signal o señal de la variable de condición impone que, de
ejecutarse en un procedimiento del monitor, debe ser la última instrucción que se ejecute antes de terminar. Esto significa
que en el caso en que quiera desbloquear a varios procesos debe hacerse en cadena, esto es, el que sale debe desbloquear
al siguiente.

Solución:

monitor transbordador;
Program/module Cruce_Rio;
from condiciones import condicion, espera, señal;
Process CocheX;
import ir, volver;
begin
export cruzar;
viajar_este;
var
-----------------------
----------------------
viajar_oeste;
----------------------
end;
Procedure cruzar;
begin begin
---------------- cobegin
---------------- Coches;
coend;
end;

end
begin {incialización del monitor}
-----------------
end;
2.- (2 puntos) Se tiene un sistema que utiliza gestión de memoria paginada. El espacio de direccionamiento virtual es de
10 páginas de 1024 palabras (1 palabra = 2 bytes). La memoria física está dividida en 32 marcos.
a) ¿Cuántos bits componen una dirección virtual?
b) ¿Cuántos bits componen una dirección física?
Solución:

3.- (3 puntos) En un sistema operativo se utiliza una estructura de nodos-i parecida a la de Unix. Los bloques son de
1024 bytes. Las entradas en los nodos-i dedican 64 bits al tamaño del archivo y 16 bits a los punteros de los bloques. El
nodo-i tiene ocho entradas de direccionamiento directo, una de direccionamiento indirecto simple y otra de
direccionamiento indirecto doble. La tabla de archivos abiertos tiene una entrada para cada archivo con un campo de 64
bits que indica el desplazamiento. Calcular el tamaño máximo de un archivo que utiliza todo el disco.

Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: A Septiembre 2003 - Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Asignatura 208 INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Asignatura 209
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA. Cualquier examen que no venga
acompañado de esta hoja de enunciados no será corregido. Complete TODOS los datos que se piden en la hoja de lectura óptica o en
caso contrario su examen no será corregido. La puntuación del examen es: 2 puntos el test y 8 puntos los ejercicios. Las respuestas
correctas del test puntúan 0.2 puntos y las erróneas descuentan 0.1. El test es eliminatorio, debiendo obtener una calificación mínima de
1 punto para superarlo. NINGÚN MATERIAL PERMITIDO, excepto calculadora no programable. Tiempo (test+ejercicios): 2 horas.
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- ¿Cuál de estas transiciones de estados de un proceso jamás se produce en un sistema normal?
a) de “bloqueado” a “preparado”.
b) de “preparado” a “bloqueado”.
c) de “activo” a “preparado”.
d) de “activo” a “bloqueado”.
2.- La técnica de planificación Round-Robin:
a) En general, da mejores tiempos de espera que el FCFS.
b) Minimiza el tiempo medio de retorno.
c) Maximiza el rendimiento del sistema.
d) Permite acotar el tiempo de respuesta máximo.
3.- En el interbloqueo, la estrategia que puede dar lugar a una muy baja utilización de recursos es
a) Estrategia liberal.
b) Estrategia de detección y recuperación.
c) Estrategia de prevención.
d) Estrategia de evitación.
4.- Un semáforo tiene actualmente el valor 2. Si se ejecuta una operación wait o espera sobre él, ¿qué sucederá?
a) El proceso que ejecuta la operación se bloquea hasta que otro ejecute una operación signal o señal.
b) Tras hacer la operación, el proceso continuará adelante sin bloquearse.
c) El proceso continuará adelante sin bloquearse, y si previamente existían procesos bloqueados a causa del
semáforo, se desbloqueará uno de ellos.
d) Un semáforo jamás podrá tener el valor 2, si su valor inicial era 0 (cero) y se ha operado correctamente con él.
5.- En un sistema operativo multitarea, con 8 Kbytes de espacio lógico de proceso, con páginas de 1 Kbytes y 32 Kbytes
de memoria física y sin memoria virtual, la tabla de páginas ocupará
a) 8*5 bits.
b) 32*5 bits.
c) 8*3 bits.
d) 32*3 bits.
6.- Si hay un aumento del número de marcos de páginas, el número de fallos de página en memoria:
a) Disminuye.
b) Aumenta.
c) Permanece igual.
d) Puede aumentar o disminuir.
7.- La interrupción de fallo de página la puede producir:
a) El proceso que está en “ejecución” (activo).
b) El proceso que esta en el estado “preparado”.
c) El proceso que está bloqueado, esperando una página del disco.
d) Desde cualquier estado de los anteriores.
8.- El tiempo que tarde el cabezal del disco en situarse sobre la pista solicitada es el:
a) Tiempo de posicionamiento.
b) Tiempo de latencia.
c) Tiempo de transferencia.
d) La suma de los tiempos anteriores.
9.- En un sistema de archivos con indexación simple. Los punteros del bloque índice de primer nivel
a) Apuntan a otros nodos-i.
b) Apuntan a bloques de datos.
c) Apuntan a bloques de punteros que apuntan a bloques de datos.
d) Apunta a un fichero.
10.- Un sistema operativo en el que los usuarios están enterados de la multiplicidad de máquinas y para acceder
sus recursos necesitan conectarse al computador remoto apropiado es un
a) Sistema operativo distribuido.
b) Sistema operativo de red.
c) Sistema operativo centralizado.
d) Ninguno de los anteriores.
SISTEMAS OPERATIVOS I Septiembre 2003 - Original
INFORMÁTICA DE SISTEMAS - Código Carrera 40 - Código Asignatura 208
INFORMÁTICA DE GESTIÓN - Código Carrera 41 - Código Asignatura 209 Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.

1.- (3 puntos) Un transbordador permite pasar coches de un lado de un río al otro. Los coches viajan por el lado este del
río, cruzan el río y viajan por el lado oeste (nunca vuelven). El transbordador tiene una cabida de 10 coches y espera a
estar lleno para cruzar el río. Cuando ha cruzado y descargado los coches, vuelve vacío. El transbordador está YA
implementado con dos procedimientos ir y volver (estas funciones están definidas y listas para usarse). ir hace que el
transbordador cruce con los coches y volver lo hace volver vacío.
Se trata de implementar este problema con procesos (coches), resolviendo la concurrencia con el empleo de un monitor.
Para ello rellenar las líneas que faltan del código siguiente.
Implementar el problema teniendo en cuenta que la operación signal o señal de la variable de condición impone que, de
ejecutarse en un procedimiento del monitor, debe ser la última instrucción que se ejecute antes de terminar. Esto significa
que en el caso en que quiera desbloquear a varios procesos debe hacerse en cadena, esto es, el que sale debe desbloquear
al siguiente.
Solución:

monitor transbordador; Program/module Cruce_Rio;


from condiciones import condicion, espera, señal; Process CocheX;
import ir, volver; begin
export cruzar; viajar_este;
var [Link];
Nosvamos: condicion; viajar_oeste;
ntrans: integer; end;
Procedure cruzar;
begin
begin
ntrans:=ntrans+1;
cobegin
if ntrans =10 then
Coches;
begin
coend;
[Link];
end;
ntrans:=ntrans-1;
señal(Nosvamos);
end;
else
begin
wait(Nosvamos);
ntrans:=ntrans-1;
if ntrans =0 then
[Link];
else
señal(nosvamos);
end
end
begin {incialización del monitor}
ntrans:=0;
end;
2.- (2 puntos) Se tiene un sistema que utiliza gestión de memoria paginada. El espacio de direccionamiento virtual es de 10
páginas de 1024 palabras (1 palabra = 2 bytes). La memoria física está dividida en 32 marcos.
a) ¿Cuántos bits componen una dirección virtual?
b) ¿Cuántos bits componen una dirección física?
Solución:
a)Para direccionar una dirección virtual, se tiene que indicar su número de página y su desplazamiento:
El número de páginas totales es 10, por lo tanto, para distinguir entre 10 páginas hace falta 4 bits. El desplazamiento
corresponde al tamaño de la página, si el desplazamiento se expresa en palabras será necesario poder direccionar 1024
palabras, luego es suficiente con 10 bits, sin embargo si el desplazamiento se expresa en bytes será necesario 11 bits.
En total para representar la dirección virtual son necesarios 14 bits si se expresa el desplazamiento en palabras o 15 bits si
se expresa en bytes.
b)Para direccionar una dirección física, es necesario indicar su número de marco de página y su desplazamiento:
El número de marcos de páginas totales es 32, por lo tanto, para distinguir entre estos 32 marcos hacen falta 5 bits. El
desplazamiento corresponde al tamaño del marco de página, igual al de la página, por lo tanto de 1024 palabras, luego es
necesario 10 bits para distinguir entre las palabras u 11 bits si el desplazamiento se expresa en bytes.
En total para representar la dirección física son necesarios 15 bits si se expresa el desplazamiento en palabras o 16 bits si
se expresa en bytes.

3.- (3 puntos) En un sistema operativo se utiliza una estructura de nodos-i parecida a la de Unix. Los bloques son de 1024
bytes. Las entradas en los nodos-i dedican 64 bits al tamaño del archivo y 16 bits a los punteros de los bloques. El nodo-i
tiene ocho entradas de direccionamiento directo, una de direccionamiento indirecto simple y otra de direccionamiento
indirecto doble. La tabla de archivos abiertos tiene una entrada para cada archivo con un campo de 64 bits que indica el
desplazamiento. Calcular el tamaño máximo de un archivo que utiliza todo el disco.
Solución:
Para calcular el tamaño del un fichero hay que ver todos los parámetros que pueden limitar dicho tamaño y buscar cual
es el más restrictivo. El cálculo se va a realizar en número de bloques de ficheros. A continuación se va a hacer este
cálculo según determinados parámetros:
1. Teniendo en cuenta el campo de tamaño del archivo en el nodo-i : 64 bits
El tamaño máximo de un fichero, si se tuviera en cuenta únicamente esta limitación sería de 264 bytes. Pasándolo a
bloques : 264/210=254

2. Teniendo en cuenta el campo del desplazamiento en la tabla de archivos abiertos: 64 bits


El offset máximo que se puede tener en un fichero será de 264 bytes. Pasándolo a bloques 254

3. Según la estructura del sistema de archivos, el número máximo de bloques asignados a un archivo en su nodo-i (en
bloques)
Directo 8 bloques
Indirecto simple 1024/2 512 bloques
Indirecto doble (1024/2)*(1024/2) 262.144 bloques
===================================================================
Total de bloques 262.664 bloques
Hay que tener en cuenta que al ser el tamaño de un bloque de 1024 bytes y el tamaño de un puntero a bloque de 16
bits2 bytes, el número de punteros a bloques que caben en un bloque de punteros es de 1024/2 = 512 punteros.

4. Según el tamaño de un puntero


Como el tamaño de un puntero a bloque es de 16 bits, el máximo número de bloques que se puede referenciar con uno
de estos punteros es de 216 bloques = 65536 bloques.
Se puede concluir que la limitación del tamaño del archivo está dada por los punteros a bloques (solución 4) dado que es
el número más pequeño.
Por tanto la solución es :
65536 bloques = 65536 kbytes = 64 MBytes
SISTEMAS OPERATIVOS I Tipo de Examen: A Mayo 2004 - Original
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208 INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo 54209
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- En un sistema de planificación por prioridades expropiativo llega un proceso en el instante 4 con prioridad máxima.
Este proceso se ejecuta durante 2s, después realiza una operación de E/S durante 3s y para acabar se ejecuta durante 5 s.
¿Cuál es el tiempo de retorno de este proceso? (Despreciar los tiempos de conmutación de tarea)
a) 14s b) 10s c) 7s d) Ninguno de los anteriores
2.- Para la siguiente tabla, determinar el tiempo de retorno y de espera para P2 al aplicar el algoritmo de planificación a
corto plazo Round Robin (Prioridad Circular) con cuanto de 3s.
Proceso Tiempo de llegada (s) Tiempo de ejecución (s)
P1 0 9
P2 1 5
P3 2 2
a) 13 y 8 s b) 14 y 9 s c) 12 y 7 s d) Ninguno de los anteriores
3.- Repetir el problema anterior para el algoritmo de planificación a corto plazo SRT.
a) 8 y 3 s b) 15 y 10 s c) 7 y 2 s d) Ninguno de los anteriores
4.- ¿Cuál de las siguientes condiciones no se cumple en un interbloqueo?
a) Sólo un proceso puede usar un recurso cada vez.
b) Un proceso puede retener algunos mientras espera que se le asignen otros que ha solicitado.
c) Los procesos pueden verse forzados a abandonar recursos retenidos.
d) Un circulo vicioso de espera.
5.- ¿Cuál de las siguientes afirmaciones es falsa en un sistema multiprogramado con una única CPU?
a) Se pueden ejecutar N procesos concurrentemente.
b) Se pueden ejecutar N procesos en paralelo.
c) Se pueden tener N procesos, tantos como indique el grado de multiprogramación.
d) Se pueden tener N procesos, cada uno definido según su bloque de control de procesos.
6.- Considerando que la memoria principal está compuesta por cuatro marcos de página y que un programa se ha dividido
en 8 páginas (numeradas de 0 a 7), con la siguiente cadena de referencia: 0 1 7 2 3 2 7 1 0 3
¿Cuántos fallos de página ocurrirán utilizando el algoritmo FIFO si los cuatro marcos de página están vacíos al inicio?
a) 6 b) 8 c) 10 d) 7
7.- El principio de localidad se refiere a que:
a) las referencias de los programas tienden a agruparse en pequeñas zonas del espacio de direcciones, y estas
localizaciones tienden a cambiar solo intermitentemente.
b) las referencias a la memoria se localizan en el mismo segmento.
c) Los programas se cargan en segmentos contiguos de memoria.
d) hay una situación de localización de todo el espacio de direcciones de un programa.
8.- La diferencia entre un gusano y un virus es:
a) que el gusano es un programa en si mismo y el virus es parte del código de un programa.
b) que el gusano es parte del código de un programa, y el virus es un programa en si mismo.
c) que el gusano realiza acciones dentro de un programa y el virus es externo al programa.
d) que el gusano es parte del sistema operativo y el virus es parte de los programas de usuario.
9.- El retardo rotacional es el tiempo:
a) medio que tarda el sector en estar debajo de la cabeza de lectura /escritura.
b) que se tarda en transferir los datos.
c) necesario para que las cabezas se desplacen al cilindro adecuado.
d) que se estima en escribir un dato.
10.- En un sistema con gestión de memoria paginada el espacio de direccionamiento virtual es de 30 páginas de 1024
palabras. La memoria física está dividida en 32 marcos. ¿Cuántos bits componen una dirección virtual?
a) 10 b) 15 c) 20 d) Ninguna de las anteriores
SISTEMAS OPERATIVOS I Mayo 2004
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208
INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 53209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) En una clínica de traumatologica hay tres secciones diferentes: Médico, Escayola y Rayos-X. Los enfermos
acceden a la clínica y esperan a que les atienda una enfermera que les indica la sala a la que deben acceder. De forma que
la sección Medico tiene una sala de espera para 20 enfermos, Escoyola tiene una sala de espera para 6 enfermos y Rayos-
X No espera. Realizar un programa concurrente de forma que utilizando semáforos coordine las tareas de los enfermos.
Solución:
2.- (3puntos). Deducir las expresiones y calcular el tiempo que es necesario para leer 5 bloques consecutivos de un
archivo en un sistema con:
a) Asignación contigua.
b) Asignación mediante listas enlazadas.
c) Asignación mediante indexación.
Considerar que el tiempo de búsqueda es tb=15 ms, el retardo rotacional tr=10 ms, y el tiempo de transferencia de los
datos de un bloque tt=1.2 ms

Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: A Mayo 2004 - Original
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208 INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo 54209 .
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- En un sistema de planificación por prioridades expropiativo llega un proceso en el instante 4 con prioridad máxima.
Este proceso se ejecuta durante 2s, después realiza una operación de E/S durante 3s y para acabar se ejecuta durante 5 s.
¿Cuál es el tiempo de retorno de este proceso? (Despreciar los tiempos de conmutación de tarea)
a) 14s b) 10s c) 7s d) Ninguno de los anteriores
2.- Para la siguiente tabla, determinar el tiempo de retorno y de espera para P2 al aplicar el algoritmo de planificación a
corto plazo Round Robin (Prioridad Circular) con cuanto de 3s.
Proceso Tiempo de llegada (s) Tiempo de ejecución (s)
P1 0 9
P2 1 5
P3 2 2
a) 13 y 8 s b) 14 y 9 s c) 12 y 7 s d) Ninguno de los anteriores
3.- Repetir el problema anterior para el algoritmo de planificación a corto plazo SRT.
a) 8 y 3 s b) 15 y 10 s c) 7 y 2 s d) Ninguno de los anteriores
4.- ¿Cuál de las siguientes condiciones no se cumple en un interbloqueo?
a) Sólo un proceso puede usar un recurso cada vez.
b) Un proceso puede retener algunos mientras espera que se le asignen otros que ha solicitado.
c) Los procesos pueden verse forzados a abandonar recursos retenidos.
d) Un circulo vicioso de espera.
5.- ¿Cuál de las siguientes afirmaciones es falsa en un sistema multiprogramado con una única CPU?
a) Se pueden ejecutar N procesos concurrentemente.
b) Se pueden ejecutar N procesos en paralelo.
c) Se pueden tener N procesos, tantos como indique el grado de multiprogramación.
d) Se pueden tener N procesos, cada uno definido según su bloque de control de procesos.
6.- Considerando que la memoria principal está compuesta por cuatro marcos de página y que un programa se ha dividido
en 8 páginas (numeradas de 0 a 7), con la siguiente cadena de referencia: 0 1 7 2 3 2 7 1 0 3
¿Cuántos fallos de página ocurrirán utilizando el algoritmo FIFO si los cuatro marcos de página están vacíos al inicio?
a) 6 b) 8 c) 10 d) 7
7.- El principio de localidad se refiere a que:
a) las referencias de los programas tienden a agruparse en pequeñas zonas del espacio de direcciones, y estas
localizaciones tienden a cambiar solo intermitentemente.
b) las referencias a la memoria se localizan en el mismo segmento.
c) Los programas se cargan en segmentos contiguos de memoria.
d) hay una situación de localización de todo el espacio de direcciones de un programa.
8.- La diferencia entre un gusano y un virus es:
a) que el gusano es un programa en si mismo y el virus es parte del código de un programa.
b) que el gusano es parte del código de un programa, y el virus es un programa en si mismo
c) que el gusano realiza acciones dentro de un programa y el virus es externo al programa
d) que el gusano es parte del sistema operativo y el virus es parte de los programas de usuario.
9.- El retardo rotacional es el tiempo:
a) medio que tarda el sector en estar debajo de la cabeza de lectura /escritura.
b) que se tarda en transferir los datos.
c) necesario para que las cabezas se desplacen al cilindro adecuado.
d) que se estima en escribir un dato.
10.- En un sistema con gestión de memoria paginada el espacio de direccionamiento virtual es de 30 páginas de 1024
palabras. La memoria física está dividida en 32 marcos. ¿Cuántos bits componen una dirección virtual?
a) 10 b) 15 c) 20 d) Ninguna de las anteriores
SISTEMAS OPERATIVOS I Mayo 2004
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208
INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 53209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) En una clínica de traumatologica hay tres secciones diferentes: Médico, Escayola y Rayos-X. Los enfermos
acceden a la clínica y esperan a que les atienda una enfermera que les indica la sala a la que deben acceder. De forma que
la sección Medico tiene una sala de espera para 20 enfermos, Escoyola tiene una sala de espera para 6 enfermos y Rayos-
X No espera. Realizar un programa concurrente de forma que utilizando semáforos coordine las tareas de los enfermos.
Solución:

Program/module clinica;

var enfermera, sala_medico, sala_escayola: semaforo;

process enfermoX;
begin
while true do
begin
wait(enfermera);
{indica destino}
readln(destino);
signal(enfermera);
if destino = medico then
begin
wait(sala_medico);
{diagnostico}
signal(sala_medico);
end;
if destino = escayola then
begin
wait(sala_escayola);
{pone escayola}
signal(sala_escayola);
end;
if destino = rayos_X then
begin
{hace placas}
end;
end;
end;

begin
inicializa(enfermera, 1);
inicializa(sala_medico, 20);
inicializa(sala_escayola, 6);
cobegin
enfermos;
coend
end;
2.- (3puntos). Deducir las expresiones y calcular el tiempo que es necesario para leer 5 bloques consecutivos de un
archivo en un sistema con:
a) Asignación contigua.
b) Asignación mediante listas enlazadas.
c) Asignación mediante indexación.
Considerar que el tiempo de búsqueda es tb=15 ms, el retardo rotacional tr=10 ms, y el tiempo de transferencia de los
datos de un bloque tt=1.2 ms

Solución:
a) asignación contigua: t=tb+tr+N*tt = 15 + 10 + 5*1.2
b) asignación mediante listas enlazadas: t=N*(tb+tr+tt) = 5*(15+10+1.2)
c) asignación mediante indexación: t= (N+1)*(tb+tr+tt) = 6*(15+10+1.2)
ver también la explicación del problema 5-8
Solución del ejercicio 1.
P1 E/S P1
4 6 9 14

Tiempo de Retorno: 14-4=10s

Solución del ejercicio 2 y 3:


RR:

P1 P1 P1 P2 P2 P2 P3 P3 P1 P1 P1 P2 P2 P1 P1 P1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Tiempo de retorno:
P1 = 16s
P2 = 13-1 = 12s
P3 = 8-2 = 6s
Tiempo de espera:
P1 = 16-9 = 6s
P2 = 12-5 = 7s
P3 = 6-2 = 4s

SRT:

P1 P2 P3 P3 P2 P2 P2 P2 P1 P1 P1 P1 P1 P1 P1 P1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Tiempo de retorno:
P1 = 16s
P2 = 8-1 = 7s
P3 = 4-2 = 2s
Tiempo de espera:
P1 = 16-9 = 6s
P2 = 7-5 = 2s
P3 = 2-2 = 0s

Solución 6.-

0 1 7 2 3 3 3 3 0 0
X 0 1 7 2 2 2 2 3 3
X X 0 1 7 7 7 7 2 2
X X X 0 1 1 1 1 7 7
F F F F F F
6 fallos de página

Solución al 10
La memoria tiene 65536/512=128 marcos
El código necesita 32768/512=64 paginas
Los datos: 16386/512=33 paginas
La pila: 15870/512=31 paginas
En total 128 páginas. luego es posible
SISTEMAS OPERATIVOS I Tipo de Examen: A Junio 2004 - Original
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208 INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 54209 .
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- En los instantes 2 y 4 llegan los procesos P1 y P2 al sistema. En el instante 12 acaba P1 y en el instante 18 termina P2.
¿Cuál es el tiempo de retorno medio?
a) 15s b) 13s c) 12s d) Ninguno de los anteriores
2.- Para la siguiente tabla, determinar el tiempo de retorno y de espera para P3 al aplicar el algoritmo de planificación a
corto plazo Round Robin (Prioridad circular) con cuanto de 3s.
Proceso Tiempo de llegada (s) Tiempo de ejecución (s)
P1 0 9
P2 1 5
P3 2 2
a) 8 y 6 s b) 7 y 5 s c) 6 y 4 s d) Ninguno de los anteriores
3.- Repetir el problema anterior para el algoritmo de planificación a corto plazo SRT.
a) 4 y 2 s b) 9 y 7 s c) 2 y 0 s d) Ninguno de los anteriores
4.- ¿Cuál de las siguientes afirmaciones sobre semáforos es falsa?
a) Causan pérdidas de tiempo debido a esperas ocupadas.
b) Permiten realizar la sincronización de procesos.
c) Pueden implementarse mediante paso de mensajes
d) Las operaciones signal y wait son operaciones atómicas.
5.- ¿Cuál de las siguientes afirmaciones es falsa con respecto a la evitación de interbloqueos?
a) Para predecir bloqueos se debe conocer la demanda de recursos por anticipado.
b) El número total de procesos y total de recursos debe de ser fijo.
c) Supone que los procesos no pueden finalizar mientras mantengan recursos apropiados.
d) El orden de ejecución de los procesos debe de estar forzado por condiciones de sincronización.
6.- La fragmentación externa corresponde
a) al espacio interno de una partición que se malgasta cuando el bloque de datos cargado es más pequeño que la
partición.
b) al hecho de que una partición disponible no se utiliza porque es muy pequeña para cualquiera de las tareas que
esperan cargarse en memoria.
c) a las particiones desperdiciadas cuando se carga un nuevo proceso.
d) a la circunstancia de bloquear un proceso al no disponer de espacio en memoria.
7.- Dadas tres subrutinas de 700, 200 y 500 palabras respectivamente. Determine la cantidad de memoria desperdiciada
debido a la fragmentación interna cuando las tres subrutinas se cargan en la memoria, utilizando tamaños de páginas de
200 palabras
a) 100 b) 200 c) 500 d) 700
8.- Un caballo de Troya es
a) un programa o procedimiento útil o de apariencia útil que contiene un código que realiza una función dañina o
no deseada.
b) es parte del código de un programa que simula el funcionamiento de otro programa.
c) es un caso especial de virus informático que se transmite al copiarlo en dispositivos de almacenamiento.
d) es un programa utilizado para detectar falsos ataques informáticos.
9.- Considerando que la memoria principal está compuesta por cuatro marcos de página y que un programa se ha dividido
en 8 páginas (numeradas de 0 a 7), con la siguiente cadena de referencia: 0 1 7 2 3 2 7 1 0 3
¿Cuántos fallos de página ocurrirán en las mismas condiciones pero utilizando LRU?
a) 6 b) 8 c) 10 d) 7
10.- Un sistema posee una memoria física de 64 Kb dividido en marcos de páginas de 512 bytes. Un programa tiene un
código de tamaño 32768 bytes, datos de 16386 bytes y una pila de 15870 bytes. ¿Se puede cargar este programa en
memoria?
a) Imposible b) Sólo el código c) Posible d) Se puede si no se carga la pila
SISTEMAS OPERATIVOS I Junio 2004
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208
INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 54209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.

1.- (3 puntos) En un cuartel hay un comedor para 500 soldados. El soldado cuando quiere comer entra en el recinto y coge
una bandeja con comida en uno de los 5 mostradores que existen para tal efecto; la bandeja tiene un vaso de agua o un
botellín de refresco, si escoge esto último necesita uno de los 50 abridores. Si quiere postre se dirige a uno de los 3
mostradores que lo despachan; Cuando finaliza la comida sale del recinto. Realizar un programa concurrente de forma
que utilizando semáforos coordine las tareas de los soldados.
Solución:
2.- (3 puntos) En un sistema que utiliza gestión de memoria segmentada, se tiene la siguiente tabla de segmentos:

Nº de segmento Base longitud


0 500 300
1 1800 600
2 100 320
3 2634 650
4 900 45

a) Describa en un diagrama como es la conversión de las direcciones lógicas a direcciones físicas.


b) ¿A qué direcciones físicas corresponden las siguientes direcciones virtuales?: (0,128) (3,558) (0, 950)
El formato corresponde a (nº de segmento, desplazamiento). Todos los datos numéricos están en decimal.
Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: A Junio 2004 - Original
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208 INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 54209 .
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- En los instantes 2 y 4 llegan los procesos P1 y P2 al sistema. En el instante 12 acaba P1 y en el instante 18 termina P2.
¿Cuál es el tiempo de retorno medio?
a) 15s b) 13s c) 12s d) Ninguno de los anteriores
2.- Para la siguiente tabla, determinar el tiempo de retorno y de espera para P3 al aplicar el algoritmo de planificación a
corto plazo Round Robin (Prioridad circular) con cuanto de 3s.
Proceso Tiempo de llegada (s) Tiempo de ejecución (s)
P1 0 9
P2 1 5
P3 2 2
a) 8 y 6 s b) 7 y 5 s c) 6 y 4 s d) Ninguno de los anteriores
3.- Repetir el problema anterior para el algoritmo de planificación a corto plazo SRT.
a) 4 y 2 s b) 9 y 7 s c) 2 y 0 s d) Ninguno de los anteriores
4.- ¿Cuál de las siguientes afirmaciones sobre semáforos es falsa?
a) Causan pérdidas de tiempo debido a esperas ocupadas.
b) Permiten realizar la sincronización de procesos.
c) Pueden implementarse mediante paso de mensajes
d) Las operaciones signal y wait son operaciones atómicas.
5.- ¿Cuál de las siguientes afirmaciones es falsa con respecto a la evitación de interbloqueos?
a) Para predecir bloqueos se debe conocer la demanda de recursos por anticipado.
b) El número total de procesos y total de recursos debe de ser fijo.
c) Supone que los procesos no pueden finalizar mientras mantengan recursos apropiados.
d) El orden de ejecución de los procesos debe de estar forzado por condiciones de sincronización.
6.- La fragmentación externa corresponde
a) al espacio interno de una partición que se malgasta cuando el bloque de datos cargado es más pequeño que la
partición.
b) al hecho de que una partición disponible no se utiliza porque es muy pequeña para cualquiera de las tareas que
esperan cargarse en memoria.
c) a las particiones desperdiciadas cuando se carga un nuevo proceso.
d) a la circunstancia de bloquear un proceso al no disponer de espacio en memoria.
7.- Dadas tres subrutinas de 700, 200 y 500 palabras respectivamente. Determine la cantidad de memoria desperdiciada
debido a la fragmentación interna cuando las tres subrutinas se cargan en la memoria, utilizando tamaños de páginas de
200 palabras
a) 100 b) 200 c) 500 d) 700
8.- Un caballo de Troya es
a) un programa o procedimiento útil o de apariencia útil que contiene un código que realiza una función dañina o
no deseada.
b) es parte del código de un programa que realiza una operación dañina.
c) es un caso especial de virus informático que se transmite al copiarlo en dispositivos de almacenamiento.
d) es un programa utilizado para detectar falsos ataques informáticos.
9.- El tiempo de transferencia es el tiempo:
a) medio que tarda el sector en estar debajo de la cabeza de lectura /escritura.
b) que se tarda en transferir los datos.
c) necesario para que las cabezas se desplacen al cilindro adecuado.
d) que se estima en escribir un dato.
10.- Un sistema posee una memoria física de 64 Kb dividido en marcos de páginas de 512 bytes. Un programa tiene un
código de tamaño 32768 bytes, datos de 16386 bytes y una pila de 15870 bytes. ¿Se puede cargar este programa en
memoria?
a) Imposible b) Sólo el código c) Posible d) Se puede si no se carga la pila
SISTEMAS OPERATIVOS I Junio 2004
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208
INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 54209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final.

1.- (3 puntos) En un cuartel hay un comedor para 500 soldados. El soldado cuando quiere comer entra en el recinto y coge
una bandeja con comida en uno de los 5 mostradores que existen para tal efecto; la bandeja tiene un vaso de agua o un
botellín de refresco, si escoge esto último necesita uno de los 50 abridores. Si quiere postre se dirige a uno de los 3
mostradores que lo despachan; Cuando finaliza la comida sale del recinto. Realizar un programa concurrente de forma
que utilizando semáforos coordine las tareas de los soldados.
Solución:

program/module comida_cuartel;

var recinto, comida, abridor, postre : semaforo; {semáforo general}

process soldadoX;
var abrir , postre : boolean;
begin
while true do
begin
wait(recinto);
{entrar}
wait(comida);
{Bandeja}
signal(comida);
readln(abrir);
if abrir then
begin
wait(abridor);
{abre}
signal(abridor);
end;
readln(postre);
if postre then
begin
wait(postre);
{come postre}
signal(postre);
end;
{comer}
signal(recinto);
end;
end;

begin
inicializa(recinto, 500);
inicializa(comida, 5);
inicializa(abridor, 50);
inicializa(postre, 3);
cobegin
soldados;
coend;
end;
2.- (3 puntos) En un sistema que utiliza gestión de memoria segmentada, se tiene la siguiente tabla de segmentos:

Nº de segmento Base longitud


0 500 300
1 1800 600
2 100 320
3 2634 650
4 900 45

a) Describa en un diagrama como es la conversión de las direcciones lógicas a direcciones físicas.


b) ¿A qué direcciones físicas corresponden las siguientes direcciones virtuales?: (0,128) (3,558) (0, 950)
El formato corresponde a (nº de segmento, desplazamiento). Todos los datos numéricos están en decimal.
Solución:

a) Ver figura

Error de direccionamiento

Dirección lógica no
Número de
Desplazamiento <
segmento

Tabla de segmentos Memoria

Base Tamaño

b) Se tiene que comprobar si desplazamiento d tamaño del segmento


La dirección se calcula: dirección física = base + desplazamiento

(0,128) dirección válida: 500+128=628


(3,558), válida: 2634+558
(0,950) violación del segmento
Solución del ejercicio 1:
((12-2)+(18-4))=12s

Solución del ejercicio 2 y 3:


RR:

P1 P1 P1 P2 P2 P2 P3 P3 P1 P1 P1 P2 P2 P1 P1 P1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Tiempo de retorno:
P1 = 16sg
P2 = 13-1 = 12sg
P3 = 8-2 = 6sg
Tiempo de espera:
P1 = 16-9 = 6sg
P2 = 12-5 = 7sg
P3 = 6-2 = 4sg

SRT:

P1 P2 P3 P3 P2 P2 P2 P2 P1 P1 P1 P1 P1 P1 P1 P1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Tiempo de retorno:
P1 = 16sg
P2 = 8-1 = 7sg
P3 = 4-2 = 2sg
Tiempo de espera:
P1 = 16-9 = 6sg
P2 = 7-5 = 2sg
P3 = 2-2 = 0sg

Solución al 10
La memoria tiene 65536/512=128 marcos
El código necesita 32768/512=64 paginas
Los datos: 16386/512=33 paginas
La pila: 15870/512=31 paginas
En total 128 páginas. luego es posible
SISTEMAS OPERATIVOS I Tipo de Examen: A Septiembre 2004 - Original
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208 INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo 54209 .
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Si el tiempo de retorno de un proceso, P1, es de 30 ms y el tiempo de espera es de 20 ms. ¿Cuál es su eficacia?
a) 66,66% b) 100% c) 33,33% d) Ninguno de los anteriores
2.- Sean dos procesos, P1 con tiempo de ejecución de 20 ms y P2 con 15 ms. El planificador a corto plazo actúa según el
algoritmo de prioridad circular con cuanto de 10 ms y tiempo de conmutación de tarea de 5ms. Marcar el tiempo de
retorno de P2.
a) 50ms b) 55ms c) 60ms d) Ninguno de los anteriores
3.- Indique si las siguientes afirmaciones son verdaderas:
I. Cuando en un sistema operativo con planificación por prioridad circular el cuanto se elige próximo al tiempo
invertido en la conmutación de procesos el rendimiento es bajo.
II. El algoritmo de planificación que minimiza el tiempo de espera medio es el FIFO.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
4.- Indique si las siguientes afirmaciones son verdaderas:
I. La existencia de un ciclo en un grafo de asignación de recursos es siempre condición necesaria y suficiente para
que haya un interbloqueo.
II. Es posible un interbloqueo en el que intervenga un único proceso.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
5.- Indique si las siguientes afirmaciones son verdaderas:
I. Para lograr la ejecución de manera exclusiva de una sección crítica es necesario definir una variable de condición
si lo que se utiliza es un monitor.
II. Un semáforo tiene actualmente el valor 2. Si un proceso ejecuta una operación wait o espera sobre él, tras hacer
la operación, el proceso continuará adelante sin bloquearse.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
6.- En un sistema de gestión de memoria con particiones fijas, hay 7 Mb asignados a los usuarios que se reparten en 7
particiones de 1 Mb, la cola de tareas contiene tareas con requerimientos de 400 Kb, 1600 Kb, 300 Kb, 900 Kb, 200 Kb,
500 Kb, y 800 Kb. Indique cual es la fragmentación interna y externa que se produce:
a) La fragmentación interna es de 1600 Kb y la externa es de 1024 Kb.
b) La fragmentación interna es de 3044 Kb y la externa de 1600 Kb.
c) La fragmentación interna es de 3044 Kb y la externa de 1024 Kb.
d) No hay ningún tipo de fragmentación.
7.- Se tiene un sistema con paginación con toda la tabla de páginas almacenada en memoria. Si una referencia de
memoria tarda 70 ns. ¿Cuánto tarda una referencia a la memoria paginada?
a) 70 ns b) 140 ns c) 210 ns d) 105 ns
8.- En un sistema con gestión de memoria paginada el espacio de direccionamiento virtual es de 30 páginas de 1024
palabras. La memoria física está dividida en 64 marcos. ¿Cuántos bits componen una dirección física?
a) 16 b) 15 c) 20 d) 5
9.- ¿Cuántos disquetes de 1.40 Mb de capacidad se necesitan para hacer una copia de seguridad de un disco de 300 Mb?
a) 130 b) 215 c) 300 d) 150
10.- indique si las siguientes afirmaciones son correctas:
I. Los directorios son, básicamente, tablas simbólicas de archivos.
II. Los archivos son estructuras de datos que contienen la información de los directorios.
a) I: sí, II: sí b) I: sí, II: no c) I: no, II: sí d) I: no, II: no
SISTEMAS OPERATIVOS I Septiembre 2004- ORIGINAL
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208
INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 54209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) Un grupo de amiguitos se ha reunido a merendar un gran plato de M galletas. Cuando un niño quiere comer,
el mismo se sirve una galleta, a menos que esté vacío el plato. En ese caso, el niño avisa a la mamá y espera a que ésta
rellene el plato. Implementar el código de las acciones de los niños y de la mamá usando semáforos.
Solución:
2.- (3 puntos)
Se ha diseñado un sistema operativo parecido a UNIX con una estructura formada por bloques de 4 Kb, como el
mostrado en la figura.
N bloques de mapa de M bloques de mapa
1 bloque de arranque R bloques de nodos-i S bloques de archivos
bloques de nodos-i

Un nodo-i ocupa 32 bytes, el tamaño máximo de un fichero es de 65536 bloques:


a) Calcular el número máximo de archivos que puede haber almacenados en este sistema si M=1.
b) Calcular el valor mínimo de las constantes N, R y S para que puedan existir 128 archivos de tamaño máximo.

Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: A Septiembre 2004 - Original
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208 INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo 54209 .
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Si el tiempo de retorno de un proceso, P1, es de 30 ms y el tiempo de espera es de 20 ms. ¿Cuál es su eficacia?
a) 66,66% b) 100% c) 33,33% d) Ninguno de los anteriores
2.- Sean dos procesos, P1 con tiempo de ejecución de 20 ms y P2 con 15 ms. El planificador a corto plazo actúa según el
algoritmo de prioridad circular con cuanto de 10 ms y tiempo de conmutación de tarea de 5ms. Marcar el tiempo de
retorno de P2.
a) 50ms b) 55ms c) 60ms d) Ninguno de los anteriores
3.- Indique si las siguientes afirmaciones son verdaderas:
I. Cuando en un sistema operativo con planificación por prioridad circular el cuanto se elige próximo al tiempo
invertido en la conmutación de procesos el rendimiento es bajo.
II. El algoritmo de planificación que minimiza el tiempo de espera medio es el FIFO.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
4.- Indique si las siguientes afirmaciones son verdaderas:
I. La existencia de un ciclo en un grafo de asignación de recursos es siempre condición necesaria y suficiente para
que haya un interbloqueo.
II. Es posible un interbloqueo en el que intervenga un único proceso.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
5.- Indique si las siguientes afirmaciones son verdaderas:
I. Para lograr la ejecución de manera exclusiva de una sección crítica es necesario definir una variable de condición
si lo que se utiliza es un monitor.
II. Un semáforo tiene actualmente el valor 2. Si un proceso ejecuta una operación wait o espera sobre él, tras hacer
la operación, el proceso continuará adelante sin bloquearse.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
6.- En un sistema de gestión de memoria con particiones fijas, hay 7 Mb asignados a los usuarios que se reparten en 7
particiones de 1 Mb, la cola de tareas contiene tareas con requerimientos de 400 Kb, 1600 Kb, 300 Kb, 900 Kb, 200 Kb,
500 Kb, y 800 Kb. Indique cual es la fragmentación interna y externa que se produce:
a) La fragmentación interna es de 1600 Kb y la externa es de 1024 Kb.
b) La fragmentación interna es de 3044 Kb y la externa de 1600 Kb.
c) La fragmentación interna es de 3044 Kb y la externa de 1024 Kb.
d) No hay ningún tipo de fragmentación.
7.- Se tiene un sistema con paginación con toda la tabla de páginas almacenada en memoria. Si una referencia de
memoria tarda 70 ns. ¿Cuánto tarda una referencia a la memoria paginada?
a) 70 ns b) 140 ns c) 210 ns d) 105 ns
8.- En un sistema con gestión de memoria paginada el espacio de direccionamiento virtual es de 30 páginas de 1024
palabras. La memoria física está dividida en 64 marcos. ¿Cuántos bits componen una dirección física?
a) 16 b) 15 c) 20 d) 5
9.- ¿Cuántos disquetes de 1.40 Mb de capacidad se necesitan para hacer una copia de seguridad de un disco de 300 Mb?
a) 130 b) 215 c) 300 d) 150
10.- indique si las siguientes afirmaciones son correctas:
I. Los directorios son, básicamente, tablas simbólicas de archivos.
II. Los archivos son estructuras de datos que contienen la información de los directorios.
a) I: sí, II: sí b) I: sí, II: no c) I: no, II: sí d) I: no, II: no
Solución del ejercicio 1.
Cuestión 2.14
Tiempo de Ejecución Real, U: Tiempo de retorno (R)-Tiempo de espera (E):
30-20=10s
Eficacia = (U/T)*100= (10/30)*100=33,33%

Solución del ejercicio 2:


Cuestión 2.16

Solución del ejercicio 3:


Problema 2.7 y 2.9

Solución del ejercicio 4


I: Página 145
II: Cuestión 3.11

Solución del ejercicio 5


I: Cuestión 3.7
II: Página 322

Solución del ejercicio 6


Página 218.

Solución del ejercicio 7


Problema 4-7
Para realizar una referencia a la memoria paginada se realizan dos accesos a la memoria, uno a la tabla de páginas, con el
que se obtiene la dirección física, y otro al acceder al marco. Por tanto el tiempo total será:
T = Ttabla + Tmarco = 70 + 70 = 140

Solución del ejercicio 8


Problema 4-6
El número de marcos de página son 64, luego se necesitan 6 bits para distinguirlos. El desplazamiento corresponde al
tamaño del marco de página, como son de 1024 palabras se necesitan 10 bits. Luego son necesarios 16 bits.

Solución del ejercicio 9


Problema 6-2

Solución del ejercicio 10


Pag. 306
SISTEMAS OPERATIVOS I Septiembre 2004- ORIGINAL
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208
INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 54209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) Un grupo de amiguitos se ha reunido a merendar un gran plato de M galletas. Cuando un niño quiere comer,
el mismo se sirve una galleta, a menos que esté vacío el plato. En ese caso, el niño avisa a la mamá y espera a que ésta
rellene el plato. Implementar el código de las acciones de los niños y de la mamá usando semáforos.
Solución:

Program/Module Merienda;
var
n_galletas: integer;
mutex, despierta_mama, seguir_merienda: semaforo;

Process NiñoX;
Process Mama;
begin
begin
while true do
while true do
begin
begin
wait(mutex);
wait(despierta_mama);
if n_galletas:=0 then
/*rellena el plato de galletas*/
begin
n_galletas:=M;
signal(despierta_mama);
signal(seguir_merienda);
wait(seguir_merienda);
end;
end;
end;
else
begín
/*coger galleta*/
n_galletas:=n_galletas-1;
signal(mutex);
end
end;
end;

begin
n_galletas:=M;
inicializa(mutex,1);
inicializa(despierta_mama,0);
iniciliza(seguir_merienda,0);
cobegin
Niños, Mama;
coend;
end;
2.- (3 puntos)
Se ha diseñado un sistema operativo parecido a UNIX con una estructura formada por bloques de 4 Kb, como el
mostrado en la figura:
N bloques de mapa de M bloques de mapa
1 bloque de arranque R bloques de nodos-i S bloques de archivos
bloques de nodos-i

Un nodo-i ocupa 32 bytes, el tamaño máximo de un fichero es de 65536 bloques:


a) Calcular el número máximo de archivos que puede haber almacenados en este sistema si M=1.
b) Calcular el valor mínimo de las constantes N, R y S para que puedan existir 128 archivos de tamaño máximo.

Solución:

a) El número de ficheros está restringido por el número de nodos-i disponibles. Este número viene determinado por
los M=1 bloques de mapa de nodos-i, cuyos bits son utilizados para indicar que nodos-i están libres y cuales
ocupados. Así, el número posible de nodos-i y, por tanto, de ficheros está determinado por el número de bits de
este mapa:

4 Kb/bloque * 1024 bytes/Kbytes * 8 bits/byte = 32768 bits


por lo que se pueden tener 32768 ficheros.

b) Los valores de las constantes serán:

a. R bloques para los nodos-i

El sistema está preparado para alojar los 32768 ficheros calculados. Por lo que tiene espacio para 32768
nodos-i, aunque solo se tengan 128 archivos. El número de nodos-i por bloque será:
(4*1024bytes)/32 = 128 nodos-i/bloque
El número de bloques R será:
R = 32768 / 128 = 256 bloques

b. S bloques para ficheros

Ignorando los bloques de indirección, todos los bloques serán de datos:

S = 65536 * 128 = 8388608 bloques

c. N bloques de mapa de bloques

Para manejar esta cantidad de bloques, hacen falta otros tantos bits. En cada bloque caben 32768 bits, por
tanto se necesitan:

N = 8388608/32768 = 256 bloques.


SISTEMAS OPERATIVOS I Tipo de Examen: A Mayo 2005 - Original
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208 INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo 54209
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Para la siguiente tabla, determinar el tiempo de retorno y de espera para P2 al aplicar el algoritmo de planificación a
corto plazo Round Robin (Prioridad Circular) con cuanto de 3s.
Proceso Tiempo de llegada (s) Tiempo de ejecución (s)
P1 0 9
P2 1 5
P3 2 2
a) 13 y 8 s b) 14 y 9 s c) 12 y 7 s d) Ninguno de los anteriores
2.- Indique si las siguientes afirmaciones son verdaderas:
I. Con el algoritmo de planificación SRT la llegada de un nuevo proceso al sistema provoca siempre el desalojo del
proceso actualmente en ejecución.
II. El algoritmo de planificación SJF concede la CPU al proceso que ocupa menos espacio en memoria.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
3.- Considere un semáforo cuyo valor actual es 3. Una operación de señal sobre el mismo...
a) Deja un valor de 2 en el semáforo
b) Deja un valor de 4 en el semáforo
c) Deja un valor de 4 en el semáforo excepto si existen procesos en espera por el mismo, en cuyo caso queda con 3
d) Deja un valor de 4 en el semáforo y despierta a uno de los procesos en espera, si lo hay, en cuyo caso queda con 3
4.- Los semáforos son herramientas de:
a) Comunicación entre procesos b) Sincronización entre procesos
c) Planificación de procesos d) Todas las anteriores son ciertas
5.- En el interbloqueo, la estrategia que requiere declarar por adelantado los recursos máximos necesarios es:
a) Prevención del interbloqueo mediante negación de retención y espera
b) Prevención del interbloqueo mediante espera circular
c) Detección y recuperación
d) Evitación mediante el algoritmo del banquero
6.- El término reubicable se refiere a:
a) La asignación a un programa de un conjunto fijo de direcciones de memoria especificadas en tiempo de
ejecución.
b) La posibilidad de cargar y ejecutar un programa dado en un lugar arbitrario de memoria.
c) Las operaciones de eliminar de la memoria principal procesos suspendidos, llevarlos al disco y cargar del disco a
la memoria principal procesos para su ejecución.
d) Las tareas del sistema operativo realizadas en tiempo de ejecución.
7.- En un sistema de archivos tipo UNIX, un nodo-i es:
a) Un nodo de un esquema en la representación de datos del sistema.
b) Un tipo determinado de archivo del sistema operativo, para la gestión de los procesos en ejecución.
c) Una estructura de control que contiene información clave de un archivo necesaria para el sistema operativo.
d) Un registro de memoria principal para el acceso al sistema de almacenamiento de información.
8.- Un computador funciona a una velocidad de 107 ciclos/segundo, una instrucción emplea 4 ciclos máquina, y una
operación de lectura/escritura de memoria tarda 1 ciclo máquina. Si se emplean 3 instrucciones en transferir cada palabra,
la máxima velocidad de transferencia de datos utilizando E/S controlada por programa es:
a) 525.000 palabras/segundo b) 2.048 palabras/segundo
c) 833.333 palabras/segundo d) 10.000.000 palabras/segundo
9.- Suponiendo que el directorio actual es /usr/soi, indicar cual de los siguientes nombres de ruta para el archivo
/usr/soi/docum no es correcto
a) docum b) ../docum c)../soi/docum d) ./docum
10.- ¿Cuál es la página que se sustituirá en el algoritmo de sustitución “óptimo”?
a) la utilizada menos frecuentemente b) la que se utilizó la última vez
c) la siguiente que se va a utilizar d) la que tardará más en volverse a utilizar
SISTEMAS OPERATIVOS I Mayo 2005
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208
INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 53209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) Se pide escribir un programa que conste de dos procesos concurrentes A y B sincronizados mediante dos
semáforos de tal manera que el resultado final de la ejecución sea que los procesos escriban en la salida estándar en

x Primero, el proceso A debe escribir: " Hola soy A".


secuencia lo siguiente:

x Segundo, el proceso B debe escribir: "Hola soy B".


x Tercero, el proceso A debe escribir: "Se despide A"
x Cuarto, el proceso B debe ecribir: "Se despide B"

Solución:
2.- (3puntos).
En un sistema que implementa memoria virtual mediante demanda de páginas, un proceso genera la siguiente secuencia
de referencias a páginas de memoria:
2 5 1 3 5 0 4 1 0 8 7 9 5 7 1 0 2 5 9 8 2
Con 5 marcos de página inicialmente vacíos estudiar:
a) Cuantos fallos de página se producen si se utiliza el algoritmo LRU para la sustitución de páginas.
b) Cuantos fallos de página se produce si el algoritmo utilizado es el FIFO.
c) Razonar si aumentando indefinidamente el número de marcos de página se mejoraría la tasa de fallos de página.

Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: A Mayo 2005 - Original
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208 INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo 54209
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Para la siguiente tabla, determinar el tiempo de retorno y de espera para P2 al aplicar el algoritmo de planificación a
corto plazo Round Robin (Prioridad Circular) con cuanto de 3s.
Proceso Tiempo de llegada (s) Tiempo de ejecución (s)
P1 0 9
P2 1 5
P3 2 2
a) 13 y 8 s b) 14 y 9 s c) 12 y 7 s d) Ninguno de los anteriores
2.- Indique si las siguientes afirmaciones son verdaderas:
I. Con el algoritmo de planificación SRT la llegada de un nuevo proceso al sistema provoca siempre el desalojo del
proceso actualmente en ejecución.
II. El algoritmo de planificación SJF concede la CPU al proceso que ocupa menos espacio en memoria.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
3.- Considere un semáforo cuyo valor actual es 3. Una operación de señal sobre el mismo...
a) Deja un valor de 2 en el semáforo
b) Deja un valor de 4 en el semáforo
c) Deja un valor de 4 en el semáforo excepto si existen procesos en espera por el mismo, en cuyo caso queda con 3
d) Deja un valor de 4 en el semáforo y despierta a uno de los procesos en espera, si lo hay, en cuyo caso queda con 3
4.- Los semáforos son herramientas de:
a) Comunicación entre procesos b) Sincronización entre procesos
c) Planificación de procesos d) Todas las anteriores son ciertas
5.- En el interbloqueo, la estrategia que requiere declarar por adelantado los recursos máximos necesarios es:
a) Prevención del interbloqueo mediante negación de retención y espera
b) Prevención del interbloqueo mediante espera circular
c) Detección y recuperación
d) Evitación mediante el algoritmo del banquero
6.- El término reubicable se refiere a:
a) La asignación a un programa de un conjunto fijo de direcciones de memoria especificadas en tiempo de ejecución.
b) La posibilidad de cargar y ejecutar un programa dado en un lugar arbitrario de memoria.
c) Las operaciones de eliminar de la memoria principal procesos suspendidos, llevarlos al disco y cargar del disco a la
memoria principal procesos para su ejecución.
d) Las tareas del sistema operativo realizadas en tiempo de ejecución.
7.- En un sistema de archivos tipo UNIX, un nodo-i es:
a) Un nodo de un esquema en la representación de datos del sistema.
b) Un tipo determinado de archivo del sistema operativo, para la gestión de los procesos en ejecución.
c) Una estructura de control que contiene información clave de un archivo necesaria para el sistema operativo.
d) Un registro de memoria principal para el acceso al sistema de almacenamiento de información.
8.- Un computador funciona a una velocidad de 107 ciclos/segundo, una instrucción emplea 4 ciclos máquina, y una
operación de lectura/escritura de memoria tarda 1 ciclo máquina. Si se emplean 3 instrucciones en transferir cada palabra,
la máxima velocidad de transferencia de datos utilizando E/S controlada por programa es:
a) 525.000 palabras/segundo b) 2.048 palabras/segundo
c) 833.333 palabras/segundo d) 10.000.000 palabras/segundo
9.- Suponiendo que el directorio actual es /usr/soi, indicar cual de los siguientes nombres de ruta para el archivo
/usr/soi/docum no es correcto
a) docum b) ../docum c)../soi/docum d) ./docum
10.- ¿Cuál es la página que se sustituirá en el algoritmo de sustitución “óptimo”?
a) la utilizada menos frecuentemente b) la que se utilizó la última vez
c) la siguiente que se va a utilizar d) la que tardará más en volverse a utilizar
SISTEMAS OPERATIVOS I Mayo 2005
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208
INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 53209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) Se pide escribir un programa que conste de dos procesos concurrentes A y B sincronizados mediante dos
semáforos de tal manera que el resultado final de la ejecución sea que los procesos escriban en la salida estándar en

x Primero, el proceso A debe escribir: "Hola soy A".


secuencia lo siguiente:

x Segundo, el proceso B debe escribir: "Hola soy B".


x Tercero, el proceso A debe escribir: "Se despide A".
x Cuarto, el proceso B debe ecribir: "Se despide B".

Solución:

Program/Module Presentación;
var
A_continua, B_continua: semaforo;

Process A;
begin
put("Hola soy A");
signal(B_continua);
wait(A_continua);
put("Se despide A");
signal(B_continua);
end;

Process B;
begin
wait(B_continua);
put("Hola soy B");
signal(A_continua);
wait(B_continua);
put("Se despide B");
end;

begin
inicializa(A_continua, 0);
inicializa(B_continua, 0);
cobegin
A, B;
coend;
end;
2.- (3puntos).
En un sistema que implementa memoria virtual mediante demanda de páginas, un proceso genera la siguiente secuencia
de referencias a páginas de memoria:
2 5 1 3 5 0 4 1 0 8 7 9 5 7 1 0 2 5 9 8 2
Con 5 marcos de página inicialmente vacíos estudiar:
a) cuantos fallos de página se producen si se utiliza el algoritmo LRU para la sustitución de páginas
b) cuantos fallos de página se produce si el algoritmo utilizado es el FIFO
c) razonar si aumentando indefinidamente el número de marcos de página se mejoraría la tasa de fallos de página.

Solución:

a) Este algoritmo sustituye la página en memoria que no ha sido referenciada en memoria desde hace mas tiempo.

2 5 1 3 5 0 4 1 0 8 7 9 5 7 1 0 2 5 9 8 2
X 2 5 1 3 5 0 4 1 0 8 7 9 5 7 1 0 2 5 9 8
X X 2 5 1 3 5 0 4 1 0 8 7 9 5 7 1 0 2 5 9
X X X 2 2 1 3 5 5 4 1 0 8 8 9 5 7 1 0 2 5
X X X X X 2 1 3 3 5 4 1 0 0 8 9 5 7 1 0 0
F F F F F F F F F F F F F F F

Hay 15 fallos de página

b) En este algoritmo se sustituye la página que mas tiempo lleva en memoria

2 5 1 3 3 0 4 4 4 8 7 9 5 5 1 0 2 2 2 8 8
X 2 5 1 1 3 0 0 0 4 8 7 9 9 5 1 0 0 0 2 2
X X 2 5 5 1 3 3 3 0 4 8 7 7 9 5 1 1 1 0 0
X X X 2 2 5 1 1 1 3 0 4 8 8 7 9 5 5 5 1 1
X X X X X 2 5 5 5 1 3 0 4 4 8 7 9 9 9 5 5
F F F F F F F F F F F F F F

Hay 14 fallos de página

c) Hay que tener en cuenta que tenemos 9 páginas diferentes (10, si se cuenta la 6, aunque no se ha referenciado en el
enunciado), luego como mínimo tenemos que tener 9 fallos de página (10 si no contamos la 6). En cuanto tengamos un
número de marcos de página que ya nos permita tener 10 fallos de página, aunque aumentemos el número de marcos, los
fallos no los reduciremos.
SISTEMAS OPERATIVOS I Tipo de Examen: A Junio 2005 - Original
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208 INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 54209 .
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Calcular el tiempo de retorno y de espera para P2 (ver tabla) al aplicar el algoritmo de planificación a corto plazo SRT.
Proceso Tiempo de llegada (s) Tiempo de ejecución (s)
P1 0 9
P2 1 5
P3 2 2
a) 8 y 3 s b) 15 y 10 s c) 7 y 2 s d) Ninguno de los anteriores
2.- Indique si las siguientes afirmaciones son verdaderas:
I. Cuando se planifica mediante Round Robin, se puede producir un cambio de contexto antes del final de la rodaja
de tiempo
II. Cuando se planifica mediante Round Robin, un proceso puede ejecutarse durante dos rodajas de tiempo
consecutivas.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
3.- Indique si las siguientes afirmaciones son verdaderas:
I. La instrucción de espera sobre un semáforo duerme siempre al proceso llamador
II. El problema de la sección crítica aparece porque varios procesos concurrentes pueden acceder a un mismo
conjunto de datos
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
4.- El siguiente código pretende gestionar la exclusión mutua en el acceso a una sección crítica, usando la instrucción
atómica swap(a, b) que intercambia los valores de a y b:
flag:=?;
repeat
swap(bloqueo, flag);
until flag=false;
/*sección crítica*/
bloqueo:=?
¿Con qué valores deben sustituirse las interrogaciones para que funciones adecuadamente?
a) flag=false y bloqueo=false b) flag=false y bloqueo=true c) flag=true y bloqueo=false d) flag=true y bloqueo=true
5.- El algoritmo del banquero...
a) requiere la declaración previa de cuántos procesos se van a ejecutar.
b) es un algoritmo de detección de interbloqueo
c) puede retener la ejecución de un proceso, aun cuando existan recursos disponibles para él.
d) sólo es implementable si el número de recursos es ilimitado
6.- Indique si las siguientes afirmaciones son verdaderas:
I. La fragmentación se refiere a la incapacidad del sistema operativo para asignar porciones de memoria no
utilizada.
II. El sistema de los asociados para la gestión de memoria no produce ningún tipo de fragmentación.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
7.- Si encontrándonos en el directorio /usr/man queremos copiar el archivo examen desde este directorio al directorio
/usr/ara, indicar cuál de las siguientes opciones no es correcta:
a) cp examen /usr/ara/examen b) cp /usr/man/examen examen
c) cp examen ../ara/examen d) cp /usr/man/examen /usr/ara/examen
8.- Un disco con 200 pistas (de la 0 a la 199) tiene una cola de peticiones de acceso: 81, 142, 86, 172, 89, 145, 97, 170,
125. La cabeza se encuentra en la pista 100. ¿Cuál es la longitud media de búsqueda para satisfacer estas solicitudes con
el algoritmo de planificación del disco FCFS?:
a) 28 b) 345 c) 58.5 d) 1
9.- Los buffers de E/S corresponden a:
a) Un dispositivo de gestión de las entradas y salidas de datos al computador.
b) Al espacio de la memoria principal que se reserva para el almacenamiento intermedio de datos procedentes (o con
destino) a los periféricos.
c) A la parte del disco utilizada para gestionar de forma intermedia los accesos de entrada y de salida.
d) A los dispositivos de almacenamiento secundario que se sitúan entre el mundo físico y el computador.
10.- ¿Cuál es la página que se sustituye en el algoritmo de sustitución FIFO?
a) la que lleva mas tiempo en memoria b) la que tardará más en volverse a utilizar
c) la utilizada menos frecuentemente d) la siguiente que se va a llamar
SISTEMAS OPERATIVOS I Junio 2005
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208
INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 54209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.
1.- (3 puntos) En un sistema concurrente existen dos tipos de procesos, A y B, que compiten por utilizar cierto recurso. En
cualquier momento puede haber un máximo de N procesos de cualquier tipo usando el recurso (N constante). Por otro
lado, para que un proceso de tipo A pueda entrar a emplear el recurso, debe haber al menos el doble de procesos de tipo B
que procesos de tipo A dentro del recurso. Diseñe una solución usando semáforos.
Solución:
2.- (3 puntos) En un sistema operativo se utiliza una estructura de nodos-i similar a la de Unix. Los bloques son de 2048
bytes. Las entradas en los nodos-i dedican 64 bits al tamaño del archivo y 32 bits a los punteros de los bloques.
El nodo-i tiene 8 entradas de direccionamiento directo, una de direccionamiento indirecto simple, y otra de
direccionamiento indirecto doble. La entrada de archivos abiertos tiene una entrada para cada archivo con un campo de
64 bits que indica el desplazamiento.
Calcular el tamaño máximo de un archivo que utiliza todo el disco.

Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: A Junio 2005 - Original
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Calcular el tiempo de retorno y de espera para P2 (ver tabla) al aplicar el algoritmo de planificación a corto plazo SRT.
Proceso Tiempo de llegada (s) Tiempo de ejecución (s)
P1 0 9
P2 1 5
P3 2 2
a) 8 y 3 s b) 15 y 10 s c) 7 y 2 s d) Ninguno de los anteriores
2.- Indique si las siguientes afirmaciones son verdaderas:
I. Cuando se planifica mediante Round Robin, se puede producir un cambio de contexto antes del final de la rodaja de
tiempo
II. Cuando se planifica mediante Round Robin, un proceso puede ejecutarse durante dos rodajas de tiempo consecutivas.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
3.- Indique si las siguientes afirmaciones son verdaderas:
I. La instrucción de espera sobre un semáforo duerme siempre al proceso llamador
II. El problema de la sección crítica aparece porque varios procesos concurrentes pueden acceder a un mismo
conjunto de datos
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
4.- El siguiente código pretende gestionar la exclusión mutua en el acceso a una sección crítica, usando la instrucción
atómica swap(a, b) que intercambia los valores de a y b:
flag:=?;
repeat
swap(bloqueo, flag);
until flag=false;
/*sección crítica*/
bloqueo:=?
¿Con qué valores deben sustituirse las interrogaciones para que funciones adecuadamente?
a) flag=false y bloqueo=false b) flag=false y bloqueo=true c) flag=true y bloqueo=false d) flag=true y bloqueo=true
5.- El algoritmo del banquero...
a) requiere la declaración previa de cuántos procesos se van a ejecutar.
b) es un algoritmo de detección de interbloqueo
c) puede retener la ejecución de un proceso, aun cuando existan recursos disponibles para él.
d) sólo es implementable si el número de recursos es ilimitado
6.- Indique si las siguientes afirmaciones son verdaderas:
I. La fragmentación se refiere a la incapacidad del sistema operativo para asignar porciones de memoria no utilizada.
II. El sistema de los asociados para la gestión de memoria no produce ningún tipo de fragmentación.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
7.- Si encontrándonos en el directorio /usr/man queremos copiar el archivo examen desde este directorio al directorio
/usr/ara, indicar cuál de las siguientes opciones no es correcta:
a) cp examen /usr/ara/examen b) cp /usr/man/examen examen
c) cp examen ../ara/examen d) cp /usr/man/examen /usr/ara/examen
8.- Un disco con 200 pistas (de la 0 a la 199) tiene una cola de peticiones de acceso: 81, 142, 86, 172, 89, 145, 97, 170,
125. La cabeza se encuentra en la pista 100. ¿Cuál es la longitud media de búsqueda para satisfacer estas solicitudes con
el algoritmo de planificación del disco FCFS?:
a) 28 b) 345 c) 58.5 d) 1
9.- Los buffers de E/S corresponden a:
a) Un dispositivo de gestión de las entradas y salidas de datos al computador.
b) Al espacio de la memoria principal que se reserva para el almacenamiento intermedio de datos procedentes (o con
destino) a los periféricos.
c) A la parte del disco utilizada para gestionar de forma intermedia los accesos de entrada y de salida.
d) A los dispositivos de almacenamiento secundario que se sitúan entre el mundo físico y el computador.
10.- ¿Cuál es la página que se sustituye en el algoritmo de sustitución FIFO?
a) la que lleva mas tiempo en memoria b) la que tardará más en volverse a utilizar
c) la utilizada menos frecuentemente d) la siguiente que se va a llamar
SISTEMAS OPERATIVOS I Junio 2005
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208
INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 54209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.
1.- (3 puntos) En un sistema concurrente existen dos tipos de procesos, A y B, que compiten por utilizar cierto recurso. En
cualquier momento puede haber un máximo de N procesos de cualquier tipo usando el recurso (N constante). Por otro
lado, para que un proceso de tipo A pueda entrar a emplear el recurso, debe haber al menos el doble de procesos de tipo B
que procesos de tipo A dentro del recurso. Diseñe una solución usando semáforos.
Solución:

Program/module Compartir_recurso;

var mutex, avisa, hueco: semaforo;


procA, procB, espera: integer;

Process AX Process BX
begin begin
espera(hueco); espera(hueco);
espera(mutex); espera(mutex);
if 2*procA>procB then procB:=procB+1;
begin if (espera >0) and (2*procA<=procB) then
espera:=espera+1; señal(avisa);
señal(mutex); señal(mutex);
señal(hueco);
espera(avisa); {utiliza el recurso}
espera(hueco);
espera(mutex); espera(mutex);
espera:=espera-1; procB:=procB-1;
end; señal(mutex);
procA:=ProcA+1; señal(hueco);
señal(mutex); end;

{utiliza el recurso}

espera(mutex);
procA:=ProcA-1;
if (espera >0) and (2*procA<=procB) then
señal(avisa);
señal(mutex);
señal(hueco);
end;

Process Padre
begin
inicializa(mutex, 1);
inicializa(hueco, N);
inicializa(avisa, 0);
ProcA=ProcB=espera=0;
cobegin
As, Bs;
coend
end;
2.- (3 puntos) En un sistema operativo se utiliza una estructura de nodos-i similar a la de Unix. Los bloques son de 2048
bytes. Las entradas en los nodos-i dedican 64 bits al tamaño del archivo y 32 bits a los punteros de los bloques.
El nodo-i tiene 8 entradas de direccionamiento directo, una de direccionamiento indirecto simple, y otra de
direccionamiento indirecto doble. La entrada de archivos abiertos tiene una entrada para cada archivo con un campo de
64 bits que indica el desplazamiento.
Calcular el tamaño máximo de un archivo que utiliza todo el disco.

Solución:

Hay que considerar todos los parámetros que pueden limitar dicho tamaño y buscar el más restrictivo.

1) Considerar la estructura del sistema de archivos, el número máximo de bloques asignado a un archivo en su nodo-i
(bloques).

Como el tamaño de un bloque es de 2.048 bytes, y los punteros son de 32 bits=4 bytes, entonces, el número de punteros a
bloques que caben en un bloque es de 2048/4 = 512 punteros. Por lo tanto tendremos:

Direccionamiento directo: 8 bloques


Indirecto simple: 512 bloques
Indirecto doble: 512*512 bloques = 262144

Total= 262664 bloques

2) Considerando el tamaño de un puntero. Como el tamaño de un puntero es de 32 bits, el máximo número de bloques
que se puede referenciar con un puntero es de 232

3) Teniendo en cuenta el tamaño del archivo en el nodo-i, que es de 64 bits. El tamaño máximo considerando sólo esta
limitación sería de 264 bytes, en bloques sería 264/2048 = 264/211 = 253

4) Teniendo en cuenta el campo desplazamiento en la tabla de archivos abiertos, que es de 64 bits.


Luego sería también de 264 bytes

La solución será por tanto la mas restrictiva que corresponde a la opción 1, por la estructura de archivos.
SISTEMAS OPERATIVOS I Tipo de Examen: A Septiembre 2005 - O
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas O
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Indique si las siguientes afirmaciones son verdaderas:
I. Si un sistema no es multiprocesamiento tampoco es multitarea.
II. El estado global del sistema define al conjunto de recursos y procesos y es una constante del sistema operativo.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no
2.- Un proceso en estado bloqueado
a) siempre espera por la ocurrencia de un evento.
b) siempre espera por la conclusión de una actividad de E/S.
c) reside en la cola de preparados en espera de entrar nuevamente en la CPU.
d) reside en la cola de procesos de baja prioridad.
3.- Indique si las siguientes afirmaciones son verdaderas:
I. La técnica de envejecimiento en la estrategia de planificación por prioridades se utiliza para evitar el interbloqueo.
II. En los algoritmos de planificación de tipo expropiativo el proceso que se está ejecutando puede ser interrumpido
por parte del sistema operativo
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no
4.- Considere un semáforo cuyo valor actual es 6. Una operación de señal sobre el mismo...
a) Deja un valor de 5 en el semáforo.
b) Deja un valor de 7 en el semáforo.
c) Deja un valor de 7 en el semáforo excepto si existen procesos en espera por el mismo, en cuyo caso queda con 6.
d) Los valores de un semáforo sólo pueden ser de 0 o 1.
5.- Indique si las siguientes afirmaciones son verdaderas:
I. Los monitores son herramientas que por si mismas permiten la compartición de datos por procesos concurrentes
II. Los monitores son herramientas que por si mismas permiten la sincronización entre procesos concurrentes
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
6.- El concepto de intercambio se refiere a:
a) La posibilidad de cargar y ejecutar un programa dado en un lugar arbitrario de memoria.
b) La asignación a un programa de un conjunto fijo de direcciones de memoria especificadas en tiempo de ejecución.
c) Las operaciones de eliminar de la memoria principal procesos suspendidos, llevarlos al disco y cargar del disco a la
memoria principal procesos para su ejecución.
d) Las tareas realizadas por el sistema operativo para bloquear un proceso en ejecución.
7.- Una lista de acceso es:
a) Una lista ordenada que enlaza a cada uno de los archivos del sistema.
b) Una lista ordenada con todos los dominios que pueden tener acceso a un determinado objeto (programa, archivo,
etc) y la forma de acceso.
c) Una lista con los punteros que dan acceso a los archivos almacenados en el disco.
d) Una lista con los accesos y los dominios de los sistemas que están conectados.
8.- Un computador funciona a una velocidad de 107 ciclos/segundo, una instrucción emplea 4 ciclos máquina, y una
operación de lectura/escritura de memoria tarda 1 ciclo máquina. Si se emplean 3 instrucciones en transferir cada palabra,
la máxima velocidad de transferencia de datos utilizando un sistema de DMA:
a) 525.000 palabras/segundo b) 10.000.000 palabras/segundo
c) 833.333 palabras/segundo d) Ninguna de las anteriores
9.- Con el concepto de “independencia de dispositivo” nos referimos a:
a) La construcción de dispositivos que sirvan para distintas máquinas.
b) La utilización de las funciones del sistema operativo específicas para cada uno de los dispositivos.
c) La abstracción que algunos sistemas operativos realizan del sistema de E/S.
d) Los sistemas de E/S que dependen únicamente del sistema operativo.
10.- La fragmentación externa ocurre cuando:
a) Dentro de una partición hay una parte de memoria que no se puede utilizar.
b) Se desperdicia memoria en variables no utilizadas por el programa.
c) No se utiliza una partición libre porque es pequeña para las tareas que esperan.
d) Se utilizan todas las particiones libres aunque las tareas que esperan sean mas grandes que ellas.
SISTEMAS OPERATIVOS I Septiembre 2005 - O
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _______________________ Código asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) En el parque de atracciones se ha establecido límite de usuarios por razones de seguridad (para ello se han
instalado unos torniquetes a la entrada y a la salida que controlan en todo momento el número de personas en el parque)
de forma que cuando está completo se debe esperar para entrar que alguien salga. En los días de vacaciones se forman
largas colas, por lo que el parque ha decidido crear una entrada VIP, más cara que la NORMAL, pero que da preferencia a
la hora de acceder a las instalaciones cuando el parque está lleno. Realizar el código de entrada y salida del parque, de
forma que cuando alguien abandona el parque, si este estaba lleno, su lugar será ocupado por una persona con entrada
VIP, si no hubiera personas con entrada VIP esperando, entonces su lugar será ocupado por una persona con entrada
NORMAL. Definir los procesos EntradaX y SalidaX que se ejecutan cuando una persona entra o sale del parque. Utilizar
semáforos para gestionar la capacidad del parque y las colas de espera.
Solución:
2.- (3puntos).
Una memoria virtual dispone de 9 marcos para programas. En un momento dado se está ejecutando el proceso P1, que
tiene concedidos 3 marcos, y P2 y P3 solicitan memoria para ejecutarse (el tamaño de P2 es el doble que el de P3, 1024 y
512 Kb respectivamente). Para ello, se realiza un reparto de todos los marcos libres de forma proporcional al tamaño de
los dos procesos y ambos entran en ejecución. Cuando el proceso P3 demanda por primera vez la página 3 el proceso
P1 termina y sus marcos se reparten entre los procesos P2 y P3 de forma proporcional a sus tamaños.

a) Determine cuántos marcos de página corresponden a cada proceso en cada instante.


b) Determine cuántos fallos de página se producen en el proceso P3 si la secuencia de petición de páginas es la siguiente:

1 2 1 5 2 3 7 6 5 4 3 7 5 6 7 3 7 6 4 3 7

Compare los resultados de este apartado para las políticas FIFO y LRU.
Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: A Septiembre 2005 - O
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208 INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo 54209
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Indique si las siguientes afirmaciones son verdaderas:
I. Si un sistema no es multiprocesamiento tampoco es multitarea
II. El estado global del sistema define al conjunto de recursos y procesos y es una constante del sistema operativo
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no
2.- Un proceso en estado de bloqueo
a) siempre espera por la ocurrencia de un evento
b) siempre espera por la conclusión de una actividad de E/S
c) reside en la cola de preparados en espera de entrar nuevamente en la CPU
d) reside en la cola de procesos de baja prioridad
3.- Indique si las siguientes afirmaciones son verdaderas:
I. La técnica de envejecimiento en la estrategia de planificación por prioridades se utiliza para evitar el interbloqueo.
II. En los algoritmos de planificación de tipo expropiativo el proceso que se está ejecutando puede ser interrumpido
por parte del sistema operativo
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no
4.- Considere un semáforo cuyo valor actual es 6. Una operación de señal sobre el mismo...
a) Deja un valor de 5 en el semáforo
b) Deja un valor de 7 en el semáforo
c) Deja un valor de 7 en el semáforo excepto si existen procesos en espera por el mismo, en cuyo caso queda con 6
d) Los valores de un semáforo sólo pueden ser de 0 o 1
5.- Indique si las siguientes afirmaciones son verdaderas:
III. Los monitores son herramientas que por si mismas permiten la compartición de datos por procesos concurrentes
IV. Los monitores son herramientas que por si mismas permiten la sincronización entre procesos concurrentes
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
6.- El concepto de intercambio se refiere a:
a) La posibilidad de cargar y ejecutar un programa dado en un lugar arbitrario de memoria.
b) La asignación a un programa de un conjunto fijo de direcciones de memoria especificadas en tiempo de ejecución.
c) Las operaciones de eliminar de la memoria principal procesos suspendidos, llevarlos al disco y cargar del disco a
la memoria principal procesos para su ejecución.
d) Las tareas realizadas por el sistema operativo para bloquear un proceso en ejecución.
7.- Una lista de acceso es:
a) Una lista ordenada que enlaza a cada uno de los archivos del sistema.
b) Una lista ordenada con todos los dominios que pueden tener acceso a un determinado objeto (programa,
archivo, etc) y la forma de acceso.
c) Una lista con los punteros que dan acceso a los archivos almacenados en el disco.
d) Una lista con los accesos y los dominios de los sistemas que están conectados.
8.- Un computador funciona a una velocidad de 107 ciclos/segundo, una instrucción emplea 4 ciclos máquina, y una
operación de lectura/escritura de memoria tarda 1 ciclo máquina. Si se emplean 3 instrucciones en transferir cada palabra,
la máxima velocidad de transferencia de datos utilizando un sistema de DMA:
a) 525.000 palabras/segundo b) 10.000.000 palabras/segundo
c) 833.333 palabras/segundo d) Ninguna de las anteriores
9.- Con el concepto de “independencia de dispositivo” nos referimos a:
a) La construcción de dispositivos que sirvan para distintas máquinas.
b) La utilización de las funciones del sistema operativo específicas para cada uno de los dispositivos.
c) La abstracción que algunos sistemas realizan del sistema de E/S.
d) Los sistemas de E/S que dependen únicamente del sistema operativo.
10.- La fragmentación externa ocurre cuando:
a) Dentro de una partición hay una parte de memoria que no se puede utilizar.
b) Se desperdicia memoria en variables no utilizadas por el programa.
c) No se utiliza una partición libre porque es pequeña para las tareas que esperan.
d) Se utilizan todas las particiones libres aunque las tareas que esperan sean mas grandes que ellas.
SISTEMAS OPERATIVOS I Septiembre 2005 - O
INFORMÁTICA DE SISTEMAS – Plan antiguo: 40208 Plan nuevo: 53208
INFORMÁTICA DE GESTIÓN – Plan antiguo: 41209 Plan nuevo: 53209 2 horas/Ningún material permitido
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _______________________ Código asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) En el parque de atracciones se ha establecido límite de usuarios por razones de seguridad (para ello se han
instalado unos torniquetes a la entrada y a la salida que controlan en todo momento el número de personas en el parque)
de forma que cuando está completo se debe esperar para entrar que alguien salga. En los días de vacaciones se forman
largas colas, por lo que el parque ha decidido crear una entrada VIP, más cara que la NORMAL, pero queda preferencia a
la hora de acceder a las instalaciones cuando el parque está lleno. Realizar el código de entrada y salida del parque, de
forma que cuando alguien abandona el parque, su lugar será ocupado por una persona con entrada VIP, si no hubiera
personas con entrada VIP esperando, entonces su lugar será ocupado por una persona con entrada NORMAL. Definir los
procesos Entradas y Salidas que se ejecutan cuando una persona entra o sale del parque. Utilizar semáforos para gestionar
la capacidad del parque y la cola de espera.

Solución:

Program/module Parque_Atracciones;

var sem_vip, sem_normal, mutex: semaforo;


usuarios, usuarios_normales, usuarios_vip: integer;
tiket: {vip, normal};
Const capacidad N

Process EntradaX (tiket: tiket) Process SalidaX(tiket: tiket)


begin begin
espera(mutex); espera(mutex);
if usuarios >= capacidad then if usuarios_vip >= 0 then
if tiket = vip then begin
begin señal(sem_vip);
usuarios_vip= usuarios_vip +1; usuarios_vip= usuarios_vip - 1;
señal(mutex); end;
espera(sem_vip); else
end if usuarios_normales >= 0 then
else begin
begin señal(sem_normal);
usuarios_normales= usuarios_normales +1; usuarios_normales= usuarios_normales - 1;
señal(mutex); end;
espera(sem_normal); else
end; usuarios = usuarios - 1;
else señal(mutex);
begin end;
usuarios= usuarios+1;
señal(mutex);
end;
end;

Process Padre
begin
inicializa(mutex, 1);
inicializa(sem_vip, 0);
inicializa(sem_normal, 0);
usuarios=usuarios_normales=usuarios_vip=0;
cobegin
EntradaS, SalidaS;
coend
end;
2.- (3puntos).
Una memoria virtual dispone de 9 marcos para programas. En ese momento se está ejecutando el proceso P1, que tiene
concedidos 3 marcos, P2 y P3 solicitan memoria para ajustarse (el tamaño de P2 es el doble que el de P3, 1024 y 512 Kb
respectivamente). Se realiza un reparto de todos los marcos libres de forma proporcional al tamaño de los procesos y
ambos entran en ejecución. Cuando el proceso P3 demanda por primera vez la página 3 el proceso P1 termina y sus
marcos se reparten entre los procesos P2 y P3 de forma proporcional a sus tamaños.

a) Determine cuántos marcos de página corresponden a cada proceso en cada instante.


b) Determine cuántos fallos de página se producen en el proceso P3 si la secuencia de petición de páginas es la siguiente:

1 2 1 5 2 3 7 6 5 4 3 7 5 6 7 3 7 6 4 3 7

Compare los resultados de este apartado para las políticas FIFO y LRU.

Solución:

a) Cuando los procesos P2 y P3 piden memoria el número de marcos libres es 6 pues 3 marcos están asignados al proceso
P1. Como el reparto es proporcional al tamaño de los procesos, se tendrá:

Proceso Tamaño Factor asignación marcos Marcos asignados


P2 1024 1024/(1024+512) = 0,6666 0,6666 * 6 = 4
P3 512 512/(1024+512) = 0,33333 0,3333 * 6 = 2

Es decir, 2/3 de los marcos se le asignan a P2 y 1/3 a P3.


Cuando el proceso P1 termina se reparten sus 3 marcos entre los procesos P2 y P3.

Proceso Factor asignación marcos Nuevos Marcos Total Marcos


P2 0,67 0,6666 * 3 = 2 6
P3 0,33 0,3333 * 3 = 1 3

b) La secuencia de peticiones del proceso P3 se puede dividir en dos partes. La primera parte está formada por la
secuencia de peticiones anteriores a la primera petición de la página 3, ya que durante este periodo P3 tiene asignados 2
marcos de página. La segunda parte está formada por el resto de la secuencia y durante este tiempo el proceso P3 tiene
asignados 3 marcos de página.

Para FIFO

1 2 1 5 2 3 7 6 5 4 3 7 5 6 7 3 7 6 4 3 7
X 1 2 2 5 5 3 7 6 5 4 3 7 5 6 6 3 7 7 4 4 4
X 1 1 2 2 5 3 7 6 5 4 3 7 5 5 6 3 3 7 7 7
2 5 3 7 6 5 4 3 7 7 5 6 6 3 3 3
F F F F F F F F F F F F F F F

En total 15 fallos de páginas.

Para LRU

1 2 1 5 2 3 7 6 5 4 3 7 5 6 7 3 7 6 4 3 7
X 1 2 1 5 2 3 7 6 5 4 3 7 5 6 7 3 7 6 4 3 7
X 1 2 1 5 2 3 7 6 5 4 3 7 5 6 7 3 7 6 4 3
5 2 3 7 6 5 4 3 7 5 6 6 3 7 6 4
F F F F F F F F F F F F F F F F F

En total 17 fallos de páginas.


SISTEMAS OPERATIVOS I Tipo de Examen: A Mayo 2006 - Original
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- La ordenación lineal de recursos actúa sobre la condición de:
a) No apropiación.
b) Retención y espera.
c) Espera circular.
d) Exclusión mutua.
2.- El problema del interbloqueo queda resuelto con:
a) Los semáforos.
b) Las secciones críticas.
c) Variables compartidas.
d) Ninguna opción anterior.
3.- Una solución correcta al problema de la sección crítica:
a) debe garantizar la exclusión mutua.
b) debe garantizar que un proceso no interesado en entrar en sección crítica no impida a otros procesos interesados
entrar en ella.
c) a) y b) son ciertas.
d) a) es cierta y b) lo sería sólo cuando se desea obtener una mayor velocidad en la gestión de la entrada en sección
crítica.
4.- La operación ESPERA ó WAIT sobre un semáforo
a) no ha de ser atómica si se trata de un semáforo binario.
b) duerme siempre al proceso llamador hasta que otro proceso ejecute una SEÑAL o SIGNAL sobre el mismo
semáforo.
c) a) y b) son ciertas.
d) b) es falsa.
5.- Cuando un proceso hace una operación SEÑAL ó SIGNAL sobre un semáforo general
a) Siempre se incrementa en una unidad el valor del semáforo.
b) Se incrementa en una unidad el valor del semáforo y se despierta a un proceso.
c) Se incrementa en una unidad el valor del semáforo cuando no hay procesos suspendidos.
d) Se incrementa en una unidad el valor del semáforo cuando hay procesos suspendidos.
6.- Un proceso cuando desea solicitar un servicio al sistema operativo lo hace mediante:
a) Una función o procedimiento.
b) Una llamada al sistema.
c) Un comando del sistema.
d) Una interrupción.
7.- De las siguientes operaciones, la que menos tiempo consumiría es:
a) traducción de una dirección lógica a dirección física.
b) cambio de contexto.
c) detección de interbloqueo.
d) gestión de un fallo de página.
8.- En un sistema con memoria virtual, el tamaño del espacio lógico de un proceso
a) debe ser menor que la memoria real disponible.
b) debe ser mayor que la memoria real disponible.
c) puede ser mayor que la memoria real disponible.
d) debe ser exactamente igual que la memoria real disponible.
9.- No tiene sentido hablar de
a) un sistema multiprogramado monousuario.
b) un sistema de tiempo compartido no multiprogramado.
c) un sistema de tiempo compartido multiusuario.
d) un sistema multiprogramado y multiprocesador.
10.- El controlador de E/S y la memoria intercambian datos directamente, sin la intervención de la CPU, cuando se tiene:
a) E/S controlada por programa.
b) E/S por interrupciones.
c) DMA.
d) Ninguna de las anteriores.
SISTEMAS OPERATIVOS I 2 horas/Ningún material permitido Mayo 2006
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: ____________________Código de la asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) Considere la siguiente carga de procesos:


PROCESO TIEMPO DE LLEGADA TIEMPO DE EJECUCIÓN
A 0 3
B 1 5
C 3 2
D 9 5
E 12 2

Para las siguientes políticas de planificación:


a) Round Robin o prioridad circular con cuanto igual a 4 y
b) Tiempo que queda mas corto (SRT)
Obtenga el diagrama de Gantt y el tiempo de espera medio para cada política.
Solución:
2 .- (3 puntos) Tenemos un sistema de gestión de memoria paginada. Cada entrada a la tabla de páginas ocupa 4 bytes.
Cada dirección de memoria tiene 32 bits, 20 para indicar el número de página y 12 para el desplazamiento. El tamaño de
las páginas es de 4 Kbytes.
a) ¿Cuántas páginas puede llegar a tener un proceso?
b) ¿Qué tamaño en bytes puede ocupar la tabla como máximo?
c) Un fichero de tamaño 100 Mbytes. ¿Cuánto espacio consumiría en la tabla de páginas?
d) En un instante determinado de tiempo la tabla de páginas es la indicada en la figura. Indicar a que direcciones
físicas de memoria principal corresponden las direcciones lógicas: (0,3000), (1,5050), (2,1058), (3, 515),
(4,2015). Suponer que el marco 0 empieza en la dirección 0.

Nº de página Marco de página Bit presente/ausente


0 5 1
1 1 1
2 1 0
3 2 0
4 9 1
Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: A Mayo 2006 - Original
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- La ordenación lineal de recursos actúa sobre la condición de:
a) No apropiación.
b) Retención y espera.
c) Espera circular.
d) Exclusión mutua.
2.- El problema del interbloqueo queda resuelto con:
a) Los semáforos.
b) Las secciones críticas.
c) Variables compartidas.
d) Ninguna opción anterior.
3.- Una solución correcta al problema de la sección crítica:
a) debe garantizar la exclusión mutua.
b) debe garantizar que un proceso no interesado en entrar en sección crítica no impida a otros procesos interesados
entrar en ella.
c) a) y b) son ciertas.
d) a) es cierta y b) lo sería sólo cuando se desea obtener una mayor velocidad en la gestión de la entrada en sección
crítica.
4.- La operación ESPERA ó WAIT sobre un semáforo
a) no ha de ser atómica si se trata de un semáforo binario.
b) duerme siempre al proceso llamador hasta que otro proceso ejecute una SEÑAL o SIGNAL sobre el mismo
semáforo.
c) a) y b) son ciertas.
d) b) es falsa.
5.- Cuando un proceso hace una operación SEÑAL ó SIGNAL sobre un semáforo general
a) Siempre se incrementa en una unidad el valor del semáforo.
b) Se incrementa en una unidad el valor del semáforo y se despierta a un proceso.
c) Se incrementa en una unidad el valor del semáforo cuando no hay procesos suspendidos.
d) Se incrementa en una unidad el valor del semáforo cuando hay procesos suspendidos.
6.- Un proceso cuando desea solicitar un servicio al sistema operativo lo hace mediante:
a) Una función o procedimiento.
b) Una llamada al sistema.
c) Un comando del sistema.
d) Una interrupción.
7.- De las siguientes operaciones, la que menos tiempo consumiría es:
a) traducción de una dirección lógica a dirección física.
b) cambio de contexto.
c) detección de interbloqueo.
d) gestión de un fallo de página.
8.- En un sistema con memoria virtual, el tamaño del espacio lógico de un proceso
a) debe ser menor que la memoria real disponible.
b) debe ser mayor que la memoria real disponible.
c) puede ser mayor que la memoria real disponible.
d) debe ser exactamente igual que la memoria real disponible.
9.- No tiene sentido hablar de
a) un sistema multiprogramado monousuario.
b) un sistema de tiempo compartido no multiprogramado.
c) un sistema de tiempo compartido multiusuario.
d) un sistema multiprogramado y multiprocesador.
10.- El controlador de E/S y la memoria intercambian datos directamente, sin la intervención de la CPU, cuando se tiene:
a) E/S controlada por programa.
b) E/S por interrupciones.
c) DMA.
d) Ninguna de las anteriores.
SISTEMAS OPERATIVOS I 2 horas/Ningún material permitido Mayo 2006
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: ____________________Código de la asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) Considere la siguiente carga de procesos:


PROCESO TIEMPO DE LLEGADA TIEMPO DE EJECUCIÓN
A 0 3
B 1 5
C 3 2
D 9 5
E 12 2

Para las siguiente políticas de planificación:


a) Round Robin o prioridad circular con cuanto igual a 4 y
b) Tiempo que queda mas corto (SRT)
Obtenga el diagrama de Gantt y el tiempo de espera medio por cada política.
Solución:

RR:

A A A B B B B C C B D D D D E E D - - -
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Tiempo de retorno:
A = 3s
B = 10-1 = 9s
C = 9-3 = 6s
D = 17-9 = 8s
E = 16-12 = 4s

Tiempo de espera:
A = 3-3 = 0s
B = 9-5 = 4s
C = 6-2 = 4s
D = 8-5 = 3s
E = 4-2 = 2s

SRT:

A A A C C B B B B B D D E E D D D - - -
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Tiempo de retorno:
A = 3s
B = 10-1 = 9s
C = 5-3 = 2s
D = 17-9 = 8s
E = 14-12 = 2s

Tiempo de espera:
A = 3-3 = 0s
B = 9-5 = 4s
C = 2-2 = 0s
D = 8-5 = 3s
E = 2-2 = 0s
2 .- (3 puntos)
Tenemos un sistema de gestión de memoria paginada. Cada entrada a la tabla de páginas ocupa 4 bytes. Cada dirección de
memoria tiene 32 bits, 20 para indicar el número de página y 12 para el desplazamiento. El tamaño de las páginas es de 4
Kbytes.
a) ¿Cuántas páginas puede llegar a tener un proceso?
b) ¿Qué tamaño en bytes puede ocupar la tabla como máximo?
c) Un fichero de tamaño 100 Mbytes. ¿Cuánto espacio consumiría en la tabla de páginas?
d) En un instante determinado de tiempo la tabla de páginas es la indicada en la figura. Indicar a que direcciones
físicas de memoria principal corresponden las direcciones lógicas: (0,3000), (1,5050), (2,1058), (3, 515),
(4,2015). Suponer que el marco 0 empieza en la dirección 0.

Nº de página Marco de página Bit presente/ausente


0 5 1
1 1 1
2 1 0
3 2 0
4 9 1
Solución:

a)
Si hay 20 bits para indicar el número de página, entonces se podrá tener 220 = 1.048.576 páginas

b)
El tamaño será 220 * 4 bytes = 4.194.304

c)
100 Mb = 100 Mb/ 4 Kb = 25.600 páginas

Luego necesitará 25.600 entradas * 4 = 102.400 bytes. Luego consumirá en tablas 102.400 bytes.

d)

La dirección física viene dada por: nº marco * tamaño + desplazamiento


Si supone que el marco 0 empieza en la dirección 0 tendremos:

(0,3000) como está en el marco 5, la dirección física será 5*4096+3000


(1,5050) se produce un error ya que el desplazamiento es mayor que una página
(2,1058) como está en el marco 1 será 1*4096+1058, pero como el bit de ausente es 0 no tiene en realidad ninguna
dirección física asociada
(3,515) como está en el marco 2 será 2*4096+515, pero como el bit de ausente es 0 no tiene en realidad ninguna
dirección física asociada
(4,2015) como está en el marco 9 será 9*4096+2015
SISTEMAS OPERATIVOS I Tipo de Examen: D Junio 2006 - Original
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es D.
1.- Un proceso en estado bloqueado
a) siempre espera por la ocurrencia de un evento.
b) siempre espera por la conclusión de una actividad de E/S.
c) reside en la cola de preparados en espera de entrar nuevamente en la CPU.
d) reside en la cola de procesos de baja prioridad.
2.- La utilización de una cola de procesos para la implementación de los semáforos:
a) es imprescindible para colocar en ella a los procesos que ejecutan la operación wait o espera.
b) se resuelve gracias a las instrucciones atómicas (test-and-set ó swap).
c) evita las soluciones con espera activa.
d) todas las anteriores son ciertas.
3.- El problema de la sección crítica aparece porque
a) existen sistemas de memoria compartida aparte de los de paso de mensajes.
b) la espera activa es insuficiente para resolver la exclusión mutua de procesos concurrentes.
c) la ejecución de porciones de código del sistema operativo accediendo a tablas protegidas ha de efectuarse en
exclusión mutua.
d) varios procesos concurrentes pueden acceder a un mismo conjunto de datos.
4.- ¿Cuál es el número mínimo de procesos y recursos necesarios para que se forme interbloqueo?
a) Un proceso y una instancia de recurso.
b) Un proceso y dos instancias de recurso.
c) Dos procesos y una instancia de recurso.
d) Dos procesos y dos instancias de recurso.
5.- Dos procesos que tienen secciones críticas diferentes:
a) Pueden acceder a la vez a las secciones críticas.
b) No pueden acceder a la vez a las secciones críticas.
c) Pueden acceder a la vez a las secciones críticas si se establece comunicación entre los dos procesos.
d) Pueden acceder a la vez a las secciones críticas si se utilizan semáforos no binarios.
6.- Suponiendo que se tienen 4 marcos de página inicialmente vacíos, y que se tiene la siguiente cadena de referencia
7,5,6,1,0,8,3,4,3,3,1,2,8,6,2,3,5,3,4. ¿Cuál es el número de fallos de página si se utiliza el algoritmo de sustitución de la
segunda oportunidad?
a) 10 b) 15 c) 20 d) Ninguna de estas soluciones son válidas
7.- Un manejador de dispositivo es:
a) hardware que controla un dispositivo.
b) software que controla un dispositivo.
c) un programa de usuario.
d) todas las anteriores son falsas.
8.- ¿Cuál de los sistemas de gestión de E/S consume menos ciclos de CPU?:
a) E/S programada.
b) E/S por interrupciones.
c) E/S por DMA.
d) No hay grandes diferencias entre estos métodos.
9.- La independencia del dispositivo hace referencia a que:
a) el usuario no tiene por qué conocer características propias de cada clase de dispositivo.
b) los procesos de usuario deberían trabajar indirectamente con los dispositivos.
c) los dispositivos deberían tener independencia de los procesos de usuario.
d) Los dispositivos transmiten caracteres ASCII.
10.- Un mapa de bits es
a) una cadena de bits, cada uno de los cuales indica el estado de un bloque de disco como libre/asignado.
b) un dispositivo especial que permite agilizar la gestión de la memoria mediante demanda de página.
c) una forma de representación de los estados de un proceso.
d) un conjunto de bits que representan las imágenes que se visualizan en un Terminal.
SISTEMAS OPERATIVOS I 2 horas/Ningún material permitido Junio 2006
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: ____________________Código de la asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.
1.- (3 puntos) Un sistema operativo dispone de un algoritmo de planificación del procesador por colas multinivel

x Tiene tres colas: la primera sigue un algoritmo de planificación Round-Robin o prioridad circular con cuanto de 2 ms;
realimentadas con las siguientes características:

La segunda sigue un algoritmo de planificación Round-Robin con quantum de 4 ms y la tercera sigue una

x Los procesos entran en el sistema por la primera cola.


planificación FIFO.

x Los procesos son degradados de cola si el sistema los expulsa del sistema por vencimiento del cuanto.
x La planificación entre colas es por prioridad siendo la más prioritaria la primera, luego la segunda y después la tercera.

x P1: llega en el instante 0, ejecuta 1 ms de CPU, 6 ms de E/S, 1 ms de CPU y termina.


Se tiene cuatro procesos con el siguiente comportamiento:

x P2: llega en el instante 1, ejecuta 3 ms de CPU y termina.


x P3: llega en el instante 2, ejecuta 7 ms de CPU, 3 ms de E/S, 1 ms de CPU y termina.
x P4: llega en el instante 3, ejecuta 7 ms de CPU y termina.
Se pide:
a) Rellenar el diagrama de estados de ejecución de los procesos, señalando e para indicar ejecución, b para
bloqueado por E/S, p preparado para ejecutar y t terminado.
b) Indicar después de que instantes los procesos se degradan de cola. Especificar la situación después del instante 7.
c) Indicar el tiempo de retorno de los cuatro procesos.
Solución:
a)
ms:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
P1
P2
P3
P4
b)
P1 pasa de la cola 1 a la cola 2 después del instante y a la cola 3 después del instante
P2 pasa de la cola 1 a la cola 2 después del instante y a la cola 3 después del instante
P3 pasa de la cola 1 a la cola 2 después del instante y a la cola 3 después del instante
P4 pasa de la cola 1 a la cola 2 después del instante y a la cola 3 después del instante

Después del instante 7:

RR(2)
Entrada Salida

RR(4)
Entrada Salida

FIFO
Entrada Salida

c) Los tiempos de retorno son:


2.- (3 puntos) Un planificador de disco que tiene 200 registros (del 0 al 199). Se acaba de atender una petición en el
registro 137 y ahora se está accediendo al registro 118. La cola de peticiones pendientes es: 13, 149, 88, 191, 93, 150,
101, 183, 134. Indicar en que consiste los algoritmos de planificación de disco FCFS, SSTF, SCAN y LOOK. Calcular el
número de pistas que atraviesa la cabeza para satisfacer cada una de las peticiones, utilizando los algoritmos indicados
anteriormente. Comentar cuál es la diferencia entre SCAN y LOOK.
Solución:

FCFS:

Pista a la que
se accede
Nº pistas que
se atraviesan

SSTF:

Pista a la que
se accede
Nº pistas que
se atraviesan

SCAN:

Pista a la que
se accede
Nº pistas que
se atraviesan

LOOK:

Pista a la que
se accede
Nº pistas que
se atraviesan

La diferencia entre SCAN y LOOK es:


SISTEMAS OPERATIVOS I Tipo de Examen: D Junio 2006 - Original
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es D.
1.- Un proceso en estado bloqueado
a) siempre espera por la ocurrencia de un evento.
b) siempre espera por la conclusión de una actividad de E/S.
c) reside en la cola de preparados en espera de entrar nuevamente en la CPU.
d) reside en la cola de procesos de baja prioridad.
2.- La utilización de una cola de procesos para la implementación de los semáforos:
a) es imprescindible para colocar en ella a los procesos que ejecutan la operación wait o espera.
b) se resuelve gracias a las instrucciones atómicas (test-and-set ó swap).
c) evita las soluciones con espera activa.
d) todas las anteriores son ciertas.
3.- El problema de la sección crítica aparece porque
a) existen sistemas de memoria compartida aparte de los de paso de mensajes.
b) la espera activa es insuficiente para resolver la exclusión mutua de procesos concurrentes.
c) la ejecución de porciones de código del sistema operativo accediendo a tablas protegidas ha de efectuarse en
exclusión mutua.
d) varios procesos concurrentes pueden acceder a un mismo conjunto de datos.
4.- ¿Cuál es el número mínimo de procesos y recursos necesarios para que se forme interbloqueo?
a) Un proceso y una instancia de recurso.
b) Un proceso y dos instancias de recurso.
c) Dos procesos y una instancia de recurso.
d) Dos procesos y dos instancias de recurso.
5.- Dos procesos que tienen secciones críticas diferentes:
a) Pueden acceder a la vez a las secciones críticas.
b) No pueden acceder a la vez a las secciones críticas.
c) Pueden acceder a la vez a las secciones críticas si se establece comunicación entre los dos procesos.
d) Pueden acceder a la vez a las secciones críticas si se utilizan semáforos no binarios.
6.- Suponiendo que se tienen 4 marcos de página inicialmente vacíos, y que se tiene la siguiente cadena de referencia
7,5,6,1,0,8,3,4,3,3,1,2,8,6,2,3,5,3,4. ¿Cuál es el número de fallos de página si se utiliza el algoritmo de sustitución de la
segunda oportunidad?
a) 10 b) 15 c) 20 d) Ninguna de estas soluciones son válidas
7.- Un manejador de dispositivo es:
a) hardware que controla un dispositivo.
b) software que controla un dispositivo.
c) un programa de usuario.
d) todas las anteriores son falsas.
8.- ¿Cuál de los sistemas de gestión de E/S consume menos ciclos de CPU?:
a) E/S programada.
b) E/S por interrupciones.
c) E/S por DMA.
d) No hay grandes diferencias entre estos métodos.
9.- La independencia del dispositivo hace referencia a que:
a) el usuario no tiene por qué conocer características propias de cada clase de dispositivo.
b) los procesos de usuario deberían trabajar indirectamente con los dispositivos.
c) los dispositivos deberían tener independencia de los procesos de usuario.
d) Los dispositivos transmiten caracteres ASCII.
10.- Un mapa de bits es
a) una cadena de bits, cada uno de los cuales indica el estado de un bloque de disco como libre/asignado.
b) un dispositivo especial que permite agilizar la gestión de la memoria mediante demanda de página.
c) una forma de representación de los estados de un proceso.
d) un conjunto de bits que representan las imágenes que se visualizan en un Terminal.
SISTEMAS OPERATIVOS I 2 horas/Ningún material permitido Junio 2006
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: ____________________Código de la asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.
1.- (3 puntos) Un sistema operativo dispone de un algoritmo de planificación del procesador por colas multinivel

x Tiene tres colas: la primera sigue un algoritmo de planificación Round-Robin o prioridad circular con cuanto de 2 ms;
realimentadas con las siguientes características:

La segunda sigue un algoritmo de planificación Round-Robin con quantum de 4 ms y la tercera sigue una

x Los procesos entran en el sistema por la primera cola.


planificación FIFO.

x Los procesos son degradados de cola si el sistema los expulsa del sistema por vencimiento del cuanto.
x La planificación entre colas es por prioridad siendo la más prioritaria la primera, luego la segunda y después la tercera.

x P1: llega en el instante 0, ejecuta 1 ms de CPU, 6 ms de E/S, 1 ms de CPU y termina.


Se tiene cuatro procesos con el siguiente comportamiento:

x P2: llega en el instante 1, ejecuta 3 ms de CPU y termina.


x P3: llega en el instante 2, ejecuta 7 ms de CPU, 3 ms de E/S, 1 ms de CPU y termina.
x P4: llega en el instante 3, ejecuta 7 ms de CPU y termina.
Se pide:
a) Rellenar el diagrama de estados de ejecución de los procesos, señalando e para indicar ejecución, b para
bloqueado por E/S, p preparado para ejecutar y t terminado.
b) Indicar después de que instantes los procesos se degradan de cola. Especificar la situación después del instante 7.
c) Indicar el tiempo de retorno de los cuatro procesos.
Solución:
a)
ms:0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
P1 e b b b b b b e t t t t t t t t t t t t t t t t t
P2 e e p p p p p e t t t t t t t t t t t t t t t t
P3 p e e p p p p e e e e p p p p e b b b e t t t
P4 p p e e p p p p p p e e e e p e t t t t t t
b)
P1 pasa de la cola 1 a la cola 2 después del instante -X---- y a la cola 3 después del instante -X----
P2 pasa de la cola 1 a la cola 2 después del instante ---3-- y a la cola 3 después del instante ---X--
P3 pasa de la cola 1 a la cola 2 después del instante ---5-- y a la cola 3 después del instante -13----
P4 pasa de la cola 1 a la cola 2 después del instante ---7-- y a la cola 3 después del instante --17---

Después del instante 7:

RR(2) P1
Entrada Salida

RR(4) P4 P3 P2
Entrada Salida

FIFO
Entrada Salida

c) Los tiempos de retorno son:

P1 =8-0=8 ms
P2=9-1=8 ms
P3=22-2=20 ms
P4=19-3=16 ms
2.- (3 puntos) Un planificador de disco que tiene 200 registros (del 0 al 199). Se acaba de atender una petición en el
registro 137 y ahora se está accediendo al registro 118. La cola de peticiones pendientes es: 13, 149, 88, 191, 93, 150,
101, 183, 134. Indicar en que consiste los algoritmos de planificación de disco FCFS, SSTF, SCAN y LOOK. Calcular el
número de pistas que atraviesa la cabeza para satisfacer cada una de las peticiones, utilizando los algoritmos indicados
anteriormente. Comentar cuál es la diferencia entre SCAN y LOOK.
Solución:

Sección 6-9 y problema 6-14

FCFS:

Pista a la 13 149 88 191 93 150 101 183 134


que se
accede
Nº pistas 105 136 61 103 98 57 49 82 49
que se
atraviesan

SSTF:

Pista a la 134 149 150 183 191 101 93 88 13


que se
accede
Nº pistas 16 15 1 33 8 90 8 5 75
que se
atraviesan

SCAN:

Pista a la 101 93 88 13 134 149 150 183 191


que se
accede
Nº pistas 17 8 5 75 147 15 1 33 8
que se
atraviesan

LOOK:

Pista a la 101 93 88 13 134 149 150 183 191


que se
accede
Nº pistas 17 8 5 75 121 15 1 33 8
que se
atraviesan

La diferencia entre SCAN y LOOK está en que SCAN tiene que llegar hasta el final, por eso cuando pasa de la 13 a la
134 pasa por 147 pistas, y LOOK no tiene que llegar al final, al pasar de la 13 a la 134 pasa solo por 121 pistas.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas. SO1-S06-O
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.-Indique si las siguientes afirmaciones son verdaderas en un sistema de tiempo compartido:
I. Cuando se planifica mediante Round Robin o prioridad circular, un proceso puede ejecutarse durante dos rodajas de
tiempo (cuantos) consecutivas.
II. En la planificación por Prioridades un proceso puede perder la CPU sin haber realizado ninguna llamada al sistema.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
2.- ¿Cuál es el orden de ejecución de los procesos P1, P2 y P3 según el algoritmo SJF (primera tarea más corta) si sus
tiempos de ejecución son 15 ms, 5 ms y 15 ms y el orden de llegada al sistema es a 0 ms, 5 ms y 10 ms, respectivamente?
a) P1, P2, P1 y P3. b) P1, P2 y P3. c) P2, P1 y P3.
d) No se puede determinar al haber dos procesos con el mismo tiempo de ejecución.
3.-Indique si las siguientes afirmaciones sobre semáforos son verdaderas:
I. Causan pérdidas de tiempo debido a esperas ocupadas o esperas activas.
II. Permiten realizar la sincronización de procesos.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
4.- Indique si las siguientes afirmaciones son verdaderas. Si un proceso está dentro de una sección crítica controlada por
semáforo:
I. Ningún otro proceso puede entrar a esa sección crítica.
II. No puede realizar otra operación de wait o espera sobre otro semáforo.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
5.- Indique si las siguientes afirmaciones son verdaderas:
I. Un estado inseguro siempre conduce a interbloqueo.
II. Las técnicas de evitación de interbloqueos se basan en evitar que se cumplan algunas de las condiciones
necesarias para que se produzca interbloqueo.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
6.- Supongamos un sistema de gestión de memoria virtual con paginación, en el que se utiliza como algoritmo de
reemplazo el LRU. Existe un proceso al que se le asignan 4 marcos durante toda su ejecución y que hace referencia a la
siguiente lista de páginas: 4 8 9 7 3 8 4 8 4 6 8
a) Una vez cargadas las cuatro primeras páginas en memoria, tras la referencia al resto de las páginas de la lista se
producirán 3 fallos de página.
b) Si después de la lista anterior se necesita la página 3 se producirá un fallo de página.
c) Si después de la lista anterior se necesita la página 7 se expulsará a la página 4.
d) Ninguna de las afirmaciones anteriores es cierta.
7.- Cuál de las siguientes afirmaciones es correcta:
a) Según el modelo del conjunto de trabajo, las referencias de los programas tienden a agruparse en amplias zonas del
espacio de direcciones.
b) Siempre que se produce un fallo de página se generan dos operaciones de E/S, una para guardar la página a
expulsar y otra para cargar la página referida.
c) La página que se sustituye con el algoritmo del reloj o segunda oportunidad es la que lleva mas tiempo en memoria.
d) Ninguna de las respuestas anteriores es correcta.
8.- Indique en que nivel del sistema de E/S se efectúa la comprobación del permiso de un usuario para utilizar un
dispositivo.
a) Software del sistema operativo independiente del dispositivo. b) Manejador del dispositivo.
c) Software a nivel de usuario. d) Manejador de interrupciones
9.- ¿Puede la memoria auxiliar o secundaria transferir datos a la memoria principal al mismo tiempo que la CPU lee datos
de esa misma memoria?
a) sí, las transferencias de datos se hacen siempre sin la intervención de la CPU.
b) solo si los datos transferidos son del programa en ejecución.
c) no, en las transferencias de datos tiene que intervenir la CPU.
d) sí, en las transferencias de datos interviene la CPU.
10.- Indique si las siguientes afirmaciones son verdaderas
I. En un esquema de memoria virtual, el número de procesos cargados en memoria no depende del tamaño de los mismos.
II. La tabla de páginas sirve para calcular el número del marco donde está cargada una página de un proceso. Esto supone
la traducción de una dirección lógica a una dirección física.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: ____________________Código de la asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final. SO1-S06-O

1.- (2 puntos) Una tribu de caníbales cenan en comunidad una gran olla que contiene M exploradores cocinados. Cuando
un caníbal quiere comer, él mismo se sirve de la olla un explorador, a menos que esté vacía. Si la olla está vacía, el
caníbal despierta al cocinero y espera a que éste llene la olla. Desarrollar el código de las acciones de los caníbales y el
cocinero usando semáforos.
Solución:
2.- (2 puntos). Considere un sistema de gestión de memoria virtual mediante paginación bajo demanda en el que se han
medido estos tiempos:
· Tiempo medio de acceso a memoria principal: 50 nanosegundos.
· Tiempo medio de resolución de un fallo de página: 20 milisegundos.
· El resto de los tiempos se consideran despreciables
Calcule cuál es la máxima tasa de fallos de página aceptable si queremos mantener el tiempo medio de acceso a memoria
(contando con los fallos de página) por debajo de los 200 nanosegundos.
Solución:

3.- (2 puntos) Suponer un sistema de archivos, parecido al de Unix, cuyos bloques son de tamaño de 1 Kb y los punteros
a bloques son de 4 bytes. Se tienen 10 punteros a bloques directos de datos, un puntero a un bloque indirecto simple y uno
a bloque indirecto doble. Se quiere incrementar el tamaño máximo del fichero. Cuál de las siguientes acciones permitiría
un mayor aumento: Añadir un bloque de triple indirección o incrementar el tamaño del bloque a 4 Kb.
Solución:
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas. SO1-S06-O
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.-Indique si las siguientes afirmaciones son verdaderas en un sistema de tiempo compartido:
[Link] se planifica mediante Round Robin o prioridad circular, un proceso puede ejecutarse durante dos rodajas de
tiempo (cuantos) consecutivas.
II. En la planificación por Prioridades un proceso puede perder la CPU sin haber realizado ninguna llamada al sistema.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
2.- ¿Cuál es el orden de ejecución de los procesos P1, P2 y P3 según el algoritmo SJF (primera tarea más corta) si sus
tiempos de ejecución son 15 ms, 5 ms y 15 ms y el orden de llegada al sistema es a 0 ms, 5 ms y 10 ms, respectivamente?
a) P1, P2, P1 y P3. b) P1, P2 y P3. c) P2, P1 y P3.
d) No se puede determinar al haber dos procesos con el mismo tiempo de ejecución.
3.-Indique si las siguientes afirmaciones sobre semáforos son verdaderas:
I. Causan pérdidas de tiempo debido a esperas ocupadas o esperas activas.
II. Permiten realizar la sincronización de procesos.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
4.- Indique si las siguientes afirmaciones son verdaderas. Si un proceso está dentro de una sección crítica controlada por
semáforo:
I. Ningún otro proceso puede entrar a esa sección crítica.
II. No puede realizar otra operación de wait o espera sobre otro semáforo.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
5.- Indique si las siguientes afirmaciones son verdaderas:
I. Un estado inseguro siempre conduce a interbloqueo.
II. Las técnicas de evitación de interbloqueos se basan en evitar que se cumplan algunas de las condiciones
necesarias para que se produzca interbloqueo.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
6.- Supongamos un sistema de gestión de memoria virtual con paginación, en el que se utiliza como algoritmo de
reemplazo el LRU. Existe un proceso al que se le asignan 4 marcos durante toda su ejecución y que hace referencia a la
siguiente lista de páginas: 4 8 9 7 3 8 4 8 4 6 8
a) Una vez cargadas las cuatro primeras páginas en memoria, tras la referencia al resto de las páginas de la
lista se producirán 3 fallos de página.
b) Si después de la lista anterior se necesita la página 3 se producirá un fallo de página.
c) Si después de la lista anterior se necesita la página 7 se expulsará a la página 4.
d) Ninguna de las afirmaciones anteriores es cierta.
7.- Cuál de las siguientes afirmaciones es correcta:
a) Según el modelo del conjunto de trabajo, las referencias de los programas tienden a agruparse en amplias zonas del
espacio de direcciones.
b) Siempre que se produce un fallo de página se generan dos operaciones de E/S, una para guardar la página a
expulsar y otra para cargar la página referida.
c) La página que se sustituye con el algoritmo del reloj o segunda oportunidad es la que lleva mas tiempo en memoria.
d) Ninguna de las respuestas anteriores es correcta.
8.- Indique en que nivel del sistema de E/S se efectúa la comprobación del permiso de un usuario para utilizar un
dispositivo.
a) Software del sistema operativo independiente del dispositivo. b) Manejador del dispositivo.
c) Software a nivel de usuario. d) Manejador de interrupciones
9.- ¿Puede la memoria auxiliar o secundaria transferir datos a la memoria principal al mismo tiempo que la CPU lee datos
de esa misma memoria?
a) sí, las transferencias de datos se hacen siempre sin la intervención de la CPU.
b) solo si los datos transferidos son del programa en ejecución.
c) no, en las transferencias de datos tiene que intervenir la CPU.
d) sí, en las transferencias de datos interviene la CPU.
10.- Indique si las siguientes afirmaciones son verdaderas
[Link] un esquema de memoria virtual, el número de procesos cargados en memoria no depende del tamaño de los mismos.
II. La tabla de páginas sirve para calcular el número del marco donde está cargada una página de un proceso. Esto supone
la traducción de una dirección lógica a una dirección física.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
PLANTILLA DE SOLUCIONES SEPTIEMBRE ORIGINAL 2006:

Modelo A Modelo B Modelo C

1 A D A

2 B A C

3 C A A

4 B D D

5 D A A

6 A A B

7 D B A

8 A C B

9 C B C

10 A C D
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: ____________________Código de la asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final. SO1-S06-O

1.- (2 puntos) Una tribu de caníbales cenan en comunidad una gran olla que contiene M exploradores cocinados. Cuando
un caníbal quiere comer, él mismo se sirve de la olla un explorador, a menos que esté vacía. Si la olla está vacía, el
caníbal despierta al cocinero y espera a que éste llene la olla. Desarrollar el código de las acciones de los caníbales y el
cocinero usando semáforos.
Solución:

program cena;
var
olla, i:integer;
mutex, comer,cocina: semáforo;

process canibalX;
begin
while true
begin
wait(mutex)
if olla=0 then
begin
signal(cocina);
wait(comer);
end;
olla:=olla-1;
signal(mutex);
end;
end,

process cocinero;
begin
while true
begin
wait(cocina);
olla:=m;
signal(comer);
end;
end;

begin
olla:=m,
inicializa(mutex,1);
inicializa(cocina,0);
inicializa(comer,0);
cobegin
canibales;
cocinero;
coend;
end;
2.- (2 puntos). Considere un sistema de gestión de memoria virtual mediante paginación bajo demanda en el que se han
medido estos tiempos:
· Tiempo medio de acceso a memoria principal: 50 nanosegundos.
· Tiempo medio de resolución de un fallo de página: 20 milisegundos.
· El resto de los tiempos se consideran despreciables
Calcule cuál es la máxima tasa de fallos de página aceptable si queremos mantener el tiempo medio de acceso a memoria
(contando con los fallos de página) por debajo de los 200 nanosegundos.
Solución:

El tiempo medio de acceso viene dado por:

tpa=(1-p)×am+p×fp

donde am es el tiempo de acceso a memoria, que será: 50 nanoseg.


fp es el tiempo que lleva resolver un fallo: 20 miliseg.
p es la probabilidad que ocurra un fallo.

Luego nos quedará:

(1-p) ×50 nanoseg + p×20 miliseg < 200 nanoseg

Hay que resolver esta desigualdad

20 u 10 3 p  50 u 10 9 (1  p )  200 u 10 9
20 u 10 6 p  50(1  p )  200
(20 u 10 6  50) p  150

p | 7.5 u 10 6
150
20 u 10  50
6

3.- (2 puntos) Suponer un sistema de archivos, parecido al de Unix, cuyos bloques son de tamaño de 1 Kb y los punteros
a bloques son de 4 bytes. Se tienen 10 punteros a bloques directos de datos, un puntero a un bloque indirecto simple y uno
a bloque indirecto doble. Se quiere incrementar el tamaño máximo del fichero. Cuál de las siguientes acciones permitiría
un mayor aumento: Añadir un bloque de triple indirección o incrementar el tamaño del bloque a 4 Kb.
Solución:

El tamaño máximo de un fichero viene determinado por el número de bloques de datos posibles que permita el sistema.
Entonces, tal y como es el sistema de archivos actual, el número de bloques máximo que puede tener un archivo es:
Directo-----------------------10
Indirecto simple-------------28
Indirecto doble--------------216
Total en bytes (210 u(10 28 216 ))
Se ha tenido en cuenta para el computo de los bloques que en el uso del direccionamiento indirecto el número de punteros
que caben en un bloque es 210 / 4 = 28 punteros.
a) Si se añade un bloque de triple indirección, el máximo tamaño es:
Directo-----------------------10
Indirecto simple-------------28
Indirecto doble--------------216
Indirecto triple--------------224
Total en bytes (210 u(10 28 216224))=234 226218+...
b) Si se incrementa el tamaño del bloque a 4 Kb, se debe tener en cuenta que varía en número de punteros en los bloques
de indirección, siendo ahora, 212 / 4 = 210 punteros y, por lo tanto, el tamaño máximo quedará:
Directo-----------------------10
Indirecto simple-------------210
Indirecto doble--------------220
Total en bytes (212 u(10 210 220 ))=232+222+...
Es mayor en el primer caso.
SISTEMAS OPERATIVOS I Tipo de Examen: A 2007
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas MO07A
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Dos procesos que tienen secciones críticas diferentes:
a) Pueden acceder a la vez a las distintas secciones críticas.
b) No pueden acceder a la vez a las distintas secciones críticas.
c) Pueden acceder a la vez a las secciones críticas si se utilizan semáforos no binarios.
d) Pueden acceder a la vez a las secciones críticas si se establece comunicación entre los dos procesos.
2.- El número máximo de procesos que pueden estar bloqueados en un semáforo binario son:
a) Uno.
b) Dos.
c) Depende de la capacidad que tenga la cola del semáforo.
d) Depende de la declaración del semáforo.
3.- Sea la siguiente carga de procesos. Para la política de planificación Round Robin o prioridad circular con cuanto=4:
PROCESO TIEMPO DE LLEGADA TIEMPO DE EJECUCIÓN
A 0 3
B 1 5
C 3 2
a) El tiempo de espera de B = 5. b) El tiempo de espera de B = 4.
c) El tiempo de espera de B = 3. d) Ninguno de los anteriores.
4.- Indique si las siguientes afirmaciones son verdaderas:
I. Con el algoritmo de planificación SRT la llegada de un nuevo proceso al sistema provoca siempre el desalojo del
proceso actualmente en ejecución.
II. El algoritmo de planificación SJF concede la CPU al proceso que ocupa menos espacio en memoria.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
5.- Los búferes de E/S son:
a) Un dispositivo de gestión de las entradas y salidas de datos al computador.
b) El espacio de la memoria principal que se reserva para el almacenamiento intermedio de datos procedentes (o con
destino) a los periféricos.
c) La parte del disco utilizada para gestionar de forma intermedia los accesos de entrada y salida.
d) La parte del disco utilizada para gestionar de forma intermedia los accesos de entrada y salida con los dispositivos
muy lentos.
6.- El controlador de E/S y la memoria intercambian datos directamente, sin la intervención de la CPU, cuando se tiene:
a) E/S controlada por programa. b) E/S por interrupciones.
c) DMA. d) Ninguna de las anteriores.
7.- El tiempo de búsqueda cuando se está accediendo a disco hace referencia a:
a) El tiempo medio que tarda el sector en estar debajo de la cabeza de lectura/escritura.
b) El tiempo necesario para que la cabeza se posicione en el cilindro adecuado.
c) El tiempo de transferencia.
d) El tiempo que se tarda en recorrer un cilindro del disco.
8.- Para la siguiente cadena de referencia: 8,1,2,3,1,4,1,5,3,4,1,4. Suponiendo que se disponen de 3 marcos de página, el
algoritmo de sustitución óptimo presenta:
a) 10 fallos de página b) 0 fallos de página c) 7 fallos de página d) 5 fallos de página
9.- La idea básica de mecanismo de E/S por interrupciones consiste en:
a) disponer de un mecanismo de acceso directo a memoria.
b) eliminar el bucle de espera.
c) utilizar una pareja de registros base y límite.
d) buscar mecanismos de interactividad.
10.- Entre los criterios de planificación de procesos está el de rendimiento o productividad que corresponde a:
a) el porcentaje de tiempo en el que el procesador está ocupado.
b) el tiempo que trascuerde desde que un proceso se crea hasta su finalización.
c) el código de los programas del sistema.
d) el número de procesos terminados por unidad de tiempo.
SISTEMAS OPERATIVOS I 2007
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) En un parque infantil hay un tobogán y un tren móvil. Los niños comparten las atracciones pero éstas tienen
una capacidad limitada. Todos los niños quieren inicialmente montar en el tobogán y, después, montar en el tren. Pero se
encuentran con el inconveniente de que sólo uno de ellos puede montar en el tobogán al mismo tiempo y sólo tres pueden
montar en el tren. Define un proceso que ejecuten los niños concurrentemente de forma que se sincronicen estas
actividades usando semáforos.
2.- (3 puntos) En un sistema con gestión de memoria virtual por demanda de páginas, el tamaño de la página es de 1 Kb y
el sistema posee 64 Kb de memoria física disponible para programas de usuario. En un determinado momento un
programa de usuario que ocupa 9 páginas se carga para su ejecución. Considerando que en ese momento es el único
proceso en ejecución, y que inicialmente se cargan las páginas 0, 4, 5 y 8 en los marcos 9, 3, 8 y 5 respectivamente.
a) Dibujar la tabla de páginas para esta situación.
b) Calcular la dirección física para las direcciones virtuales (2,50) y (5,20). Explicar el proceso de traducción de
direcciones.
c) Con una política de reemplazo de páginas global, y partiendo de la situación inicial indicada, calcular los fallos de
página que se producen con el algoritmo LRU para la siguiente cadena de referencia:
7561083433128623534
d) Calcular los fallos de página para la misma cadena de referencia, pero considerando que sólo se dispone de 6 marcos
de página para este proceso (considerar que el orden de carga de páginas inicial fue 0, 4, 5 y 8)
SISTEMAS OPERATIVOS I Tipo de Examen: A Mayo 2007 - Original
PRIMERA SEMANA
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Dos procesos que tienen secciones críticas diferentes:
a) Pueden acceder a la vez a las distintas secciones críticas.
b) No pueden acceder a la vez a las distintas secciones críticas.
c) Pueden acceder a la vez a las secciones críticas si se utilizan semáforos no binarios.
d) Pueden acceder a la vez a las secciones críticas si se establece comunicación entre los dos procesos.
2.- El número máximo de procesos que pueden estar bloqueados en un semáforo binario son:
a) Uno.
b) Dos.
c) Depende de la capacidad que tenga la cola del semáforo.
d) Depende de la declaración del semáforo.
3.- Sea la siguiente carga de procesos. Para la política de planificación Round Robin o prioridad circular con cuanto=4:
PROCESO TIEMPO DE LLEGADA TIEMPO DE EJECUCIÓN
A 0 3
B 1 5
C 3 2
a) El tiempo de espera de B = 5. b) El tiempo de espera de B = 4.
c) El tiempo de espera de B = 3. d) Ninguno de los anteriores.
4.- Indique si las siguientes afirmaciones son verdaderas:
I. Con el algoritmo de planificación SRT la llegada de un nuevo proceso al sistema provoca siempre el desalojo del
proceso actualmente en ejecución.
II. El algoritmo de planificación SJF concede la CPU al proceso que ocupa menos espacio en memoria.
a) I: sí, II: sí. b) I: sí, II: no. c) I: no, II: sí. d) I: no, II: no.
5.- Los búferes de E/S son:
a) Un dispositivo de gestión de las entradas y salidas de datos al computador.
b) El espacio de la memoria principal que se reserva para el almacenamiento intermedio de datos procedentes
(o con destino) a los periféricos.
c) La parte del disco utilizada para gestionar de forma intermedia los accesos de entrada y salida.
d) La parte del disco utilizada para gestionar de forma intermedia los accesos de entrada y salida con los dispositivos
muy lentos.
6.- El controlador de E/S y la memoria intercambian datos directamente, sin la intervención de la CPU, cuando se tiene:
a) E/S controlada por programa. b) E/S por interrupciones.
c) DMA. d) Ninguna de las anteriores.
7.- El tiempo de búsqueda cuando se está accediendo a disco hace referencia a:
a) El tiempo medio que tarda el sector en estar debajo de la cabeza de lectura/escritura.
b) El tiempo necesario para que la cabeza se posicione en el cilindro adecuado.
c) El tiempo de transferencia.
d) El tiempo que se tarda en recorrer un cilindro del disco.
8.- Para la siguiente cadena de referencia: 8,1,2,3,1,4,1,5,3,4,1,4. Suponiendo que se disponen de 3 marcos de página, el
algoritmo de sustitución óptimo presenta:
a) 10 fallos de página b) 0 fallos de página c) 7 fallos de página d) 5 fallos de página
9.- La idea básica de mecanismo de E/S por interrupciones consiste en:
a) disponer de un mecanismo de acceso directo a memoria.
b) eliminar el bucle de espera.
c) utilizar una pareja de registros base y límite.
d) buscar mecanismos de interactividad.
10.- Entre los criterios de planificación de procesos está el de rendimiento o productividad que corresponde a:
a) el porcentaje de tiempo en el que el procesador está ocupado.
b) el tiempo que trascuerde desde que un proceso se crea hasta su finalización.
c) el código de los programas del sistema.
d) el número de procesos terminados por unidad de tiempo.
SISTEMAS OPERATIVOS I Mayo 2007 – Original
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) En un parque infantil hay un tobogán y un tren móvil. Los niños comparten las atracciones pero éstas tienen
una capacidad limitada. Todos los niños quieren inicialmente montar en el tobogán y, después, montar en el tren. Pero se
encuentran con el inconveniente de que sólo uno de ellos puede montar en el tobogán al mismo tiempo y sólo tres pueden
montar en el tren. Define un proceso que ejecuten los niños concurrentemente de forma que se sincronicen estas
actividades usando semáforos.

module Niños_felices
var
semaphore: tren {general}
tobogan{binario}

Process NiñosX;
begin
loop Process Padre;
begin begin
wait(tobogan); inicializa (tren=3);
montar_tobogan(); inicializa (tobogan=1);
signal(tobogan);
wait(tren); cobegin
montar_en_tren(); Niños;
signal(tren); coend;
end; end;
end;
2.- (3 puntos) En un sistema con gestión de memoria virtual por demanda de páginas, el tamaño de la página es de 1 Kb y
el sistema posee 64 Kb de memoria física disponible para programas de usuario. En un determinado momento un
programa de usuario que ocupa 9 páginas se carga para su ejecución. Considerando que en ese momento es el único
proceso en ejecución, y que inicialmente se cargan las páginas 0, 4, 5 y 8 en los marcos 9, 3, 8 y 5 respectivamente.
a) Dibujar la tabla de páginas para esta situación.
b) Calcular la dirección física para las direcciones virtuales (2,50) y (5,20). Explicar el proceso de traducción de
direcciones.
c) Con una política de reemplazo de páginas global, y partiendo de la situación inicial indicada, calcular los fallos de
página que se producen con el algoritmo LRU para la siguiente cadena de referencia:
7561083433128623534
d) Calcular los fallos de página para la misma cadena de referencia, pero considerando que sólo se dispone de 6 marcos
de página para este proceso (considerar que el orden de carga de páginas inicial fue 0, 4, 5 y 8)

a)
Nº Página Nº Marco físico Bit de presente/ausente
0 9 1
1 - 0
2 - 0
3 - 0
4 3 1
5 8 1
6 - 0
7 - 0
8 5 1

b) Dirección virtual (2,50): Al acceder a la tabla indica su bit de presente/ausente indica uqe no está, luego se da un fallo
de página y se debe de iniciar el proceso de carga de página.
Dirección virtual (5,20), su bit de presente/ausente indica que está y según la tabla se encuentra en el marco físico 8, la
dirección física inicial del marco será 8*1024 = 8192, y el desplazamiento es 20, luego la dirección será 8192+20=8212.

c) Inicialmente se tienen ya ocupados 4 marcos, pero el sistema tiene aún libres 60 marcos, (64 Kb de memoria con
páginas de 1 Kb dan 64 marcos, de los que inicialmente sólo están 4 ocupados). Luego sólo se producirán 5 fallos de
página que corresponden a las referencias a una nueva página.

d) En esta situación, se ha supuesto que todos los marcos están ocupados excepto 5, que son los que puede ocupar este
proceso

0 4 5 8 7 5 6 1 0 8 3 4 3 3 1 2 8 6 2 3 5 3 4
0 4 5 8 7 5 6 1 0 8 3 4 4 3 1 2 8 6 2 3 5 3
0 4 5 8 7 5 6 1 0 8 8 8 4 3 1 2 8 6 2 2 5
0 4 4 8 7 5 6 1 0 0 0 8 4 3 1 1 8 6 6 2
0 0 4 8 7 5 6 1 1 1 0 8 4 3 3 1 8 8 6
0 4 8 7 5 6 6 6 6 0 0 4 4 4 1 1 8
f f f f F F F F F F F F F F

En las cuatro primeras páginas se habían producido 4 fallos, y a partir de entonces 10 fallos.
SISTEMAS OPERATIVOS I Tipo de Examen: A 2007
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas JO07A
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
Para las tres preguntas siguientes, considérese los procesos Productor y Consumidor, que se describen a continuación, y
que se ejecutan concurrentemente.
El semáforo buffer_vacio indica el número de registros que están vacíos. El semáforo buffer_lleno indica el número de
registros que están llenos. N es el número de registros del buffer
semaphore: buffer_lleno, buffer_vacio, exclusión;
buffer_lleno=N-1; buffer_vacio=1;
Process Productor; Process Consumidor;
begin begin
wait(buffer_vacio); wait(buffer_lleno);
wait(exclusion); wait(exclusion);
Produce; Consume;
signal(exclusion); signal(exclusion);
signal(buffer_lleno); signal(buffer_vacio);
end; end;
1.- En la codificación realizada, el semáforo exclusión:
a) Se debe inicializar a 0. b) Se debe inicializar a 1. c) Se debe inicializar a N. d) No se debe inicializar.
2.- En la codificación realizada, ¿Qué proceso entra primero en la sección crítica?.
a) El productor. b) Los dos se quedan bloqueados. c) No se puede determinar. d) El consumidor.
3.- Si se ejecutan tres procesos productores seguidos de un consumidor, la situación de las variables es:
a) exclusión a 1, buffer_lleno=N, buffer_vacio=0. b) exclusión a 0, buffer_lleno=N, buffer_vacio=0.
c) exclusión a 1, buffer_lleno=N, buffer_vacio=0 y un productor en la cola del semáforo buffer_vacio.
d) exclusión a 0, buffer_lleno=N, buffer_vacio=0 y un productor en la cola del semáforo buffer_vacio.
4.- Se tienen 3 procesos: P1, P2 y P3, con tiempos de ejecución: 65, 45 y 120 ms, respectivamente. Si actúa el planificador
a corto plazo según el algoritmo SJF (Short Job First) se obtiene que:
a) Los procesos se encuentran en la lista de preparados en el orden: P2, P1 y P3.
b) Los procesos se ejecutan en el orden: P2, P1 y P3.
c) Los procesos se ejecutan en el orden: P1, P2 y P3.
d) Los procesos se ejecutan según la prioridad que posean los procesos.
5.- De las siguientes operaciones, la que menos tiempo ha de consumir es:
a) traducción de una dirección lógica a dirección física b) cambio de contexto
c) detección de interbloqueo c) gestión de un fallo de página
6.-¿Qué tipo de fragmentación se produce con el esquema de gestión de memoria mediante particiones variables?
a) No se produce fragmentación.
b) Fragmentación interna.
c) Fragmentación externa.
d) Se produce fragmentación interna y externa.
7.- El tiempo necesario para leer N bloques consecutivos de un archivo en un sistema con asignación mediante listas

a) t E / S t b  t r  N * t t b) t E / S N * (t b  t r  t t )
enlazadas es (tb tiempo de búsqueda, tr tiempo rotacional, tt tiempo de transferencia):

c) t E / S ( N  1) * (t b  t r  t t ) d) t E / S t b  t r  t t
8.- En un sistema de memoria virtual, el tiempo promedio de acceso (tpa) es (a m tiempo de acceso a memoria, p

a) t pa a m  p * f p b) t pa (1  p ) * a m  p * f p
probabilidad de que ocurra un fallo de página, fp tiempo que lleva resolver un fallo de página):

c) t pa (1  p) * a m  f p d) t pa p  am  f p
9.- Un programa que oculta parte de su funcionalidad destinada a obtener datos o derechos de acceso del usuario es:
a) Un virus. b) Un gusano. c) Un caballo de Troya. d) El talón de Aquiles.
10.- Para un disquete de 3.5 pulgadas, con 2 superficies, 80 cilindros, 18 sectores por pista y 512 bytes por sector. Si gira
a 360 rpm ¿cuál será su velocidad de transferencia?
a) 38550 bytes/s b) 100512 bytes/s c) 55296 bytes/s d) 360 bytes
SISTEMAS OPERATIVOS I 2007
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) Los directores de un complejo turístico nos piden que regulemos con semáforos el acceso de los turistas a los
templos a visitar desde una sala de exposiciones. Para acceder a los templos es necesario esperar en la sala a que venga a
buscarnls un guía. El número total de guías es G. Si un visitante quiere acceder a los templos y hay más gente esperando a
que venga un guía, deberá hacer cola. La visita es personalizada, es decir, cada guía se lleva sólo a un visitante. Si un guía
está disponible y no hay visitantes esperando a la visita de los templos, el guía descansará.
2.- (3 puntos) En la figura se representan los 15 primeros bloques de un dispositivo de un disco que en total dispone de 30
Mb de capacidad. La asignación de espacio en disco se realiza mediante listas enlazadas. Los bloques tienen un tamaño de
512 bytes.
a) Calcular para cada bloque, cuántos bytes se podrán asignar a datos y cuántos a punteros a otros bloques.
b) Calcular el tamaño máximo, en bytes, de los datos almacenados en el archivo Notas, que también se representa en la
figura.
c) Indicar el problema que presenta el acceso directo a un bloque en los archivos de este sistema.
d) Si se utilizara un método mediante indexación, ¿se resolvería el problema indicado anteriormente para las listas
enlazadas?
e) Para el método mediante indexación, calcular el tamaño máximo de los datos que se pueden ahora almacenar en el
archivo notas. ¿Hay alguna variación con respecto al caso anterior?
f) ¿Existe pérdida de espacio?¿Cuánto?

0 1 2 3 14 4 Directorio
Notas
5 3 6 7 12 8 9 Bloque de comienzo: 7
Bloque Final: 14
10 11 12 5 13 14 -1
SISTEMAS OPERATIVOS I Tipo de Examen: A Junio 2007 - Original
SEGUNDA SEMANA
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
Para las tres preguntas siguientes, considérese los procesos Productor y Consumidor, que se describen a continuación, y
que se ejecutan concurrentemente.
El semáforo buffer_vacio indica el número de registros que están vacíos. El semáforo buffer_lleno indica el número de
registros que están llenos. N es el número de registros del buffer
semaphore: buffer_lleno, buffer_vacio, exclusión;
buffer_lleno=N-1; buffer_vacio=1;
Process Productor; Process Consumidor;
begin begin
wait(buffer_vacio); wait(buffer_lleno);
wait(exclusion); wait(exclusion);
Produce; Consume;
signal(exclusion); signal(exclusion);
signal(buffer_lleno); signal(buffer_vacio);
end; end;
1.- En la codificación realizada, el semáforo exclusión:
a) Se debe inicializar a 0. b) Se debe inicializar a 1. c) Se debe inicializar a N. d) No se debe inicializar.
2.- En la codificación realizada, ¿Qué proceso entra primero en la sección crítica?.
a) El productor. b) Los dos se quedan bloqueados. c) No se puede determinar. d) El consumidor.
3.- Si se ejecutan tres procesos productores seguidos de un consumidor, la situación de las variables es:
a) exclusión a 1, buffer_lleno=N, buffer_vacio=0. b) exclusión a 0, buffer_lleno=N, buffer_vacio=0.
c) exclusión a 1, buffer_lleno=N, buffer_vacio=0 y un productor en la cola del semáforo buffer_vacio.
d) exclusión a 0, buffer_lleno=N, buffer_vacio=0 y un productor en la cola del semáforo buffer_vacio.
4.- Se tienen 3 procesos: P1, P2 y P3, con tiempos de ejecución: 65, 45 y 120 ms, respectivamente. Si actúa el planificador
a corto plazo según el algoritmo SJF (Short Job First) se obtiene que:
a) Los procesos se encuentran en la lista de preparados en el orden: P2, P1 y P3.
b) Los procesos se ejecutan en el orden: P2, P1 y P3.
c) Los procesos se ejecutan en el orden: P1, P2 y P3.
d) Los procesos se ejecutan según la prioridad que posean los procesos.
5.- De las siguientes operaciones, la que menos tiempo ha de consumir es:
a) traducción de una dirección lógica a dirección física b) cambio de contexto
c) detección de interbloqueo c) gestión de un fallo de página
6.-¿Qué tipo de fragmentación se produce con el esquema de gestión de memoria mediante particiones variables?
a) No se produce fragmentación.
b) Fragmentación interna.
c) Fragmentación externa.
d) Se produce fragmentación interna y externa.
7.- El tiempo necesario para leer N bloques consecutivos de un archivo en un sistema con asignación mediante listas

a) t E / S t b  t r  N * t t b) t E / S N * (t b  t r  t t )
enlazadas es (tb tiempo de búsqueda, tr tiempo rotacional, tt tiempo de transferencia):

c) t E / S ( N  1) * (t b  t r  t t ) d) t E / S t b  t r  t t
8.- En un sistema de memoria virtual, el tiempo promedio de acceso (tpa) es (a m tiempo de acceso a memoria, p

a) t pa a m  p * f p b) t pa (1  p ) * a m  p * f p
probabilidad de que ocurra un fallo de página, fp tiempo que lleva resolver un fallo de página):

c) t pa (1  p) * a m  f p d) t pa p  am  f p
9.- Un programa que oculta parte de su funcionalidad destinada a obtener datos o derechos de acceso del usuario es:
a) Un virus. b) Un gusano. c) Un caballo de Troya. d) El talón de Aquiles.
10.- Para un disquete de 3.5 pulgadas, con 2 superficies, 80 cilindros, 18 sectores por pista y 512 bytes por sector. Si gira
a 360 rpm ¿cuál será su velocidad de transferencia?
a) 38550 bytes/s b) 100512 bytes/s c) 55296 bytes/s d) 360 bytes
SISTEMAS OPERATIVOS I Junio 2007 – Original
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) Los directores de un complejo turístico nos piden que regulemos con semáforos el acceso de los turistas a los
templos a visitar desde una sala de exposiciones. Para acceder a los templos es necesario esperar en la sala a que venga a
buscarnls un guía. El número total de guías es G. Si un visitante quiere acceder a los templos y hay más gente esperando a
que venga un guía, deberá hacer cola. La visita es personalizada, es decir, cada guía se lleva sólo a un visitante. Si un guía
esta disponible y no hay visitantes esperando a la visita de los templos, el guía descansará.

module Visita_Templos
var
semaphore: guia {general}
visitante{binario}

Process VisitanteX; Process guiaX;


begin begin
loop loop
begin begin
signal(visitante); wait(visitante);
wait(guia); signal(guia);
seguir al guía; explicar el templo;
ver los templos; end;
end; end;
end;

Process Padre;
begin
inicializa (visitante,0)
inicializa (guia, G);
cobegin
visitantes;
guias;
coend;
end;
2.- (3 puntos) En la figura se representan los 15 primeros bloques de un dispositivo de un disco que en total dispone de 30
Mb de capacidad. La asignación de espacio en disco se realiza mediante listas enlazadas. Los bloques tienen un tamaño de
512 bytes.
a) Calcular para cada bloque, cuántos bytes se podrán asignar a datos y cuántos a punteros a otros bloques.
b) Calcular el tamaño máximo, en bytes, de los datos almacenados en el archivo Notas, que también se representa en la
figura.
c) Indicar el problema que presenta el acceso directo a un bloque en los archivos de este sistema.
d) Si se utilizara un método mediante indexación, ¿se resolvería el problema indicado anteriormente para las listas
enlazadas?
e) Para el método mediante indexación, calcular el tamaño máximo de los datos que se pueden ahora almacenar en el
archivo notas. ¿Hay alguna variación con respecto al caso anterior?
f) ¿Existe pérdida de espacio?¿Cuánto?

0 1 2 3 14 4 Directorio
Notas
5 3 6 7 12 8 9 Bloque de comienzo: 7
Bloque Final: 14
10 11 12 5 13 14 -1

a) El disco contiene un total de 30*1024*1024 bytes= 31.457.280 bytes


Como los bloques son de 512 bytes, el número total de bloques en el disco es de: 31.457.280 /512 = 61440, para poder
direccional todos estos bloques se necesitan por lo menos 16 bits (216 = 65.536), es decir 2 bytes. Luego habrá en cada
bloque 2 bytes para punteros, y 510 para datos.

b) El archivo Notas ocupa los bloques 7, 12, 5, 3 y 14, cinco bloques. Como cada bloque usa 510 bytes para datos, en
total se tendrá 5*510 = 2550 bytes.

c) El problema que presenta es que hay que leer todos los bloques para llegar a uno determinado. Así, para leer el bloque
k deben leerse previamente los k-1 para ir accediendo a los punteros que apuntan al siguiente bloque.

d) Sí. En este método, el directorio contiene la dirección del bloque donde están los índices a los bloques de datos del
archivo.

e) En este tipo de acceso, todos los bytes de un bloque se utilizan para datos, con lo cuál para el archivo notas se tendrán
5*512 = 2560 bytes. Con respecto al anterior método se utilizan dos bytes mas por cada bloque para datos.

f) La asignación mediante indexación presenta sin embargo pérdida de espacio. Si en la tabla de índices se le asigna un
bloque entero, como los índices son de 2 bytes, el bloque está ocupado por 5 índices x 2 bytes = 10 bytes. Por lo que en el
bloque está desaprovechado : 512 – 10 = 502 bytes para este fichero en concreto.
SISTEMAS OPERATIVOS I Tipo de Examen: A Septiembre 2007
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con el
resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido. Complete
TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La puntuación del
examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4 puntos y las
respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2 puntos para
superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas S07OA
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Tanto en los semáforos binarios como en los generales:
a) La cola debe ser FIFO.
b) En los semáforos binarios la cola debe ser FIFO y en los generales de cualquier tipo.
c) En ambos tipos de semáforos la cola puede ser gestionada por un algoritmo FIFO u otro distinto.
d) En ninguno de los dos tipos de semáforos se utilizan colas.
2.- Las operaciones wait y signal:
a) Son atómicas en todos los sistemas operativos.
b) En unos sistemas operativos son atómicas y en otros no.
c) El programador debe encargarse de que sean atómicas.
d) no son nunca atómicas.
3.- La ventaja en el uso de los monitores frente a los semáforos es que:
a) No se produce espera activa.
b) No se produce interbloqueo.
c) La sincronización está implícita, basta con invocar el procedimiento del monitor.
d) La exclusión mutua está implícita, basta con invocar el procedimiento del monitor.
4.- Sea la siguiente carga de procesos. Para la política de planificación Tiempo que queda mas corto (SRT):
PROCESO TIEMPO DE LLEGADA TIEMPO DE EJECUCIÓN
A 0 3
B 1 5
C 3 2
a) El tiempo de espera de B = 5. b) El tiempo de espera de B = 4.
c) El tiempo de espera de B = 3. d) Ninguno de los anteriores.
5.- Siguiendo con el problema anterior:
a) El tiempo de retorno de C = 2. b) El tiempo de de retorno de C = 3.
c) El tiempo de de retorno de C = 5. d) Ninguno de los anteriores.
6.- Los búferes de E/S son:
a) Un dispositivo de gestión de las entradas y salidas de datos al computador.
b) El espacio de la memoria principal que se reserva para el almacenamiento intermedio de datos procedentes (o con
destino) a los periféricos.
c) La parte del disco utilizada para gestionar de forma intermedia los accesos de entrada y salida.
d) La parte del disco utilizada para gestionar de forma intermedia los accesos de entrada y salida con los
dispositivos muy lentos.
7.- El problema que puede presentar el algoritmo de planificación del disco SSTF es:
a) Los movimientos bruscos de vaivén de la cabeza de lectura y escritura.
b) El bloqueo indefinido o cierre de algunas de las peticiones.
c) Es muy lento.
d) No explota la localidad de las peticiones.
8.- El algoritmo de asignación de memoria peor en ajustarse consiste que el gestor de memoria asigna al proceso entrante:
a) El primer bloque libre suficientemente grande, aunque sea el peor.
b) El bloque libre mas grande, siempre que el tamaño del bloque exceda al tamaño necesario.
c) El bloque libre mas pequeño suficientemente grande para contener al proceso.
d) Todos los bloques libres que quedan, independiente de sus tamaños.
9.- En un sistema operativo multitarea, con 8Kb de espacio lógico de procesos, con páginas de 1Kb y 32 Kb de memoria
física, sin memoria virtual. La dirección lógica está formada por:
a) 3 bits para indicar la página y 10 bits para el desplazamiento
b) 5 bits para indicar la página y 10 bits para el desplazamiento
c) 5 bits para indicar la página y 8 bits para el desplazamiento
d) No tiene sentido que el espacio lógico del proceso sea menor que el espacio físico si no se dispone de un sistema de
memoria virtual
10.- La anomalía de Belady la sufren
a) los algoritmos de reemplazo FIFO b) los algoritmos de reemplazo óptimos
c) los algoritmos de reemplazo LRU d) ningún algoritmo de reemplazo.
SISTEMAS OPERATIVOS I Septiembre 2007

INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE junto
con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja adicional).S07O
1.- (3 puntos) Las aplicaciones de gran tamaño suelen estar compuestas de varios procesos. Hay veces que dos o más procesos
se pueden ejecutar en paralelo hasta un determinado instante. Luego, para que puedan continuar cada uno de los procesos
que se han estado ejecutando en paralelo, es necesario que se encuentren en un punto. Vamos a suponer que nuestro sistema
es de tres procesos y los puntos de encuentro están dados en la figura adjunta. Se pide modelar con semáforos esta situación
de forma que hasta que dos procesos no hayan llegado al punto donde se debe encontrar, ninguno de ellos puede continuar.
El proceso que antes llegue al punto de encuentro deberá esperar a que el otro alcance dicho punto. No se sabe cuál de los
dos procesos comienza a ejecutarse primero o cual es el que primero termina.

module Puntos_Encuentro
var
semaphore: {binario} semP1P2, semP1P3, semP2P1, semP2P3, semP3P1, semP3P2;
2.- (3 puntos) Supongamos que tenemos una máquina con 16 MB de memoria principal y un esquema de gestión de memoria
virtual paginado con páginas de 4 KB. Un proceso produce la siguiente secuencia de accesos a direcciones de memoria
(mostradas aquí en hexadecimal):

02D4B8, 02D4B9, 02D4EB, 02D4EB, 02D86F, F0B621, F0B815, F0D963, F0B832, F0BA23, D9D6C3, D9B1A7,
D9B1A1, F0BA25, 02D4C7, 628A31, F0B328, D9B325, D73425.

El sistema operativo asigna al proceso 4 marcos de memoria principal. Se pide:


a) Indicar cuál es el formato de una dirección física de memoria.
b) Dar la cadena de referencia de las páginas accedidas por el proceso.
c) Si el sistema operativo utiliza 4 marcos de memoria principal, describir el comportamiento del gestor de memoria
utilizando cada uno de los siguientes algoritmos de reemplazo de páginas, indicando cuántos fallos de página se
producen con los algoritmos FIFO y de la segunda oportunidad.
SISTEMAS OPERATIVOS I Tipo de Examen: A Septiembre 2007
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con el
resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido. Complete
TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La puntuación del
examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4 puntos y las
respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2 puntos para
superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas S07OA
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- Tanto en los semáforos binarios como en los generales:
a) La cola debe ser FIFO.
b) En los semáforos binarios la cola debe ser FIFO y en los generales de cualquier tipo.
c) En ambos tipos de semáforos la cola puede ser gestionada por un algoritmo FIFO u otro distinto.
d) En ninguno de los dos tipos de semáforos se utilizan colas.
2.- Las operaciones wait y signal:
a) Son atómicas en todos los sistemas operativos.
b) En unos sistemas operativos son atómicas y en otros no.
c) El programador debe encargarse de que sean atómicas.
d) no son nunca atómicas.
3.- La ventaja en el uso de los monitores frente a los semáforos es que:
a) No se produce espera activa.
b) No se produce interbloqueo.
c) La sincronización está implícita, basta con invocar el procedimiento del monitor.
d) La exclusión mutua está implícita, basta con invocar el procedimiento del monitor.
4.- Sea la siguiente carga de procesos. Para la política de planificación Tiempo que queda mas corto (SRT):
PROCESO TIEMPO DE LLEGADA TIEMPO DE EJECUCIÓN
A 0 3
B 1 5
C 3 2
a) El tiempo de espera de B = 5. b) El tiempo de espera de B = 4.
c) El tiempo de espera de B = 3. d) Ninguno de los anteriores.
5.- Siguiendo con el problema anterior:
a) El tiempo de retorno de C = 2. b) El tiempo de de retorno de C = 3.
c) El tiempo de de retorno de C = 5. d) Ninguno de los anteriores.
6.- Los búferes de E/S son:
a) Un dispositivo de gestión de las entradas y salidas de datos al computador.
b) El espacio de la memoria principal que se reserva para el almacenamiento intermedio de datos procedentes (o
con destino) a los periféricos.
c) La parte del disco utilizada para gestionar de forma intermedia los accesos de entrada y salida.
d) La parte del disco utilizada para gestionar de forma intermedia los accesos de entrada y salida con los dispositivos
muy lentos.
7.- El problema que puede presentar el algoritmo de planificación del disco SSTF es:
a) Los movimientos bruscos de vaivén de la cabeza de lectura y escritura.
b) El bloqueo indefinido o cierre de algunas de las peticiones.
c) Es muy lento.
d) No explota la localidad de las peticiones.
8.- El algoritmo de asignación de memoria peor en ajustarse consiste que el gestor de memoria asigna al proceso entrante:
a) El primer bloque libre suficientemente grande, aunque sea el peor.
b) El bloque libre mas grande, siempre que el tamaño del bloque exceda al tamaño necesario.
c) El bloque libre mas pequeño suficientemente grande para contener al proceso.
d) Todos los bloques libres que quedan, independiente de sus tamaños.
9.- En un sistema operativo multitarea, con 8Kb de espacio lógico de procesos, con páginas de 1Kb y 32 Kb de memoria
física, sin memoria virtual. La dirección lógica está formada por:
a) 3 bits para indicar la página y 10 bits para el desplazamiento
b) 5 bits para indicar la página y 10 bits para el desplazamiento
c) 5 bits para indicar la página y 8 bits para el desplazamiento
d) No tiene sentido que el espacio lógico del proceso sea menor que el espacio físico si no se dispone de un sistema de
memoria virtual
10.- La anomalía de Belady la sufren
a) los algoritmos de reemplazo FIFO b) los algoritmos de reemplazo óptimos
c) los algoritmos de reemplazo LRU d) ningún algoritmo de reemplazo.
SISTEMAS OPERATIVOS I Septiembre 2007
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: _________________________ Especialidad: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE junto
con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja adicional).
Superado el test, la puntuación de estos ejercicios corresponde al 80% de la calificación final. S07O
1.- (3 puntos) Las aplicaciones de gran tamaño suelen estar compuestas de varios procesos. Hay veces que dos o más procesos
se pueden ejecutar en paralelo hasta un determinado instante. Luego, para que puedan continuar cada uno de los procesos
que se han estado ejecutando en paralelo, es necesario que se encuentren en un punto. Vamos a suponer que nuestro sistema
es de tres procesos y los puntos de encuentro están dados en la figura adjunta. Se pide modelar con semáforos esta situación
de forma que hasta que dos procesos no hayan llegado al punto donde se debe encontrar, ninguno de ellos puede continuar.
El proceso que antes llegue al punto de encuentro deberá esperar a que el otro alcance dicho punto. No se sabe cuál de los
dos procesos comienza a ejecutarse primero o cual es el que primero termina.

module Puntos_Encuentro
var
semaphore: {binario} semP1P2, semP1P3, semP2P1, semP2P3, semP3P1, semP3P2;

Process P1; Process P2; Process P3;


begin begin begin
instrucciones de P1; instrucciones de P2; instrucciones de P3;
signal(semP2P1); signal(semP1P2); signal(semP2P3);
wait(semP1P2); wait(semP2P1); wait(semP3P2);
instrucciones de P1; instrucciones de P2; instrucciones de P3;
signal(semP3P1); signal(semP3P2); signal(semP1P3);
wait(semP1P3); wait(semP2P3); wait(semP3P1);
instrucciones de P1; instrucciones de P2; instrucciones de P3;
end; end; end;

process Padre;
begin
semP1P2=0, semP1P3=0, semP2P1=0, semP2P3=0, semP3P1=0, semP3P2=0;
cobegin
P1, P2, P3;
coend;
end;
2.- (3 puntos) Supongamos que tenemos una máquina con 16 MB de memoria principal y un esquema de gestión de memoria
virtual paginado con páginas de 4 KB. Un proceso produce la siguiente secuencia de accesos a direcciones de memoria
(mostradas aquí en hexadecimal):

02D4B8, 02D4B9, 02D4EB, 02D4EB, 02D86F, F0B621, F0B815, F0D963, F0B832, F0BA23, D9D6C3, D9B1A7,
D9B1A1, F0BA25, 02D4C7, 628A31, F0B328, D9B325, D73425.

El sistema operativo asigna al proceso 4 marcos de memoria principal. Se pide:


a) Indicar cuál es el formato de una dirección física de memoria.
b) Dar la cadena de referencia de las páginas accedidas por el proceso.
c) Si el sistema operativo utiliza 4 marcos de memoria principal, describir el comportamiento del gestor de memoria
utilizando cada uno de los siguientes algoritmos de reemplazo de páginas, indicando cuántos fallos de página se
producen con los algoritmos FIFO y de la segunda oportunidad.

Solución:
a) A partir del tamaño y organización de la memoria, se calcula el formato de una dirección física:

16 MB = 224 bytes, es decir, se requieren 24 bits para direccionar la memoria física. Como además se nos indica que el
tamaño de página es de 4 KB, tendremos que
4 KB = 212 bytes, por lo que se necesitan 12 bits para direccionar un byte de una página.

Por tanto, el formato de una dirección física de memoria será:

página desplazamiento
12 bits 12 bits

b) Dado que la cadena de referencias viene dada en hexadecimal, y para expresar un número hexadecimal se necesitan 4 bits
en binario, para direccionar la página se necesitan 3 dígitos hexadecimales y otros 3 para el desplazamiento. Por tanto la
dirección física queda expresada según el siguiente formato:

página desplazamiento
12 bits 12 bits
Hex Hex Hex Hex Hex Hex
0 2 D 4 B 8
Así, la secuencia de páginas que formará la cadena de referencias es:
02D, F0B, F0D, F0B, D9D, D9B, F0B, 02D, 628, F0B, D9B, D73

c) Algoritmo FIFO

En total se producen 9 fallos de página.

Algoritmo Segunda Oportunidad

En total se producen 8 fallos de página.


SISTEMAS OPERATIVOS I Tipo de Examen: A Mayo 2008 - Original
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1.- El algoritmo del banquero propuesto por Dijkstra en 1965 se utiliza para
a) Gestión de los marcos de memoria principal disponibles para asignación.
b) Evitación de los interbloqueos.
c) Detección de los interbloqueos.
d) Ninguna de los anteriores.
2.- Decir si las siguientes afirmaciones relativas al algoritmo de sustitución de páginas de la segunda oportunidad son
ciertas:
I) Es una modificación del algoritmo LRU.
II) Busca una página antigua que no se haya referenciado.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
3.- La anomalía de Belady consiste en que
a) Procesos concurrentes con una determinada combinación de instrucciones no son capaces de sincronizarse
adecudamente pese a usar semáforos.
b) Un nodo-i contiene informaciones falsas debido a un error físico en el sector de un disco magnético.
c) Disminuyen los fallos de página al aumentar el número de marcos de página por asignación.
d) Ninguna de los anteriores.
4.- Decir si las siguientes afirmaciones relativas a los buffers de E/S son ciertas:
I) El almacenamiento intermedio en buffers es un mecanismo que tiende a solucionar los problemas de picos de
demanda en las operaciones de E/S.
II) El efecto del uso de buffers sobre el comportamiento de un sistema es independiente de las caracteríticas de
los procesos.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
5.- La planificación del disco que consiste en atender la petición que requiere el menor movimiento de la cabeza de
lectura/escritura desde su posición actual es:
a) La planificación FCFS.
b) La planificación SCAN.
c) La planificación SSTF.
d) Ninguna de las anteriores.
6.- El uso de una caché de disco presenta la siguiente ventaja:
a) Se simplifica la gestión del acceso a los archivos de los discos
b) Se eliminan algunos accesos al disco.
c) Se evitan inconsistencias o corrupciones de datos en el disco.
d) Ninguna de las anteriores
7.- En el método de invocación remota o encuentro extendido, el proceso que envía un mensaje
a) Sigue su ejecución sin preocuparse si el mensaje se recibe o no.
b) Sólo prosigue su ejecución cuando el mensaje ha sido recibido.
c) Sólo prosigue su ejecución cuando ha recibido una respuesta del receptor .
d) Ninguna de los anteriores.
8.- Decir si las siguientes afirmaciones relativas al algoritmo de planificación SRT son ciertas:
I) Es un algoritmo de tipo no expropiativo.
II) Tiene una mayor frecuencia de invocación del planificador que el algoritmo SJF.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
9.- La asignación del espacio del disco mediante el método de asignación continua tiene como inconveniente que
a) No es realizable salvo que se conozca el tamaño máximo del archivo en el momento de su creación.
b) Tiene un rendimiento pobre si se quiere leer un archivo completo.
c) Las dos anteriores son verdaderas.
d) Ninguna de las anteriores
10.- El tiempo de espera de un proceso se calcula como:
a) La diferencia entre el tiempo de retorno y el tiempo de ejecución.
b) La diferencia entre el tiempo de retorno y el tiempo de llegada.
c) La diferencia entre el tiempo de ejecución y el tiempo de llegada.
d) La suma del tiempo de ejecución y del tiempo de retorno.
SISTEMAS OPERATIVOS I 2 horas/Ningún material permitido Mayo 2008
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: ____________________Código de la asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) La siguiente tabla recoge información de cinco procesos que se van a ejecutar en un sistema.
Proceso Tiempo de llegada (ms) Tiempo de ejecución (ms)
A 0 5
B 1 3
C 2 2
D 3 3
E 4 4
Supuesto que el tiempo necesario para el cambio de contexto es despreciable, calcular el tiempo de retorno y el tiempo de
espera de cada uno de los trabajos y representar la ejecución en diagramas de Gantt para los siguientes algoritmos de
planificación:
a) RR con un cuanto de 2 ms.
b) SJF.
Solución:
2.- (3 puntos) En un computador con una capacidad de memoria principal de 64 Kpalabras se utiliza gestión de memoria
mediante segmentación. La tabla de segmentos (todos los datos numéricos están en decimal) es la siguiente:

Nº de segmento Base Longitud


0 0 7230
1 16384 8191
2 32768 1024
3 8192 356
4 24576 4200
Se pide:
a) (1 punto) Supuesto que una dirección lógica tiene el mismo tamaño en bits que una dirección física y que consta de los
campos [nº de segmento, desplazamiento], determinar el tamaño en bits de cada uno de estos campos.
b) (2 puntos) Determinar a que direcciones físicas expresadas en decimal corresponden las siguientes direcciones lógicas
expresadas en hexadecimal: i) 11AE16, ii) 619016,
Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: B Mayo 2008 - Original
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es B.
1.- En el método de invocación remota o encuentro extendido, el proceso que envía un mensaje
a) Sigue su ejecución sin preocuparse si el mensaje se recibe o no.
b) Sólo prosigue su ejecución cuando el mensaje ha sido recibido.
c) Sólo prosigue su ejecución cuando ha recibido una respuesta del receptor .
d) Ninguna de los anteriores.
2.- Decir si las siguientes afirmaciones relativas a los buffers de E/S son ciertas:
I) El almacenamiento intermedio en buffers es un mecanismo que tiende a solucionar los problemas de picos de
demanda en las operaciones de E/S.
II) El efecto del uso de buffers sobre el comportamiento de un sistema es independiente de las caracteríticas de
los procesos.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
3.- La planificación del disco que consiste en atender la petición que requiere el menor movimiento de la cabeza de
lectura/escritura desde su posición actual es:
a) La planificación FCFS.
b) La planificación SCAN.
c) La planificación SSTF.
d) Ninguna de las anteriores.
4.- Decir si las siguientes afirmaciones relativas al algoritmo de planificación SRT son ciertas:
I) Es un algoritmo de tipo no expropiativo.
II) Tiene una mayor frecuencia de invocación del planificador que el algoritmo SJF.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
5.- El uso de una caché de disco presenta la siguiente ventaja:
a) Se simplifica la gestión del acceso a los archivos de los discos
b) Se eliminan algunos accesos al disco.
c) Se evitan inconsistencias o corrupciones de datos en el disco.
d) Ninguna de las anteriores
6.- Decir si las siguientes afirmaciones relativas al algoritmo de sustitución de páginas de la segunda oportunidad son
ciertas:
I) Es una modificación del algoritmo LRU.
II) Busca una página antigua que no se haya referenciado.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
7.- La anomalía de Belady consiste en que
a) Procesos concurrentes con una determinada combinación de instrucciones no son capaces de sincronizarse
adecudamente pese a usar semáforos.
b) Un nodo-i contiene informaciones falsas debido a un error físico en el sector de un disco magnético.
c) Disminuyen los fallos de página al aumentar el número de marcos de página por asignación.
d) Ninguna de los anteriores.
8.- El algoritmo del banquero propuesto por Dijkstra en 1965 se utiliza para
a) Gestión de los marcos de memoria principal disponibles para asignación.
b) Evitación de los interbloqueos.
c) Detección de los interbloqueos.
d) Ninguna de los anteriores.
9.- El tiempo de espera de un proceso se calcula como:
a) La diferencia entre el tiempo de retorno y el tiempo de ejecución.
b) La diferencia entre el tiempo de retorno y el tiempo de llegada.
c) La diferencia entre el tiempo de ejecución y el tiempo de llegada.
d) La suma del tiempo de ejecución y del tiempo de retorno.
10.- La asignación del espacio del disco mediante el método de asignación continua tiene como inconveniente que
a) No es realizable salvo que se conozca el tamaño máximo del archivo en el momento de su creación.
b) Tiene un rendimiento pobre si se quiere leer un archivo completo.
c) Las dos anteriores son verdaderas.
d) Ninguna de las anteriores
SISTEMAS OPERATIVOS I 2 horas/Ningún material permitido Mayo 2008
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: ____________________Código de la asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) La siguiente tabla recoge información de cinco procesos que se van a ejecutar en un sistema.
Proceso Tiempo de llegada (ms) Tiempo de ejecución (ms)
A 0 5
B 1 3
C 2 2
D 3 3
E 4 4
Supuesto que el tiempo necesario para el cambio de contexto es despreciable, calcular el tiempo de retorno y el tiempo de
espera de cada uno de los trabajos y representar la ejecución en diagramas de Gantt para los siguientes algoritmos de
planificación:
a) RR con un cuanto de 2 ms.
b) SJF.
Solución:
2.- (3 puntos) En un computador con una capacidad de memoria principal de 64 Kpalabras se utiliza gestión de memoria
mediante segmentación. La tabla de segmentos (todos los datos numéricos están en decimal) es la siguiente:

Nº de segmento Base Longitud


0 0 7230
1 16384 8191
2 32768 1024
3 8192 356
4 24576 4200
Se pide:
a) (1 punto) Supuesto que una dirección lógica tiene el mismo tamaño en bits que una dirección física y que consta de los
campos [nº de segmento, desplazamiento], determinar el tamaño en bits de cada uno de estos campos.
b) (2 puntos) Determinar a que direcciones físicas expresadas en decimal corresponden las siguientes direcciones lógicas
expresadas en hexadecimal: i) 11AE16, ii) 619016,
Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: C Junio 2008
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es C.
1.- El uso de una caché de disco presenta la siguiente ventaja:
a) Se simplifica la gestión del acceso a los archivos de los discos
b) Se eliminan algunos accesos al disco.
c) Se evitan inconsistencias o corrupciones de datos en el disco.
d) Ninguna de las anteriores
2.- La asignación del espacio del disco mediante el método de asignación continua tiene como inconveniente que
a) No es realizable salvo que se conozca el tamaño máximo del archivo en el momento de su creación.
b) Tiene un rendimiento pobre si se quiere leer un archivo completo.
c) Las dos anteriores son verdaderas.
d) Ninguna de las anteriores
3.- El algoritmo del banquero propuesto por Dijkstra en 1965 se utiliza para
a) Gestión de los marcos de memoria principal disponibles para asignación.
b) Evitación de los interbloqueos.
c) Detección de los interbloqueos.
d) Ninguna de los anteriores.
4.- Decir si las siguientes afirmaciones relativas al algoritmo de sustitución de páginas de la segunda oportunidad son
ciertas:
I) Es una modificación del algoritmo LRU.
II) Busca una página antigua que no se haya referenciado.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
5.- Decir si las siguientes afirmaciones relativas a los buffers de E/S son ciertas:
I) El almacenamiento intermedio en buffers es un mecanismo que tiende a solucionar los problemas de picos de
demanda en las operaciones de E/S.
II) El efecto del uso de buffers sobre el comportamiento de un sistema es independiente de las caracteríticas de
los procesos.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
6.- La anomalía de Belady consiste en que
a) Procesos concurrentes con una determinada combinación de instrucciones no son capaces de sincronizarse
adecudamente pese a usar semáforos.
b) Un nodo-i contiene informaciones falsas debido a un error físico en el sector de un disco magnético.
c) Disminuyen los fallos de página al aumentar el número de marcos de página por asignación.
d) Ninguna de los anteriores.
7.- Decir si las siguientes afirmaciones relativas al algoritmo de planificación SRT son ciertas:
I) Es un algoritmo de tipo no expropiativo.
II) Tiene una mayor frecuencia de invocación del planificador que el algoritmo SJF.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
8.- El tiempo de espera de un proceso se calcula como:
a) La diferencia entre el tiempo de retorno y el tiempo de ejecución.
b) La diferencia entre el tiempo de retorno y el tiempo de llegada.
c) La diferencia entre el tiempo de ejecución y el tiempo de llegada.
d) La suma del tiempo de ejecución y del tiempo de retorno.
9.- La planificación del disco que consiste en atender la petición que requiere el menor movimiento de la cabeza de
lectura/escritura desde su posición actual es:
a) La planificación FCFS.
b) La planificación SCAN.
c) La planificación SSTF.
d) Ninguna de las anteriores.
10.- En el método de invocación remota o encuentro extendido, el proceso que envía un mensaje
a) Sigue su ejecución sin preocuparse si el mensaje se recibe o no.
b) Sólo prosigue su ejecución cuando el mensaje ha sido recibido.
c) Sólo prosigue su ejecución cuando ha recibido una respuesta del receptor .
d) Ninguna de los anteriores.
SISTEMAS OPERATIVOS I 2 horas/Ningún material permitido Mayo 2008
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: ____________________Código de la asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1.- (3 puntos) La siguiente tabla recoge información de cinco procesos que se van a ejecutar en un sistema.
Proceso Tiempo de llegada (ms) Tiempo de ejecución (ms)
A 0 5
B 1 3
C 2 2
D 3 3
E 4 4
Supuesto que el tiempo necesario para el cambio de contexto es despreciable, calcular el tiempo de retorno y el tiempo de
espera de cada uno de los trabajos y representar la ejecución en diagramas de Gantt para los siguientes algoritmos de
planificación:
a) RR con un cuanto de 2 ms.
b) SJF.
Solución:
2.- (3 puntos) En un computador con una capacidad de memoria principal de 64 Kpalabras se utiliza gestión de memoria
mediante segmentación. La tabla de segmentos (todos los datos numéricos están en decimal) es la siguiente:

Nº de segmento Base Longitud


0 0 7230
1 16384 8191
2 32768 1024
3 8192 356
4 24576 4200
Se pide:
a) (1 punto) Supuesto que una dirección lógica tiene el mismo tamaño en bits que una dirección física y que consta de los
campos [nº de segmento, desplazamiento], determinar el tamaño en bits de cada uno de estos campos.
b) (2 puntos) Determinar a que direcciones físicas expresadas en decimal corresponden las siguientes direcciones lógicas
expresadas en hexadecimal: i) 11AE16, ii) 619016,
Solución:
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN MAYO 2008

TABLA RESUMEN SOLUCIONES TEST

Pregunta Tipo A Tipo B Tipo C


1 b c b
2 c b a
3 d c b
4 b c c
5 c b b
6 b c d
7 c d c
8 c b a
9 a a c
10 a a c

1
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN MAYO 2008

SOLUCIÓN COMPLETA TEST (Tipo A)

1.- El algoritmo del banquero propuesto por Dijkstra en 1965 se utiliza para
a) Gestión de los marcos de memoria principal disponibles para asignación.
b) Evitación de los interbloqueos.
c) Detección de los interbloqueos.
d) Ninguna de los anteriores.

Solución: pp.143 del libro base de la asignatura


El algoritmo del banquero propuesto por Dijkstra en 1965 es la tecnica más utilizada para la evitación de los
interbloqueos. Dicho algoritmo se conoce con este nombre porque simula el comportamiento de un banquero que
realiza prestamos y recibe pagos sin caer nunca en la posibilidad de no poder satisfacer todas las necesidades de sus
clientes. Este algoritmo asegura que el número de recursos asignados a todos los procesos nunca puede exceder del
número de recursos del sistema. Además, nunca se puede hacer una asignación peligrosa, esto es, asignar recursos
de modo que no queden suficientes para satisfacer las necesidades de todos los procesos.

Respuesta: B) Evitación de los interbloqueos.

2.- Decir si las siguientes afirmaciones relativas al algoritmo de sustitución de páginas de la segunda oportunidad son
ciertas:
I) Es una modificación del algoritmo LRU.
II) Busca una página antigua que no se haya referenciado.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.

Solución: pp.245 del libro base de la asignatura


El algoritmo de sustitución de páginas de la segunda oportunidad es una modificación del algoritmo de sustitución
FIFO. La modificación consiste básicamente en examinar el bit de referencia de las páginas que se seleccionan para
sustituir. Si el bit de referencia es 0, la página no se ha utilizado además de ser antigua. Si el bit de referencia es 1,
entonces se pone a cero y la página se coloca al final de la cola. Básicamente este algoritmo busca una página
antigua que no se haya referenciado.

Respuesta: C) I: no, II: si.

3.- La anomalía de Belady consiste en que


a) Procesos concurrentes con una determinada combinación de instrucciones no son capaces de sincronizarse
adecudamente pese a usar semáforos.
b) Un nodo-i contiene informaciones falsas debido a un error físico en el sector de un disco magnético.
c) Disminuyen los fallos de página al aumentar el número de marcos de página por asignación.
d) Ninguna de los anteriores.

Solución: pp.242 del libro base de la asignatura


La anomalía de Belady consiste en que aumentan los fallos de páginas al aumentar el número de marcos de páginas
para asignación.

Respuesta: D) Ninguna de las anteriores

2
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN MAYO 2008

4.- Decir si las siguientes afirmaciones relativas a los buffers de E/S son ciertas:
I) El almacenamiento intermedio en buffers es un mecanismo que tiende a solucionar los problemas de picos
de demanda en las operaciones de E/S.
II) El efecto del uso de buffers sobre el comportamiento de un sistema es independiente de las caracteríticas de
los procesos.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.

Solución: pp.440 del libro base de la asignatura


El almacenamiento intermedio en buffers de E/S es un mecanismo que tiende a solucionar los problemas de picos de
demanda en las operaciones de E/S. Sin embargo el efecto de la técnica de los buffers sobre el comportamiento del
sistema depende fuertemente de las características de los procesos. No existe un tamaño óptimo de los buffers que
pueda asegurar que un dispositivo de E/S opere al mismo ritmo que un proceso cuando la demanda media del
proceso es más alta que la que la velocidad de operación que el dispositivo es capaz de admitir.

Respuesta: B) I: si. II: no.

5.- La planificación del disco que consiste en atender la petición que requiere el menor movimiento de la cabeza de
lectura/escritura desde su posición actual es:
a) La planificación FCFS.
b) La planificación SCAN.
c) La planificación SSTF.
d) Ninguna de las anteriores.

Solución: pp.423 del libro base de la asignatura


La planificación del disco que consiste en atender la petición que requiere el menor movimiento de la cabeza de
lectura/escritura desde su posición actual es la planificación SSTF (Shortest Service Time First)

Respuesta: C) La planificación SSTF.

6.- El uso de una caché de disco presenta la siguiente ventaja:


a) Se simplifica la gestión del acceso a los archivos de los discos
b) Se eliminan algunos accesos al disco.
c) Se evitan inconsistencias o corrupciones de datos en el disco.
d) Ninguna de las anteriores

Solución: pp.321 del libro base de la asignatura


El uso de la caché de disco supone una gestión más compleja en el acceso a los archivos de los discos y presenta
además el peligro potencial de generar inconsistencias o corrupciones, pero estos inconvenientes quedan
compensados por sus amplias ventajas, entre las que se encuentra la eliminación de algunos accesos al disco, puesto
que mientras los bloques están en la caché pueden ser leídos y escritos varias veces antes de actualizarse en el
disco.

Respuesta: B) Se eliminan algunos accesos al disco.

7.- En el método de invocación remota o encuentro extendido, el proceso que envía un mensaje
a) Sigue su ejecución sin preocuparse si el mensaje se recibe o no.
b) Sólo prosigue su ejecución cuando el mensaje ha sido recibido.
c) Sólo prosigue su ejecución cuando ha recibido una respuesta del receptor .
d) Ninguna de los anteriores.

Solución: pp.132 del libro base de la asignatura


En el método de invocación remota o encuentro extendido, el proceso que envía un mensaje sólo prosigue su
ejecución cuando ha recibido una respuesta del receptor.

Respuesta: C) Sólo prosigue su ejecución cuando ha recibido una respuesta del receptor.

3
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN MAYO 2008

8.- Decir si las siguientes afirmaciones relativas al algoritmo de planificación SRT son ciertas:
I) Es un algoritmo de tipo no expropiativo.
II) Tiene una mayor frecuencia de invocación del planificador que el algoritmo SJF.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.

Solución: pp.41 del libro base de la asignatura


El método SJF es no expropiativo y por lo tanto no resulta adecuado en entornos de tiempo compartido en los que se
requiere tener garantizado un tiempo de respuesta razonable. La versión expropiativa del método SJF es el método
SRT en el que se elige a continuación aquel proceso al que le queda menos tiempo para terminar su ejecución,
incluyendo a los nuevos que lleguen. SRT es el acrónimo de Shortest-Remaining-Time (tiempo que queda más corto).
Este método tiene, frente al SJF, mayor frecuencia de invocación del planificador, a la vez que una carga superior en
las labores que tiene que realizar, lo que puede llevar a un menor rendimiento y eficacia del procesador.

Respuesta: C) I: no, II: si..

9.- La asignación del espacio del disco mediante el método de asignación continua tiene como inconveniente que
a) No es realizable salvo que se conozca el tamaño máximo del archivo en el momento de su creación.
b) Tiene un rendimiento pobre si se quiere leer un archivo completo.
c) Las dos anteriores son verdaderas.
d) Ninguna de las anteriores

Solución: pp.314 del libro base de la asignatura


La asignación del espacio del disco mediante el método de asignación continua consiste en asignar a cada archivo un
conjunto de direcciones contiguas en el disco. Aunque este método es fácil de entender y tiene un buen rendimiento
cuando se quiere leer un archivo completo, presenta también grandes inconvenientes. Uno de ellos es que no es
realizable salvo que se conozca el tamaño máximo del archivo en el momento de su creación. Este problema es grave
en muchas aplicaciones en las que los archivos pueden crecer dinámicamente y por lo tanto no se sabe el tamaño
máximo en el momento de la creación.

Respuesta: A) No es realizable salvo que se conozca el tamaño máximo del archivo en el momento de su
creación.

10.- El tiempo de espera de un proceso se calcula como:


a) La diferencia entre el tiempo de retorno y el tiempo de ejecución.
b) La diferencia entre el tiempo de retorno y el tiempo de llegada.
c) La diferencia entre el tiempo de ejecución y el tiempo de llegada.
d) La suma del tiempo de ejecución y del tiempo de retorno.

Solución: pp.61 del libro base de la asignatura


El tiempo de espera de un proceso es el tiempo que el proceso espera hasta que se le concede el procesador y se
calcula como la diferencia entre el tiempo de retorno y el tiempo de ejecución del proceso.

Respuesta: A) La diferencia entre el tiempo de retorno y el tiempo de ejecución.

4
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN MAYO 2008

SOLUCIÓN PROBLEMAS

1.- (3 puntos) La siguiente tabla recoge información de cinco procesos que se van a ejecutar en un sistema.
Proceso Tiempo de llegada (ms) Tiempo de ejecución (ms)
A 0 5
B 1 3
C 2 2
D 3 3
E 4 4
Supuesto que el tiempo necesario para el cambio de contexto es despreciable, calcular el tiempo de retorno y el tiempo
de espera de cada uno de los trabajos y representar la ejecución en diagramas de Gantt para los siguientes algoritmos de
planificación:
a) RR con un cuanto de 2 ms.
b) SJF.
Solución:

a) En el algoritmo de planificación circular o round robin (RR) el procesador se asigna a cada proceso de forma
secuencial durante un periodo de tiempo definido denominado cuanto, que en este caso es de 2 ms. El diagrama de
Gantt que representa la ejecución de los procesos A, B, C, D y E según este algoritmo de planificación es el siguiente:

A B C A D E B A D E
0 2 4 6 8 10 12 13 14 15 17 ms
De este diagrama se obtiene el instante o tiempo de finalización de la ejecución de los procesos A, B, C, D y E. El
tiempo de retorno se calcula como la diferencia entre el instante o tiempo de finalización del proceso (medido en el
diagrama de Gantt) menos el instante o tiempo de llegada. Por otra parte el tiempo de espera se calcula como la
diferencia entre el tiempo de retorno y el tiempo de ejecución. En la tabla siguiente se muestran el tiempo de
finalización, el tiempo de retorno y el tiempo de espera para cada uno de los procesos.

Proceso Tiempo de finalización (ms) Tiempo de retorno (ms) Tiempo de espera (ms)
A 14 14-0=14 14-5=9
B 13 13-1=12 12-3=9
C 6 6-2=4 4-2=2
D 15 15-3=12 12-3=9
E 17 17-4=13 13-4=9

b) En el algoritmo de planificación de la primera tarea más corta o SJF, el procesador se asigna al proceso con el
menor valor de tiempo restante de ejecución. Se trata de estrategía de planificación no expropiativa por lo que si un
proceso se está ejecutando y llega otro con un tiempo de ejecución estimado menor, no podrá pasar a ser ejecutado
hasta haber finalizado el primer proceso. El diagrama de Gantt que representa la ejecución de los procesos A, B, C, D
y E según este algoritmo de planificación es el siguiente:

A C B D E
0 5 7 10 13 17 ms
En la tabla siguiente se muestran el tiempo de finalización, el tiempo de retorno y el tiempo de espera para cada uno
de los procesos.

Proceso Tiempo de finalización (ms) Tiempo de retorno (ms) Tiempo de espera (ms)
A 5 5-0= 5 5-5=0
B 10 10-1=9 9-3=6
C 7 7-2=5 5-2=3
D 13 13-3=10 10-3=7
E 17 17-4=13 13-4=9

5
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN MAYO 2008

2.- (3 puntos) En un computador con una capacidad de memoria principal de 64 Kpalabras se utiliza gestión de memoria
mediante segmentación. La tabla de segmentos (todos los datos numéricos están en decimal) es la siguiente:

Nº de segmento Base Longitud


0 0 7230
1 16384 8191
2 32768 1024
3 8192 356
4 24576 4200
Se pide:
a) (1 punto) Supuesto que una dirección lógica tiene el mismo tamaño en bits que una dirección física y que consta de
los campos [nº de segmento, desplazamiento], determinar el tamaño en bits de cada uno de estos campos.
b) (2 puntos) Determinar a que direcciones físicas expresadas en decimal corresponden las siguientes direcciones lógicas
expresadas en hexadecimal: i) 11AE16, ii) 619016
Solución:

a) El tamaño de una dirección de memoria física se puede obtener del dato de la capacidad de la memoria principal
que es 64 Kpalabras, o equivalentemente, 216 palabras. Luego se requiere 16 bits para codificar todas las palabras de
la memoria, es decir, el tamaño de una dirección de memoria es de 16 bits. Por otra parte en la tabla de segmentos se
observa que la memoria principal está dividida en 5 segmentos, luego se requerirán 3 bits para codificarlos, es decir,
el tamaño del campo [nº de segmento] es de 3 bits. Finalmente, el tamaño del campo [desplazamiento] se determina
como la diferencia entre el tamaño de una dirección y el tamaño del campo [nº de segmento], es decir, 16-3=13 bits.
Luego el formato de una dirección lógica es el siguiente:
16 bits

Nº de segmento Desplazamiento

3 bits 13 bits

b) i) Hay que pasar la dirección 11AE a binario: 0001 0001 1010 1110. Se observa que de acuerdo con el formato
de una dirección lógica, los tres bits más significativos 000 hacen referencia al nº de segmento mientras que los trece
bits restantes 1000110101110 hacen referencia al desplazamiento. Pasando estos campos a decimal se obtiene:
Nº de segmento= 0002=010
Desplazamiento=10001101011102=212+28+27+25+23+22+2=4096+256+128+32+8+4+2=4526 10

A continuación, hay que comprobar que la dirección lógica es válida, para ello se compara el desplazamiento de esta
dirección con la longitud del segmento nº 0 dada en la tabla de segmentos. Puesto que 4526d 7230 la dirección lógica
es válida.

La dirección física se obtiene sumando la base del segmento nº 0 con el desplazamiento de la dirección lógica, es
decir, 0+4526= 4526.

Luego la dirección lógica 11AE16=(0, 4526)10 equivale a la dirección física 4526.

b) i) Hay que pasar la dirección 6190 a binario: 0110 0001 1001 0000. Se observa que de acuerdo con el formato
de una dirección lógica, los tres bits más significativos 011 hacen referencia al nº de segmento mientras que los trece
bits restantes 0000110010000 hacen referencia al desplazamiento. Pasando estos campos a decimal se obtiene:
Nº de segmento= 0112=310
Desplazamiento=00001100100002=28+27+24=256+128+16=40010

A continuación, hay que comprobar que la dirección lógica es válida, para ello se compara el desplazamiento de esta
dirección con la longitud del segmento nº 3 dada en la tabla de segmentos. Puesto que 400> 356 se tiene un error de
direccionamiento ya que se está violando el tamaño del segmento.

6
SISTEMAS OPERATIVOS I Tipo de Examen: D Junio 2008 - Original
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es D.
1- Un gusano informático
a) Es un trozo de código de un programa, que va borrando los datos del disco duro.
b) Es un trozo de código de un programa, que va borrando los datos de la memoria principal.
c) Es un programa en si mismo que consume de forma desproporcionada los recursos del sistema.
d) Ninguna de las anteriores.
2.- En un sistema con asignación mediante indexación el número de accesos al disco para leer N bloques consecutivos de
un archivo son:
a) N accesos
b) N+1 accesos
c) N/2 accesos
d) Ninguna de las anteriores
3.- El algoritmo peor en ajustarse para la selección de un área libre de memoria asigna:
a) El primer bloque libre suficientemente grande que encuentra.
b) El bloque libre más grande, siempre que el tamaño del bloque exceda el tamaño necesario.
c) El bloque libre más grande, siempre que el tamaño del bloque no exceda el tamaño necesario.
d) Ninguna de las anteriores.
4.- Decir si las siguientes afirmaciones relativas a la E/S localizada en memoria son ciertas:
I) Existe un único espacio de direcciones para las posiciones de memoria y los dispositivos de E/S.
II) La CPU utiliza instrucciones máquinas diferentes para acceder a la memoria o a los periféricos.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
5.- Decir si las siguientes afirmaciones relativas al planificador a corto plazo (PCP) son ciertas:
I) El PCP determina qué trabajos se admiten en el sistema para su procesamiento y son, por lo tanto, cargados en
la memoria disponible.
II) El PCP debe realizar una mezcla adecuada de trabajos destinados al procesador y trabajos destinados al
sistema de E/S.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
6.- En los monitores se cumple que
a) La exclusión mutua no está implícita.
b) No proporcionan por si mismos un mecanismo para la sincronización de tareas.
c) Las dos afirmaciones anteriores son verdaderas.
d) Ninguna de las anteriores.
7.- Decir si las siguientes afirmaciones relativas a un semáforo S inicializado con un valor N son ciertas:
I) Si N=1 la ejecución de una operación espera(S) por parte de un proceso provocará la suspensión de dicho
proceso y su colocación en la cola de tareas en espera.
II) Si N=3 la ejecución de una operación señal(S) deja un valor de 4 en el semáforo.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
8.- La planificación del disco que consiste en ir recorriendo todas las peticiones en una dirección y satisfaciendo todas las
peticiones que se encuentra en el camino, hasta que alcanza la última pista, es:
a) La planificación FCFS.
b) La planificación SCAN.
c) La planificación SSTF.
d) Ninguna de las anteriores.
9.- Decir si las siguientes afirmaciones relativas al algoritmo de sustitución de páginas de uso no frecuente son ciertas:
I) Este algoritmo posee una tasa de fallos mayor que el algoritmo LRU.
II) Este algoritmo posee una tasa de fallos mayor que el algoritmo de la segunda oportunidad.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
10.- ¿Cual de los siguientes algoritmos de planificación es de tipo expropiativo?
a) SRT.
b) SJF.
c) FCFS
d) Ninguno de los anteriores.
SISTEMAS OPERATIVOS I 2 horas/Ningún material permitido Junio 2008
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: ____________________Código de la asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1 .- (3 puntos) Un sistema con memoria virtual mediante demanda de páginas utiliza el algoritmo LRU para la sustitución
de páginas. Un proceso genera la siguiente secuencia de referencias a páginas de memoria:

13241574328945491832

a) Determinar cuantos fallos de página se producen cuando se dispone de 4 o 5 marcos de página para este proceso.
b) Explicar razonadamente si mejoraría la tasa de fallos de página si se aumentase el número de marcos de página a
N, siendo N>5.
Solución:
2.- (3 puntos) Considérese un sistema de ficheros cuyos bloques son de 1 Kbytes y cada puntero a un bloque de disco
requiere 2 bytes. Un nodo-i de este sistema contiene 9 punteros directos a bloques de datos, un puntero a un bloque de
indirección simple, y otro a uno doble. Se pide:
a) Determinar los números de los bloques de datos a los que se puede acceder con los 11 punteros contenidos en
un nodo-i.
b) Supuesto que el sistema operativo ha leido ya el nodo-i de un fichero en memoria principal, desterminar el
número de lecturas adicionales a disco que se requerirán para leer el bloque de datos número 325 y el número
605.
Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: E Junio 2008 - Original
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es E.
1.- En un sistema con asignación mediante indexación el número de accesos al disco para leer N bloques consecutivos de
un archivo son:
a) N accesos
b) N+1 accesos
c) N/2 accesos
d) Ninguna de las anteriores
2.- El algoritmo peor en ajustarse para la selección de un área libre de memoria asigna:
a) El primer bloque libre suficientemente grande que encuentra.
b) El bloque libre más grande, siempre que el tamaño del bloque exceda el tamaño necesario.
c) El bloque libre más grande, siempre que el tamaño del bloque no exceda el tamaño necesario.
d) Ninguna de las anteriores.
3.- Decir si las siguientes afirmaciones relativas a la E/S localizada en memoria son ciertas:
I) Existe un único espacio de direcciones para las posiciones de memoria y los dispositivos de E/S.
II) La CPU utiliza instrucciones máquinas diferentes para acceder a la memoria o a los periféricos.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
4.- En los monitores se cumple que
a) La exclusión mutua no está implícita.
b) No proporcionan por si mismos un mecanismo para la sincronización de tareas.
c) Las dos afirmaciones anteriores son verdaderas.
d) Ninguna de las anteriores.
5.- La planificación del disco que consiste en ir recorriendo todas las peticiones en una dirección y satisfaciendo todas las
peticiones que se encuentra en el camino, hasta que alcanza la última pista, es:
a) La planificación FCFS.
b) La planificación SCAN.
c) La planificación SSTF.
d) Ninguna de las anteriores.
6.- Decir si las siguientes afirmaciones relativas a un semáforo S inicializado con un valor N son ciertas:
I) Si N=1 la ejecución de una operación espera(S) por parte de un proceso provocará la suspensión de dicho
proceso y su colocación en la cola de tareas en espera.
II) Si N=3 la ejecución de una operación señal(S) deja un valor de 4 en el semáforo.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
7.- ¿Cual de los siguientes algoritmos de planificación es de tipo expropiativo?
a) SRT.
b) SJF.
c) FCFS
d) Ninguno de los anteriores.
8.- Decir si las siguientes afirmaciones relativas al algoritmo de sustitución de páginas de uso no frecuente son ciertas:
I) Este algoritmo posee una tasa de fallos mayor que el algoritmo LRU.
II) Este algoritmo posee una tasa de fallos mayor que el algoritmo de la segunda oportunidad.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
9.- Decir si las siguientes afirmaciones relativas al planificador a corto plazo (PCP) son ciertas:
I) El PCP determina qué trabajos se admiten en el sistema para su procesamiento y son, por lo tanto, cargados en
la memoria disponible.
II) El PCP debe realizar una mezcla adecuada de trabajos destinados al procesador y trabajos destinados al
sistema de E/S.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
10- Un gusano informático
a) Es un trozo de código de un programa, que va borrando los datos del disco duro.
b) Es un trozo de código de un programa, que va borrando los datos de la memoria principal.
c) Es un programa en si mismo que consume de forma desproporcionada los recursos del sistema.
d) Ninguna de las anteriores.
SISTEMAS OPERATIVOS I 2 horas/Ningún material permitido Junio 2008
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: ____________________Código de la asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1 .- (3 puntos) Un sistema con memoria virtual mediante demanda de páginas utiliza el algoritmo LRU para la sustitución
de páginas. Un proceso genera la siguiente secuencia de referencias a páginas de memoria:

13241574328945491832

a) Determinar cuantos fallos de página se producen cuando se dispone de 4 o 5 marcos de página para este proceso.
b) Explicar razonadamente si mejoraría la tasa de fallos de página si se aumentase el número de marcos de página a
N, siendo N>5.
Solución:
2.- (3 puntos) Considérese un sistema de ficheros cuyos bloques son de 1 Kbytes y cada puntero a un bloque de disco
requiere 2 bytes. Un nodo-i de este sistema contiene 9 punteros directos a bloques de datos, un puntero a un bloque de
indirección simple, y otro a uno doble. Se pide:
a) Determinar los números de los bloques de datos a los que se puede acceder con los 11 punteros contenidos en
un nodo-i.
b) Supuesto que el sistema operativo ha leido ya el nodo-i de un fichero en memoria principal, desterminar el
número de lecturas adicionales a disco que se requerirán para leer el bloque de datos número 325 y el número
605.
Solución:
SISTEMAS OPERATIVOS I Tipo de Examen: F Junio 2008 - Original
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es F.
1.- Decir si las siguientes afirmaciones relativas a la E/S localizada en memoria son ciertas:
I) Existe un único espacio de direcciones para las posiciones de memoria y los dispositivos de E/S.
II) La CPU utiliza instrucciones máquinas diferentes para acceder a la memoria o a los periféricos.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
2.- Decir si las siguientes afirmaciones relativas a un semáforo S inicializado con un valor N son ciertas:
I) Si N=1 la ejecución de una operación espera(S) por parte de un proceso provocará la suspensión de dicho
proceso y su colocación en la cola de tareas en espera.
II) Si N=3 la ejecución de una operación señal(S) deja un valor de 4 en el semáforo.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
3.- En los monitores se cumple que
a) La exclusión mutua no está implícita.
b) No proporcionan por si mismos un mecanismo para la sincronización de tareas.
c) Las dos afirmaciones anteriores son verdaderas.
d) Ninguna de las anteriores.
4.- Decir si las siguientes afirmaciones relativas al planificador a corto plazo (PCP) son ciertas:
I) El PCP determina qué trabajos se admiten en el sistema para su procesamiento y son, por lo tanto, cargados en
la memoria disponible.
II) El PCP debe realizar una mezcla adecuada de trabajos destinados al procesador y trabajos destinados al
sistema de E/S.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
5.- La planificación del disco que consiste en ir recorriendo todas las peticiones en una dirección y satisfaciendo todas las
peticiones que se encuentra en el camino, hasta que alcanza la última pista, es:
a) La planificación FCFS.
b) La planificación SCAN.
c) La planificación SSTF.
d) Ninguna de las anteriores.
6.- Decir si las siguientes afirmaciones relativas al algoritmo de sustitución de páginas de uso no frecuente son ciertas:
I) Este algoritmo posee una tasa de fallos mayor que el algoritmo LRU.
II) Este algoritmo posee una tasa de fallos mayor que el algoritmo de la segunda oportunidad.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
7- Un gusano informático
a) Es un trozo de código de un programa, que va borrando los datos del disco duro.
b) Es un trozo de código de un programa, que va borrando los datos de la memoria principal.
c) Es un programa en si mismo que consume de forma desproporcionada los recursos del sistema.
d) Ninguna de las anteriores.
8.- ¿Cual de los siguientes algoritmos de planificación es de tipo expropiativo?
a) SRT.
b) SJF.
c) FCFS
d) Ninguno de los anteriores.
9.- El algoritmo peor en ajustarse para la selección de un área libre de memoria asigna:
a) El primer bloque libre suficientemente grande que encuentra.
b) El bloque libre más grande, siempre que el tamaño del bloque exceda el tamaño necesario.
c) El bloque libre más grande, siempre que el tamaño del bloque no exceda el tamaño necesario.
d) Ninguna de las anteriores.
10.- En un sistema con asignación mediante indexación el número de accesos al disco para leer N bloques consecutivos
de un archivo son:
a) N accesos
b) N+1 accesos
c) N/2 accesos
d) Ninguna de las anteriores
SISTEMAS OPERATIVOS I 2 horas/Ningún material permitido Junio 2008
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: ____________________Código de la asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.

1 .- (3 puntos) Un sistema con memoria virtual mediante demanda de páginas utiliza el algoritmo LRU para la sustitución
de páginas. Un proceso genera la siguiente secuencia de referencias a páginas de memoria:

13241574328945491832

a) Determinar cuantos fallos de página se producen cuando se dispone de 4 o 5 marcos de página para este proceso.
b) Explicar razonadamente si mejoraría la tasa de fallos de página si se aumentase el número de marcos de página a
N, siendo N>5.
Solución:
2.- (3 puntos) Considérese un sistema de ficheros cuyos bloques son de 1 Kbytes y cada puntero a un bloque de disco
requiere 2 bytes. Un nodo-i de este sistema contiene 9 punteros directos a bloques de datos, un puntero a un bloque de
indirección simple, y otro a uno doble. Se pide:
a) Determinar los números de los bloques de datos a los que se puede acceder con los 11 punteros contenidos en
un nodo-i.
b) Supuesto que el sistema operativo ha leido ya el nodo-i de un fichero en memoria principal, desterminar el
número de lecturas adicionales a disco que se requerirán para leer el bloque de datos número 325 y el número
605.
Solución:
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN JUNIO 2008

TABLA RESUMEN SOLUCIONES TEST

Pregunta Tipo D Tipo E Tipo F


1 c b b
2 b b c
3 b b b
4 b b d
5 d b b
6 b c c
7 c a c
8 b c a
9 c d b
10 a c b

1
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN JUNIO 2008

SOLUCIÓN COMPLETA TEST (Tipo D)

1- Un gusano informático
a) Es un trozo de código de un programa, que va borrando los datos del disco duro.
b) Es un trozo de código de un programa, que va borrando los datos de la memoria principal.
c) Es un programa en si mismo que consume de forma desproporcionada los recursos del sistema.
d) Ninguna de las anteriores.

Solución: pp.324, 349-350 del libro base de la asignatura


Un gusano informático es un programa en si mismo que causa graves problemas al sistema informatico en el que se
ejecuta debido a que carga en exceso al computador, usando para su propagación recursos desprocionados de
procesamiento y comunicación, con lo que el sistema puede denegar servicios a usuarios legítimos.

Respuesta: C) Es un programa en si mismo que consume de forma desproporcionada los recursos del
sistema.

2.- En un sistema con asignación mediante indexación el número de accesos al disco para leer N bloques consecutivos
de un archivo son:
a) N accesos
b) N+1 accesos
c) N/2 accesos
d) Ninguna de las anteriores

Solución: pp.359 del libro base de la asignatura


En la asignación mediante indexación se colocan los índices de los archivos en una tabla de índices. Por lo tanto, en
cuestión de accesos, a parte de tener que ir a buscar los N bloques, inicialmente habrá que leer la tabla del disco y
traerla a memoria. Si se supone que a partir de ese instante la tabla permanece en memoria, entonces, el número de
accesos es de N+1.

Respuesta:B) N+1 accesos

3.- El algoritmo peor en ajustarse para la selección de un área libre de memoria asigna:
a) El primer bloque libre suficientemente grande que encuentra.
b) El bloque libre más grande, siempre que el tamaño del bloque exceda el tamaño necesario.
c) El bloque libre más grande, siempre que el tamaño del bloque no exceda el tamaño necesario.
d) Ninguna de las anteriores.

Solución: pp.267 del libro base de la asignatura


El algoritmo peor en ajustarse para la selección de un área libre de memoria, representa el caso contrario al algoritmo
mejor en ajustarse ya que asigna el bloque libre más grande, siempre que el tamaño del bloque exceda el tamaño
necesario.

Respuesta: B) El bloque libre más grande, siempre que el tamaño del bloque exceda el tamaño necesario.

4.- Decir si las siguientes afirmaciones relativas a la E/S localizada en memoria son ciertas:
I) Existe un único espacio de direcciones para las posiciones de memoria y los dispositivos de E/S.
II) La CPU utiliza instrucciones máquinas diferentes para acceder a la memoria o a los periféricos.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.

Solución: pp.389 del libro base de la asignatura


En la E/S localizada en memoria hay un único espacio de direcciones para las posiciones de memoria y los
dispositivos de E/S. La CPU trata los registros de datos y de estados de los controladores de E/S como posiciones de
memoria y utiliza las mismas intrucciones máquina para acceder tanto a la memoria como a los periféricos

Respuesta:B) I: si. II: no.

2
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN JUNIO 2008

5.- Decir si las siguientes afirmaciones relativas al planificador a corto plazo (PCP) son ciertas:
I) El PCP determina qué trabajos se admiten en el sistema para su procesamiento y son, por lo tanto, cargados
en la memoria disponible.
II) El PCP debe realizar una mezcla adecuada de trabajos destinados al procesador y trabajos destinados al
sistema de E/S.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.

Solución: pp.37-38 del libro base de la asignatura


El planificador a corto plazo (PCP) selecciona al proceso que pasará al estado activo de entre todos los procesos
residentes en memoria que se encuentren en el estado preparado. Es el planificador a largo plazo (PLP) el que
determina que trabajos se admiten en el sistema para su procesamiento y son por tanto cargados en la memoria
disponible. Además el PLP se encarga de realizar una mezcla adecuada se trabajos destinados al procesador y
trabajos destinados al sistema de E/S.

Respuesta:D) I: no, II: no

6.- En los monitores se cumple que


a) La exclusión mutua no está implícita.
b) No proporcionan por si mismos un mecanismo para la sincronización de tareas.
c) Las dos afirmaciones anteriores son verdaderas.
d) Ninguna de las anteriores.

Solución: pp.124-125 del libro base de la asignatura


Un monitor es un conjunto de procedimientos que proporcionan el acceso con exclusión mútua a un recurso o
conjunto de recursos (datos o dispositivos) compartidos por un grupo de procesos. La ventaja para la exclusión mútua
que presenta un monitor frente a los semáforos u otro mecanismo es que ésta está ahora implicita. Por otra parte, los
monitores no proporcionan por si mismos un mecanismo para la sincronización de tareas y, por ello, su construcción
debe completarse permitiendo, por ejemplo, que se puedan usar señales para sincronizar los procesos.

Respuesta:B) No proporcionan por si mismos un mecanismo para la sincronización de tareas

7.- Decir si las siguientes afirmaciones relativas a un semáforo S inicializado con un valor N son ciertas:
I) Si N=1 la ejecución de una operación espera(S) por parte de un proceso provocará la suspensión de dicho
proceso y su colocación en la cola de tareas en espera.
II) Si N=3 la ejecución de una operación señal(S) deja un valor de 4 en el semáforo.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.

Solución: pp.122 del libro base de la asignatura


Afirmación I) Si un semáforo S está inicializado con un valor N=1 entonces la ejecución de una operación espera(S)
por parte de un proceso simplemente producirá que el semáforo tome el valor N=0 pero no provoca la suspensión del
proceso. Luego esta afirmación es FALSA.

Afirmación II) Si un semáforo S está inicializado con un valor 3 entonces la ejecución de una operación señal (S) por
parte de un proceso producirá que el semáforo tome el valor 4. En conclusión la afirmación es VERDADERA.

Respuesta:C) I: no, II: si.

3
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN JUNIO 2008

8.- La planificación del disco que consiste en ir recorriendo todas las peticiones en una dirección y satisfaciendo todas
las peticiones que se encuentra en el camino, hasta que alcanza la última pista, es:
a) La planificación FCFS.
b) La planificación SCAN.
c) La planificación SSTF.
d) Ninguna de las anteriores.

Solución: pp.423 del libro base de la asignatura


La planificación del disco que consiste en ir recorriendo todas las peticiones en una dirección y satisfaciendo todas las
peticiones que se encuentra en el camino, hasta que alcanza la última pista, es la planificación SCAN.

Respuesta: B) La planificación SCAN.

9.- Decir si las siguientes afirmaciones relativas al algoritmo de sustitución de páginas de uso no frecuente son ciertas:
I) Este algoritmo posee una tasa de fallos mayor que el algoritmo LRU.
II) Este algoritmo posee una tasa de fallos mayor que el algoritmo de la segunda oportunidad.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.

Solución: pp.269 del libro base de la asignatura


Para averiguar si las afirmaciones son ciertas hay que clasificar los algoritmos de sustitución de páginas más
conocidos de mayor a menor tasa de fallos, dicha clasiificación sería: FIFO, LRU, NFU o de uso no frecuente,
segunda oportunidad y óptimo. De acuerdo con esta clasificación el algoritmo FIFO es el que presenta una tasa de
fallos mayor y el algoritmo óptimo es el que presenta una tasa de fallos menor.

Afirmación I. De acuerdo con la clasificación realizada el algoritmo de uso no frecuente posee una tasa de fallos
menor que el algoritmo LRU. En conclusión la afirmación es FALSA.

Afirmación II: De acuerdo con la clasificación realizada el algoritmo de uso no frecuente posee una tasa de fallos
mayor que el algoritmo de la segunda oportunidad. En conclusión la afirmación es VERDADERA.

Respuesta:C) I: no, II: si.

10.- ¿Cual de los siguientes algoritmos de planificación es de tipo expropiativo?


a) SRT.
b) SJF.
c) FCFS
d) Ninguno de los anteriores.

Solución: pp.41 del libro base de la asignatura


De los algoritmos de planificación enumerados en las posibles respuestas el único que es de tipo expropiativo es el
algoritmo SRT. De hecho este algoritmo es la versión expropiativa del algoritmo SJF.

Respuesta: A) SRT

4
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN JUNIO 2008

SOLUCIÓN PROBLEMAS

1 .- (3 puntos) Un sistema con memoria virtual mediante demanda de páginas utiliza el algoritmo LRU para la sustitución
de páginas. Un proceso genera la siguiente secuencia de referencias a páginas de memoria:

13241574328945491832

a) Determinar cuantos fallos de página se producen cuando se dispone de 4 o 5 marcos de página para este
proceso.
b) Explicar razonadamente si mejoraría la tasa de fallos de página si se aumentase el número de marcos de página
a N, siendo N>5.

Solución:

a) El algoritmo LRU asocia a cada página el tiempo de la última vez que se utilizó. Cuando una página debe ser
sustituida, se elige a aquella que no ha sido utilizada durante un periodo mayor de tiempo. Una posible forma de
implementar este algoritmo es mediante una pila que mantiene los números de las páginas, cada vez que una página
se referencia, su número se elimina de la pila y se coloca en la cumbre de la pila. De esta forma, en la parte superior
de ls pila se tiene siempre el número de la última página usada y en el fondo el de la página que hace más tiempo que
se usó.

A continuación, se muestra el contenido de dicha pila para la secuencia de referencias a páginas de memoria dadas
en el enunciado. Asimisimo, cuando se produce un fallo se marca con una F y cuando se produce un acierto se indica
con una A.

„4 marcos de página:


1 3 2 4 1 5 7 4 3 2 8 9 4 5 4 9 1 8 3 2
1 3 2 4 1 5 7 4 3 2 8 9 4 5 4 9 1 8 3 2
1 3 2 4 1 5 7 4 3 2 8 9 4 5 4 9 1 8 3
1 3 2 4 1 5 7 4 3 2 8 9 9 5 4 9 1 8
1 3 2 4 1 5 7 4 3 2 8 8 8 5 4 9 1
F F F F A F F A F F F F F F A A F F F F

En total se producen 16 fallos de página.

„5 marcos de página:


1 3 2 4 1 5 7 4 3 2 8 9 4 5 4 9 1 8 3 2
1 3 2 4 1 5 7 4 3 2 8 9 4 5 4 9 1 8 3 2
1 3 2 4 1 5 7 4 3 2 8 9 4 5 4 9 1 8 3
1 3 2 4 1 5 7 4 3 2 8 9 9 5 4 9 1 8
1 3 2 4 1 5 7 4 3 2 8 8 8 5 4 9 1
3 2 2 1 5 7 4 3 2 2 2 8 5 4 9
F F F F A F F A F F F F A F A A F A F F

En total se producen 14 fallos de página.

b) Analizando la secuencia de páginas referenciadas se observa que existen 8 páginas distintas {1 2 3 4 5 7 8 9}, por
lo tanto habrán 8 fallos de página como mínimo, al estar la memoria inicialmente vacía. Cómo con 5 marcos de página
se producen 14 fallos de página todavía existe un margen de mejora en la tasa de fallos de página (pasar de 14 a 8) si
se aumenta el número de marcos de página N por encima de 5.

5
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN JUNIO 2008

2.- (3 puntos) Considérese un sistema de ficheros cuyos bloques son de 1 Kbytes y cada puntero a un bloque de disco
requiere 2 bytes. Un nodo-i de este sistema contiene 9 punteros directos a bloques de datos, un puntero a un bloque de
indirección simple, y otro a uno doble. Se pide:
a) Determinar los números de los bloques de datos a los que se puede acceder con los 11 punteros contenidos
en un nodo-i.
b) Supuesto que el sistema operativo ha leido ya el nodo-i de un fichero en memoria principal, desterminar el
número de lecturas adicionales a disco que se requerirán para leer el bloque de datos número 325 y el
número 605.
Solución:

x 9 punteros directos a bloques de datos, que apuntarán a los bloques de datos nº 1 al nº 9 del fichero.
a) De acuerdo con el enunciado un nodo-i de este sistema de ficheros contiene entre otras informaciones 11 punteros:

x 1 puntero a un bloque de indirección simple, es decir, cuyo contenido son punteros a bloques. Puesto que un
bloque tiene una capacidad de SB =1 Kbyte=210 bytes y un puntero a un bloque de disco ocupa SP= 2 bytes,
entonces el número de punteros NP que pueden almacenarse en un bloque sería:

SB 210
NP 29 512 punteros.
SP 2

x 1 puntero a un bloque de indirección doble, es decir, cuyo contenido son punteros a bloques de indirección
En consecuencia un bloque de indirección simple apuntará a 512 bloques de datos del nº 10 al nº 521.

simple que a su vez contienen punteros a bloques de datos. Como el número de punteros que puede contener
un bloque son NP=512. Un bloque de indirección doble apuntará a NP2=5122=262144 bloques de datos del nº
522 al nº 262666.

b) Supuesto que el nodo-i ya se encuentra en memoria principal, para leer un bloque referenciado con un puntero
directo se requiere una lectura adicional a disco. Para leer un bloque referenciado con un puntero indirecto simple se
requieren dos lecturas adicionales a disco son dos. Para leer un bloque referenciado con un puntero indirecto doble se
requieren tres lecturas adicionales a disco.

Así, al bloque de datos nº 325 de acuerdo con el apartado anterior se accede a través del puntero de indirección
simple luego se requerirán dos lecturas adicionales a disco. Mientras que el bloque de datos nº 605 se accede a
través del puntero de indirección doble luego se requerirán tres lecturas adicionales a disco.

6
SISTEMAS OPERATIVOS I Tipo de Examen: A Septiembre 2008
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE con
el resto de hojas de su examen. Cualquier examen que no venga acompañado de esta hoja de enunciados no será corregido.
Complete TODOS los datos que se piden en la hoja de lectura óptica o en caso contrario su examen no será corregido. La
puntuación del examen es la siguiente: el test vale 4 puntos y los ejercicios 6 puntos. Las respuestas correctas del test puntúan 0.4
puntos y las respuestas erróneas del test descuentan 0.2. El test es eliminatorio, debiendo obtener una calificación mínima de 2
puntos para superarlo. NINGÚN MATERIAL PERMITIDO. Tiempo total para el examen (test + ejercicios): 2 horas
Test : Conteste exclusivamente en la HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.
1- Sea f la velocidad de rotación de un disco magnético, ¿Cuál es la expresión del tiempo de búsqueda (tb)?
a) tb=1/2·f
b) tb=1/4·f
c) tb=3/5·f
d) Ninguna de las anteriores
2.- En un sistema de gestión de la memoria con particiones fijas se dispone de 7 particiones de 1 Mb y la cola de tareas
contiene tareas con requerimientos de 400 Kb, 1600 Kb, 300 Kb, 900 Kb, 200 Kb, 500 Kb y 800 Kb, Decir si las
siguientes afirmaciones son ciertas:
I) La fragmentación externa es de 1600 Kb.
II) La fragmentación interna es de 3040 Kb
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no
3.- ¿Se puede producir un ataque mediante “caballos de Troya” en un sistema protegido mediante listas de capacidades?
a) Si.
b) No.
c) En algunos casos.
d) No es posible saberlo sin tener más datos.
4.- Decir si las siguientes afirmaciones relativas a los algoritmos de planificación por prioridades son ciertas:
I) Únicamente pueden ser de tipo de no expropiación.
II) Se puede plantear el problema de que los procesos con menor prioridad queden relegados y sin posibilidad de
utilizar el procesador.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
5.- Si un semáforo S tiene el valor 0, entonces una operación señal (S) tendrá el siguiente resultado:
a) S=1, independientemente de la existencia de procesos bloqueados en la cola del semáforo.
b) S=0 si existen procesos bloqueados en la cola del semáforo y S=1 en caso contrario.
c) Las dos afirmaciones anteriores son falsas.
d) Ninguna de las anteriores.
6.- ¿Existe alguna diferencia entre la operación de espera de un semáforo y la de una variable de condición de un
monitor?
a) No.
b) Si.
c) Depende de la implementación del monitor y del semáforo.
d) No es posible saberlo sin tener más datos.
7.- En un bloque de control de procesos (BCP) se almacenan, entre otras datos, la siguiente información relativa a un
proceso:
a) El identificador único del proceso.
b) La información para gestionar la memoria (punteros, tablas, registros).
c) Las dos afirmaciones anteriores son verdaderas.
d) Ninguna de las anteriores.
8.- Decir si las siguientes afirmaciones relativas a la gestión de memoria mediante demanda de página son ciertas:
I) La circuitería para soportar demanda de página es la misma que para la paginación y el intercambio.
II) Requiere que la arquitectura del computador permita continuar cualquier instrucción después de un fallo de
página.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
9.- Decir si las siguientes afirmaciones relativas al método de asignación del espacio del disco mediante indexación son
ciertas:
I) Soporta con la misma eficacia el acceso aleatorio que el secuencial.
II) Evita la pérdida de espacio.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
10.- Decir si las siguientes afirmaciones relativas al acceso directo a memoria son ciertas (DMA) son ciertas:
I) Generalmente, los controladores de DMA poseen una prioridad más elevada que la CPU en los accesos a
memoria principal.
II) La estrategia de DMA por ráfagas es la estrategía que menos tiempo mantiene inactiva a la CPU.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
SISTEMAS OPERATIVOS I 2 horas/Ningún material permitido Septiembre 2008
Apellidos: ____________________________________________ Nombre: ______________________ DNI: ______________
Centro Asociado en el que está MATRICULADO: ____________________Código de la asignatura: _____________________
INSTRUCCIONES: Complete sus datos personales en la cabecera de esta hoja, y ENTRÉGUELA OBLIGATORIAMENTE
junto con la hoja de lectura óptica. Cíñase al espacio determinado para contestar cada pregunta. (No se evaluará ninguna hoja
adicional). Superado el test, la puntuación de estos ejercicios corresponde al 60% de la calificación final.
1.- (3 puntos) La siguiente tabla recoge información de cinco procesos que se van a ejecutar en un sistema.
Proceso Tiempo de llegada (ms) Tiempo de ejecución (ms)
A 0 5
B 1 3
C 2 2
D 3 3
E 4 4
Supuesto que el tiempo de conmutación de tareas es de 0.5 ms, calcular el tiempo de retorno y el tiempo de espera de cada
uno de los trabajos y representar la ejecución en diagramas de Gantt para los siguientes algoritmos de planificación:
a) RR con un cuanto de 3 ms.
b) SRT.
Solución:
2.- (3 puntos) La política de gestión de memoria de un cierto sistema es del tipo demanda de página. El tamaño de una
página es de 1 Kbytes, el tamaño máximo de la memoria virtual es de 4 Mbytes y el tamaño de la memoria física es de
1 Mbytes. Se pide:
a) Determinar el tamaño de cada uno de los campos de una dirección virtual y de una dirección física
b) Determinar la capacidad mínima que debe tener la tabla de páginas del proceso de mayor tamaño que se puede
ejecutar en el sistema. ¿Que tanto por ciento de la memoria principal ocuparía dicha tabla?.
c) Supóngase que las tablas de páginas se almacenan en memoria principal y que el tiempo de acceso a la
memoria es de 100 ns. Supóngase además que se dispone de una memoria asociativa cuyo tiempo de acceso es
de 75 ns y que el 80 % de todas las referencias a las tablas de páginas se encuentran en la memoría asociativa.
¿Cúal es el tiempo promedio de una referencia a memoria principal?

Solución:
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN SEPTIEMBRE 2008

TABLA RESUMEN SOLUCIONES TEST

Pregunta Tipo A
1 d
2 d
3 b
4 c
5 b
6 b
7 c
8 a
9 b
10 b

1
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN SEPTIEMBRE 2008

SOLUCIÓN COMPLETA TEST (Tipo A)

1- Sea f la velocidad de rotación de un disco magnético, ¿Cuál es la expresión del tiempo de búsqueda (tb)?
a) tb=1/2·f;
b) tb=1/4·f;
c) tb=3/5·f;
d) Ninguna de las anteriores.

Solución: pp. 417 del libro base de la asignatura.

El tiempo de búsqueda tb de un disco magnético, se define como el tiempo necesario para que las cabezas del disco
se desplacen al cilindro adecuado. Consta de dos componentes claves: el tiempo de arranque inicial (ti) y el tiempo
que se tarda en recorrer todos los cilindros que hay entre la pista inicial y la pista final. Se suele aproximar con la
fórmula siguiente

tb m u n  ti

donde n es el número de pistas recorridas y m es una constante que depende de la unidad de disco.

Respuesta: D) Ninguna de las anteriores.

2.- En un sistema de gestión de la memoria con particiones fijas se dispone de 7 particiones de 1 Mb y la cola de tareas
contiene tareas con requerimientos de 400 Kb, 1600 Kb, 300 Kb, 900 Kb, 200 Kb, 500 Kb y 800 Kb, Decir si las
siguientes afirmaciones son ciertas:
I) La fragmentación externa es de 1600 Kb.
II) La fragmentación interna es de 3040 Kb
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no

Solución: pp. 218 del libro base de la asignatura.

Se dispone de siete particiones de 1 Mb, es decir, 1024 Kb. Se va a calcular el espacio desperdiciado en cada

x Tarea de 400 Kb. Espacio desperdiciado 1024-400= 624 Kb.


partición al alojar cada una de las tareas de la cola:

x Tarea de 1600 Kb. Su tamaño es mayor que el tamaño de una partición por lo tanto no podrá ejecutarse nunca.
x Tarea de 300 Kb. Espacio desperdiciado 1024-300= 724 Kb.
x Tarea de 900 Kb. Espacio desperdiciado 1024-900= 124 Kb.
x Tarea de 200 Kb. Espacio desperdiciado 1024-200= 824 Kb.
x Tarea de 500 Kb. Espacio desperdiciado 1024-500= 524 Kb.
x Tarea de 800 Kb. Espacio desperdiciado 1024-800= 224 Kb.

La fragmentación externa se produce cuando una partición disponible no se emplea porque es muy pequeña para
cualquiera de las tareas que se esperan. En este caso, una partición completa de las siete disponible ha quedado
vacia luego la fragmentación externa es de 1024 Kb.

La fragmentación interna consiste en aquella parte de la memoria que no se está usando pero que es interna a una
partición asignada a una tarea. En este caso la fragmentación interna es de 624+724+124+824+524+224=3044 Kb.

Respuesta: D) I: no, II: no.

2
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN SEPTIEMBRE 2008

3.- ¿Se puede producir un ataque mediante “caballos de Troya” en un sistema protegido mediante listas de
capacidades?
a) Si.
b) No.
c) En algunos casos.
d) No es posible saberlo sin tener más datos.
Solución: pp. 351 del libro base de la asignatura.

Un “caballo de Troya” es un programa útil o de apariencia útil que contiene un código oculto que, cuando se invoca,
lleva a cabo una función dañina o no deseada.

En las listas de capacidades a cada dominio se le asocia una lista de objetos a los cuales puede terner acceso, junto
con una indicación de las operaciones permitidas sobre cada objeto. La ventaja de la lista de capacidades es que es
un objeto protegido, mantenido por el sistema operativo y de forma que nunca se permite que una capacidad se
mueva al espacio de direcciones accesibles por un proceso de usuario. Manteniendo las capacidades seguras, los
objetos a los que protegen también están seguros frente accesos no autorizados. Por lo tanto, al ser el “caballo de
Troya” un programa de usuario no puede tener acceso a la lista de capacidades y modificar los accesos.

Respuesta: B) No.

4.- Decir si las siguientes afirmaciones relativas a los algoritmos de planificación por prioridades son ciertas:
I) Únicamente pueden ser de tipo de no expropiación.
II) Se puede plantear el problema de que los procesos con menor prioridad queden relegados y sin posibilidad
de utilizar el procesador.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
Solución: pp. 40 del libro base de la asignatura.

En los algoritmos de planificación por prioridades cada proceso tiene asignada una y el de mayor prioridad en el
estado preparado es el que toma el procesador. Este tipo de algoritmos puede ser de tipo de expropiación o no de
expropiación.

En los algoritmos con prioridades se puede plantear el problema de que los procesos con menor prioridad queden
relegados y sin posibilidades de utilizar el procesador.

Respuesta: C) I: no, II: si.

5.- Si un semáforo S tiene el valor 0, entonces una operación señal (S) tendrá el siguiente resultado:
a) S=1, independientemente de la existencia de procesos bloqueados en la cola del semáforo.
b) S=0 si existen procesos bloqueados en la cola del semáforo y S=1 en caso contrario.
c) Las dos afirmaciones anteriores son falsas.
d) Ninguna de las anteriores.
Solución: pp. 114 del libro base de la asignatura.

Si un semáforo S tiene el valor 0 entonces el resultado de una operación señal(S) dependerá de la existencia o no de
procesos bloqueados en la cola del semáforo. Si existen procesos en la cola entonces se reanuda la primera tarea de
la cola y no se modifica el valor de S. Cuando no queden tareas en la cola entonces S tomará el valor 1.

Respuesta: B) S=0 si existen procesos bloqueados en la cola del semáforo y S=1 en caso contrario.

3
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN SEPTIEMBRE 2008

6.- ¿Existe alguna diferencia entre la operación de espera de un semáforo y la de una variable de condición de un
monitor?
a) No.
b) Si.
c) Depende de la implementación del monitor y del semáforo.
d) No es posible saberlo sin tener más datos.
Solución: pp. 163 del libro base de la asignatura.

La ejecución de la operación de espera de una variable de condición siempre suspende al proceso que la emite
mientras que la de un semáforo depende del valor del indicador. Luego si existe diferencia.

Respuesta: B) Si.

7.- En un bloque de control de procesos (BCP) se almacenan, entre otras datos, la siguiente información relativa a un
proceso:
a) El identificador único del proceso.
b) La información para gestionar la memoria (punteros, tablas, registros).
c) Las dos afirmaciones anteriores son verdaderas.
d) Ninguna de las anteriores.
Solución: pp. 33 del libro base de la asignatura.

El sistema mantiene toda la información sobre un proceso en una estructura de datos denominada bloque de control
de procesos (BCP). En el BCP se guarda la información que necesita el sistema para controlar el proceso y darse
cuenta de sus recursos y toda la que influye en la ejecución de un programa. Por ejemplo: el identificador único del
proceso (pid), el estado del proceso (activo, preparado, bloquedao), la prioridad, el estado hardware, la información
para gestionar la memoria (punteros, tablas, registros), ...

Respuesta: C) Las dos afirmaciones anteriores son verdaderas.

8.- Decir si las siguientes afirmaciones relativas a la gestión de memoria mediante demanda de página son ciertas:
I) La circuitería para soportar demanda de página es la misma que para la paginación y el intercambio.
II) Requiere que la arquitectura del computador permita continuar cualquier instrucción después de un fallo de
página.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
Solución: pp. 239 del libro base de la asignatura.

La circutería para soportar demanda de página es la misma que para la paginación e intercambio. Básicamente
consiste en un dispositivo de almacenamiento masivo (un disco) y una tabla de páginas con la posibilidad de marcar
una entrada como ausente mediante un bit de presente/ausente o un valor especial de bits de protección. En
conclusión, la primera afirmación es verdadera.

Para implementar la politica de demanda de páginas se tienen que imponer algunas restricciones sobre la
arquitectura. Así, es esencial la posibilidad de continuar cualquier instrucción después de un fallo de página. En
conclusión, la segunda afirmación es verdadera.

Respuesta: A) I: si, II: si.

4
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN SEPTIEMBRE 2008

9.- Decir si las siguientes afirmaciones relativas al método de asignación del espacio del disco mediante indexación son
ciertas:
I) Soporta con la misma eficacia el acceso aleatorio que el secuencial.
II) Evita la pérdida de espacio.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
Solución: pp. 316-317 del libro base de la asignatura.

El método de asignación del espacio del disco mediante indexación soporta con la misma eficacia el acceso aleatorio
que el secuencial. Sin embargo, presenta perdidas de espacio.

Respuesta: B) I: si. II: no.

10.- Decir si las siguientes afirmaciones relativas al acceso directo a memoria son ciertas (DMA) son ciertas:
I) Generalmente, los controladores de DMA poseen una prioridad más elevada que la CPU en los accesos a
memoria principal.
II) La estrategia de DMA por ráfagas es la estrategía que menos tiempo mantiene inactiva a la CPU.
a) I: si, II: si. b) I: si. II: no. c) I: no, II: si. d) I: no, II: no.
Solución: pp. 437 y 399 del libro base de la asignatura.

Generalmente los controladores de DMA poseen una prioridad más alta que la CPU en los accesos a memoria, para
que sea posible interrumpir a ésta cuando el controlador de DMA esté preparado para la trasferencia de un bloque de
datos. Esta trasferencia es rápida y, además, es posible que la CPU necesite esos datos con posterioridad. Luego la
primera afirmación es verdadera.

En la estrategia de DMA por ráfagas cuando el DMA toma el control del bus no lo libera hasta haber transmitido el
bloque de datos pedido. Con este método se consigue la mayor velocidad de transferencia pero se tiene a la CPU
inactiva durante periodos relativamente grandes. Luego la segunda afirmación es falsa.

Respuesta: B) I: si. II: no.

5
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN SEPTIEMBRE 2008

SOLUCIÓN PROBLEMAS

1.- (3 puntos) La siguiente tabla recoge información de cinco procesos que se van a ejecutar en un sistema.
Proceso Tiempo de llegada (ms) Tiempo de ejecución (ms)
A 0 5
B 1 3
C 2 2
D 3 3
E 4 4
Supuesto que el tiempo de conmutación de tareas es de 0.5 ms, calcular el tiempo de retorno y el tiempo de espera de
cada uno de los trabajos y representar la ejecución en diagramas de Gantt para los siguientes algoritmos de
planificación:
a) RR con un cuanto de 3 ms.
b) SRT.

Solución:
a) En el algoritmo de planificación circular o round robin (RR) el procesador se asigna a cada proceso de forma
secuencial durante un periodo de tiempo definido denominado cuanto, que en este caso es de 3 ms.
Llegada de un proceso
Eventos: Cola de procesos: {P1,…,Pn}
Finalización de un proceso P1 lleva más tiempo en la cola

A B C D E B C D A E

A B C D A E
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (ms)

{B, C, D, A} {C, D, A, E} {D, A, E} {A, E} {E}

Proceso Tiempo de finalización (ms) Tiempo de retorno (ms) Tiempo de espera (ms)
A 15 15-0= 15 15-5=10
B 6.5 6.5-1= 5.5 5.5-3=2.5
C 9 9-2= 7 7-2=5
D 12.5 12.5-3= 9.5 9.5-3=6.5
E 19.5 19.5-4=15.5 15.5-4=11.5

b) El algoritmo de planificación SRT es la versión expropiativa del algoritmo de planificación de la primera tarea más
corta o SJF, el procesador se asigna al proceso con el menor valor de tiempo restante de ejecución.

A B C D EC B D A E

A B C B D A E
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (ms)
Llegada de un proceso
{A[4], B[3]} Eventos:
Finalización de un proceso
{A[4], B[2.5],C[2]}
Procesos en orden de llegada al sistema: {P1[t1],…,Pn[tn]}
{A[4], B[2.5],C[1.5],D[3]} {A[4], B[2.5],C[0.5],D[3],E[4]} ti tiempo restante de ejecución de Pi

Proceso Tiempo de finalización (ms) Tiempo de retorno (ms) Tiempo de espera (ms)
A 15.5 15.5-0=15.5 15.5-5=10.5
B 7.5 7.5-1=6.5 6.5-3=3.5
C 4.5 4.5-2=2.5 2.5-2=0.5
D 11 11-3=8 8-3=5
E 20 20-4=16 16-4=12

6
SISTEMAS OPERATIVOS I SOLUCIÓN EXAMEN SEPTIEMBRE 2008

2.- (3 puntos) La política de gestión de memoria de un cierto sistema es del tipo demanda de página. El tamaño de una
página es de 1 Kbytes, el tamaño máximo de la memoria virtual es de 4 Mbytes y el tamaño de la memoria física es de
1 Mbytes. Se pide:
a) Determinar el tamaño de cada uno de los campos de una dirección virtual y de una dirección física
b) Determinar la capacidad mínima que debe tener la tabla de páginas del proceso de mayor tamaño que se
puede ejecutar en el sistema. ¿Que tanto por ciento de la memoria principal ocuparía dicha tabla?.
c) Supóngase que las tablas de páginas se almacenan en memoria principal y que el tiempo de acceso a la
memoria es de 100 ns. Supóngase además que se dispone de una memoria asociativa cuyo tiempo de acceso
es de 75 ns y que el 80 % de todas las referencias a las tablas de páginas se encuentran en la memoría
asociativa. ¿Cúal es el tiempo promedio de una referencia a memoria principal?
Solución:
a) Una dirección virtual consta de dos campos: número de página y desplazamiento en bytes dentro de la página. El
tamaño del campo número de página se deduce a partir del número de páginas que ocupa la memoria virtual, que se
calcula dividiendo el tamaño de la memoria virtual entre el tamaño de una página
4·2 20
4·210 212 páginas
210
Luego se requieren 12 bits para distinguir entre las 212 páginas de que consta la memoria virtual. Por otra parte, el
desplazamiento corresponde al tamaño de la página 1024 bytes= 210 bytes, luego el campo desplazamiento requiere
10 bits. Por lo tanto, los campos de una dirección virtual poseen el siguiente tamaño:

12 bits 10 bits
Nº de página Desplazamiento

Una dirección física consta de dos campos: número de marco de página y desplazamiento en bytes dentro del marco.
Para obtener el tamaño del primer campo hay que calcular el número de marcos de página en que se divide la
memoria principal que se obtiene dividiendo la capacidad de la memoria principal entre el tamaño de una página:
2 20
210 210 marcos de página
210
Luego se requieren 10 bits para distinguir entre las 210 marcos de páginas en que se divide la memoria virtual. Por otra
parte, el desplazamiento corresponde al tamaño del marco de página, que es igual al de la página: 1024 bytes= 210
bytes, luego el campo desplazamiento requiere 10 bits. Por lo tanto, los campos de una dirección física poseen el
siguiente tamaño:

10 bits 10 bits
Nº de marco de página Desplazamiento

b) El proceso de mayor tamaño que se puede ejecutar sería aquel que ocupara toda la memoria virtual, es decir,
4 Mbytes, o equivalentemente 212 páginas. Como la tabla de páginas debe tener una entrada por cada página del
proceso constará por tanto de 212 entradas. En un sistema con demanda de página una entrada de una tabla página
debe tener como mínimo dos campos: número de marco de página (10 bits) y bit de presente/ausente. Luego el
tamaño mínimo de una entrada es de 11 bits. Por lo tanto la capacidad mínima que debe tener la tabla de páginas del
proceso de mayor tamaño que se puede ejecutar en el sistema es

212 (entradas ) u11 (bits / entrada) 45056 bits


12
2 x 11 1100
El tanto por ciento de la memoria principal que ocuparía esta tabla es ·100 0.54%
8·2 20 2048

c) Si una referencia a memoria requiere acceder a una tabla de páginas almacenada a memoria principal, habrá que
realizar dos accesos a memoria, uno para leer dentro de la tabla de páginas el número de marco donde está alojada la
página y otro más para acceder a dicho marco. Luego el tiempo empleado en este caso será 2·100=200 ns. Por el
contrario si la tabla de páginas está en la memoria asociativa, primero se accede a la memoria asociativa para leer
dentro de la tabla de páginas el número de marco donde está alojada la página y luego se accede a la memoria
principal para acceder al marco. Luego el tiempo empleado en este caso será 75+100=175 ns. Como se sabe que el
80% por ciento de las referencias a las tablas de páginas encuentran en la memoria asociativa, entonces el tiempo

0.8·175  (1  0.8)·200 180 ns


promedio tr de una referencia a memoria principal es:
tr

7
SISTEMAS OPERATIVOS I Ejemplo 2009
Aviso 1: Todas las respuestas deben estar debidamente razonadas.
Material permitido: NINGUNO Aviso 2: Escriba sus respuestas con una letra lo más clara posible. Evite los tachones.
Tiempo: 2 horas Aviso 3: Notificación de la salida de las calificaciones y fecha de revisión en la página web de la
asignatura:
[Link] [Link]

1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas:


I) (1 p) El planificador a corto plazo (PCP) determina que trabajos se admiten en el sistema para su
procesamiento y son, por lo tanto, cargados en la memoria disponible.
II) (1 p) El DMA por ráfagas interfiere más la actividad de la CPU que el DMA por robo de ciclos.

2. (2 p) Enumere y explique brevemente los servicios que tiene que proporcionar el sistema operativo como máquina
virtual.

3. (2 p) Describa razonadamente las operaciones inicializar, espera y señal sobre un semáforo generalizado.

4. Un sistema con memoria virtual mediante demanda de páginas utiliza el algoritmo LRU para la sustitución de
páginas. Un proceso genera la siguiente secuencia de referencias a páginas de memoria:

13241574328945491832

a) (1.5 p) Determinar cuantos fallos de página se producen cuando se dispone de 4 o 5 marcos de página para este
proceso.
b) (0.5 p) Explicar razonadamente si mejoraría la tasa de fallos de página si se aumentase el número de marcos de
página a N, siendo N>5.

5. Se ha diseñado un sistema de archivos parecido al del sistema operativo UNIX con la siguiente estructura básica:
un bloque de arranque, N bloques de mapa de bloques, M bloques de mapa de nodos-i, R bloques de nodos-i y
S bloques de archivos. Sabiendo que el tamaño de un bloque es 2 Kbytes, que un nodo-i ocupa 32 bytes y que el
tamaño máximo de un fichero es de 32768 bloques. Se pide
a) (0.5 p) Determinar el número máximo de archivos que pueden almacenarse en este sistema si M=1.
b) (1.5 p) Determinar el valor mínimo de las constantes N, R y S para que puedan existir 50 archivos de tamaño
máximo.
SISTEMAS OPERATIVOS I Solución examen ejemplo 2009

SOLUCION EXAMEN ejemplo 2009

1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas:


I) (1 p) El planificador a corto plazo (PCP) determina que trabajos se admiten en
el sistema para su procesamiento y son, por lo tanto, cargados en la memoria
disponible.
I) (1 p) El DMA por ráfagas interfiere más la actividad de la CPU que el DMA
por robo de ciclos..

Solución:

I) El planificador a corto plazo [PCP] se encarga de seleccionar al proceso que pasará al


estado activo de entre todos los procesos residentes en memoria que se encuentran en el
estado preparado. Es el planificador a largo plazo [PLP] el que determina que trabajos se
admiten en el sistema para su procesamiento y son, por lo tanto, cargados en la memoria
disponible. Por lo tanto la afirmación es FALSA.

II) En el DMA por ráfagas, cuando el controlador de DMA toma el control del bus no lo libera
hasta haber transmitido el bloque de datos solicitado. Obviamente de esta forma se consigue la
mayor velocidad de transferencia posible pero se tiene a la CPU inactiva durante periodos de
tiempo relativamente grandes, por lo que es la estrategia de DMA que más interfiere en la
actividad normal de la CPU. Por lo tanto la afirmación es VERDADERA.

2. (2 p) Enumere y explique brevemente los servicios que tiene que proporcionar el


sistema operativo como máquina virtual.

Solución:
Los servicios que tiene que proporcionar el sistema operativo como máquina virtual son:

- Creación de programas. Existen otros programas del sistema, como son los depuradores, los
editores y los enlazadores, que no son parte del sistema operativo, pero que son accesibles a
través de él.

- Ejecución de programas. Para poder ejecutar un programa se tiene que realizar una serie de
funciones previas, tales como cargar el código y los datos en la memoria principal, inicializar
los dispositivos de E/S y preparar los recursos necesarios para la ejecución. Todo esto lo
gestiona el sistema operativo.

- Operaciones de entrada/salida. Un programa puede requerir una operación de E/S sobre un


periférico. Pero cada uno tiene sus peculiaridades y un controlador específico con su conjunto
de instrucciones. Como en el ejemplo del controlador de la disquetera anterior, es el propio

1
SISTEMAS OPERATIVOS I Solución examen ejemplo 2009

sistema operativo el encargado de hacer todas esas funciones que permiten la lectura,
escritura y comunicación con los periféricos.

- Manipulación y control del sistema de archivos. Además de comunicarse con el controlador


del periférico en donde está el sistema de archivos, el sistema operativo debe conocer la propia
estructura (formato) de almacenamiento y proporcionar los mecanismos adecuados para su
control y protección.

- Detección de errores. Hay una gran cantidad de errores, tanto del hardware como del
software, que pueden ocurrir. Por ejemplo: un mal funcionamiento de un periférico, fallos en la
transmisión de los datos, errores de cálculo en un programa, divisiones por cero, rebose, fallos
de la memoria, violaciones de permisos, etc. El sistema operativo debe ser capaz de
detectarlos y solucionarlos o por lo menos hacer que tengan el menor impacto posible sobre el
resto de las aplicaciones.

- Control del acceso al sistema. En sistemas de acceso compartido o en sistemas públicos, el


sistema operativo debe controlar el acceso al mismo, vigilando quién tiene acceso y a qué
recursos. Por este motivo tiene que tener mecanismos de protección de los recursos e
implementar una adecuada política de seguridad, de forma que no pueda acceder quién no
esté autorizado. Debido a la gran conectividad que tienen hoy día los sistemas informáticos,
este es un aspecto que cada vez está teniendo mayor interés.

- Elaboración de informes estadísticos. Resulta muy conveniente conocer el grado de la


utilización de los recursos y de los distintos parámetros del sistema, como el tiempo de
respuesta. De esta forma se dispone de información que permite saber con antelación las
necesidades futuras y configurar al sistema para dar el mejor rendimiento.

3. (2 p) Describa razonadamente las operaciones inicializar, espera y señal


sobre un semáforo generalizado.
Solución:

Para un semáforo S generalizado o semáforo con contador las operaciones indicadas operan
de la siguiente forma:

- inicializar(S,N). Asigna al semáforo S el valor entero N.

- espera(S). Comprueba el valor actual de S, si es mayor que 0 entonces


disminuye en una unidad su valor S=S-1. En caso contrario suspende al proceso
que invoco la operación en la cola asociada al semáforo.

- señal(S). Comprueba si hay algún proceso bloqueado en la cola del semáforo


S. En caso afirmativo se desbloquea a uno de ellos que pasará al estado listo p
preparado para ejecución. En caso negativo incrementa en una unidad el valor
actual de S, S=S+1.

2
SISTEMAS OPERATIVOS I Solución examen ejemplo 2009

4. Un sistema con memoria virtual mediante demanda de páginas utiliza el algoritmo


LRU para la sustitución de páginas. Un proceso genera la siguiente secuencia de
referencias a páginas de memoria:

13241574328945491832

a) (1.5 p) Determinar cuantos fallos de página se producen cuando se dispone de 4 o


5 marcos de página para este proceso.
b) (0.5 p) Explicar razonadamente si mejoraría la tasa de fallos de página si se
aumentase el número de marcos de página a N, siendo N>5.
Solución:

a) El algoritmo LRU asocia a cada página el tiempo de la última vez que se utilizó. Cuando una
página debe ser sustituida, se elige a aquella que no ha sido utilizada durante un periodo
mayor de tiempo. Una posible forma de implementar este algoritmo es mediante una pila que
mantiene los números de las páginas, cada vez que una página se referencia, su número se
elimina de la pila y se coloca en la cumbre de la pila. De esta forma, en la parte superior de la
pila se tiene siempre el número de la última página usada y en el fondo el de la página que
hace más tiempo que se usó.

A continuación, se muestra el contenido de dicha pila para la secuencia de referencias a


páginas de memoria dadas en el enunciado. Asimismo, cuando se produce un fallo se marca
con una F y cuando se produce un acierto se indica con una A.

- Con 4 marcos de página:

1 3 2 4 1 5 7 4 3 2 8 9 4 5 4 9 1 8 3 2
1 3 2 4 1 5 7 4 3 2 8 9 4 5 4 9 1 8 3 2
1 3 2 4 1 5 7 4 3 2 8 9 4 5 4 9 1 8 3
1 3 2 4 1 5 7 4 3 2 8 9 9 5 4 9 1 8
1 3 2 4 1 5 7 4 3 2 8 8 8 5 4 9 1
F F F F A F F A F F F F F F A A F F F F

En total se producen 16 fallos de página.

- Con 5 marcos de página:

1 3 2 4 1 5 7 4 3 2 8 9 4 5 4 9 1 8 3 2
1 3 2 4 1 5 7 4 3 2 8 9 4 5 4 9 1 8 3 2
1 3 2 4 1 5 7 4 3 2 8 9 4 5 4 9 1 8 3
1 3 2 4 1 5 7 4 3 2 8 9 9 5 4 9 1 8
1 3 2 4 1 5 7 4 3 2 8 8 8 5 4 9 1
3 2 2 1 5 7 4 3 2 2 2 8 5 4 9
F F F F A F F A F F F F A F A A F A F F

En total se producen 14 fallos de página.

3
SISTEMAS OPERATIVOS I Solución examen ejemplo 2009

b) Analizando la secuencia de páginas referenciadas se observa que existen 8 páginas


distintas {1 2 3 4 5 7 8 9}, por lo tanto habrán 8 fallos de página como mínimo, al estar la
memoria inicialmente vacía. Cómo con 5 marcos de página se producen 14 fallos de página
todavía existe un margen de mejora en la tasa de fallos de página (pasar de 14 a 8) si se
aumenta el número de marcos de página N por encima de 5.

5. Se ha diseñado un sistema de archivos parecido al del sistema operativo UNIX con la


siguiente estructura básica: un bloque de arranque, N bloques de mapa de bloques, M
bloques de mapa de nodos-i, R bloques de nodos-i y S bloques de archivos. Sabiendo
que el tamaño de un bloque es 2 Kbytes, que un nodo-i ocupa 32 bytes y que el tamaño
máximo de un fichero es de 32768 bloques. Se pide
a) (0.5 p) Determinar el número máximo de archivos que pueden almacenarse en
este sistema si M=1.
b) (1.5 p) Determinar el valor mínimo de las constantes N, R y S para que puedan
existir 50 archivos de tamaño máximo.
Solución:

a) Si M=1, es decir, hay un bloque de mapa de nodos-i, el número máximo de ficheros que se
pueden almacenar en el fichero vendrá determinado por el número de nodos-i al que hace
referencia el mapa de nodos-i, ya que cada nodo-i contiene información sobre un fichero. En
dicho mapa se tiene un bit que valdrá 0 o 1 si el nodo-i está libre u ocupado. Luego el número
máximo de nodos-i y en consecuencia de ficheros será igual al tamaño en bits de un bloque de
disco, que es

SB 2Kbytes 211 bytes 214 bits 16384 bits

Luego el número máximo de ficheros es de 16384.

b) Para que puedan existir 50 archivos de tamaño máximo, es decir, de 32768 bloques cada
uno, el valor mínimo de S se obtendrá multiplicando el número de archivos por el tamaño de
dichos archivos:

S 50( ficheros) * 32768 (bloques / fichero) 1638400 bloques

El valor mínimo del número N de bloques de mapas de bloques se obtiene dividiendo el


número de bloques S por el tamaño de un bloque en bits. Recuérdese que en un mapa de
bloques, cada bloque de disco tiene asociado un bit que vale 0 si está libre y 1 si está ocupado.
Luego

S 1638400
N 100 bloques
SB 16384

El número R de bloques de nodos-i, viene limitado por el valor de M=1, es decir, en el sistema
hay un único bloque de mapa de nodos-i, lo que de acuerdo con el apartado a) establece un
límite máximo de 214 nodos-i. Para calcular el valor de R en primer lugar hay que determinar
cuantos nodos-i se pueden almacenar en un bloque:

4
SISTEMAS OPERATIVOS I Solución examen ejemplo 2009

SB 2 Kbytes / bloque 211


32 bytes / nodo  i
26 64 nodos-i/bloque
S ni 25

A continuación se divide el número total de nodos-i entre el número de nodos-i que caben en
un bloque

214
R 28 256 bloques
26

También podría gustarte