Universidad de Las Palmas de Gran Canaria

Escuela Universitaria de Informática

Sistemas Operativos

Primer parcial, curso 1996/1997

7 de febrero de 1997

Tiempo de realización: 4 horas

NOTA: Aunque el examen puntúa sobre 10, el valor total de las preguntas es 11 (once), así que pueden obtener hasta un 10% adicional en la nota.


1 (2 puntos) Responda, utilizando como máximo 5 líneas, a las siguientes cuestiones. En el caso de que su respuesta ocupe más de 5 líneas sólo se tendrá en cuenta lo expuesto en las 5 primeras.

a) ¿Qué ventajas aporta la operación fuera de línea (offline) frente a la operación en línea (online) de dispositivos?

b) ¿De qué manera mejora el rendimiento del sistema el uso de la técnica de spooling?

c) Señale dos elementos que hay que planificar para poder soportar multiprogramación. Justifique su respuesta.

d) En la ejecución de operaciones de Entrada/Salida, ¿qué ventajas aporta el uso de interrupciones frente a su no uso?

e) ¿Por qué es necesario el uso por parte del SO de un reloj (o cronómetro) del sistema?

f) ¿Por qué el deseo de usar órdenes (tarjetas) de control con el fin de automatizar tareas que antes ejecutaban el operador, conduce a la creación de dos modos de operación: modo usuario y modo supervisor (o monitor, o sistema)?

2 (2 puntos) Considere un sistema que es sometido a la siguiente carga de trabajo:

Proceso   Tiempo de llegada   Tiempo de uso de CPU     
   P0             0                      4             
   P1             1                      5             
   P2             2                      2             
   P3             3                      1             

Para cada una de las siguientes políticas de planificación: a)Primero el más corto apropiativo; b) Round-Robin (cuanto=3); se pide:

· Obtener los diagramas de Gantt.

· Calcular el tiempo medio de retorno y el tiempo medio de espera.

3 (3'5 puntos) Diseñe una solución al primer problema de los lectores y escritores (prioridad para los lectores), añadiendo el requisito de que no puede haber más de 20 lectores simultáneos.

La solución consistirá en el código que ha de ejecutar un proceso lector, y el que ha de ejecutar un proceso escritor. El código puede estar escrito en cualquier especificación algorítmica.

Escriba dos versiones de la solución:

· una empleando semáforos (2'5 puntos)

· otra empleando regiones críticas (1 punto)

4 (1 punto) Compare las variables de tipo condición con los semáforos de Dijkstra, en particular sobre su modo de utilización, sus parecidos y diferencias, etc. Indique si las variables condición son capaces de resolver la misma gama de problemas que los semáforos.

5 (2'5 puntos) En cada uno de los 18 apartados numerados de la siguiente hoja, señale cuál opción es correcta. En caso de que existan varias opciones ciertas, se considerará como correcta la más completa o precisa. La puntuación absoluta de esta pregunta se establecerá a partir de la fórmula

2'5/18 x ( respuestas correctas - 1/3 x respuestas erróneas )

Las preguntas no contestadas no puntúan; las contestadas erróneamente penalizan. Señale con bolígrafo sus respuestas sobre estas hojas de enunciado, rodeando la letra de la opción correcta con un redondel. Si se equivoca, enmiende la respuesta con una tachadura en la opción incorrecta y rodee la letra que considere correcta. Las preguntas respondidas con lápiz o con múltiples redondeles no tachados se considerarán no contestadas.


1. Un proceso que está realizando una operación de Entrada/Salida está en estado de:

a) Ejecución (run)

b) Espera (wait)

c) Listo (ready)

d) Sometido (submit)


2. La técnica de buffering

a) Simultanea operaciones de CPU de un proceso con operaciones de Entrada/Salida de otro

b) Simultanea operaciones de CPU de un proceso con operaciones de Entrada/Salida del mismo

c) Simultanea varias operaciones de Entrada/Salida de un mismo proceso

d) Todas las anteriores son falsas


3. Multiprogramación implica:

a) Tiempo compartido

b) Procesamiento en lote

c) Interactividad

d) Todas las anteriores son falsas


4. La forma más simple de pasar los parámetros de las llamadas al sistema al S.O. es:

a) Mediante la pila

b) Mediante bloques de memoria

c) Mediante registros

d) Todas las anteriores son falsas


5. Las nuevas versiones de UNIX han sido diseñadas utilizando un modelo:

a) Monolítico o también llamado de estructura sencilla

b) Por capas

c) de máquina virtual

d) Cliente/Servidor


6. El MSDOS ha sido diseñado utilizando un modelo:

a) Monolítico o también llamado de estructura sencilla

b) Por capas

c) de máquina virtual

d) Cliente/Servidor


7. En la planificación de procesos en UNIX se emplea la política

a) Round-Robin

b) Primero el más corto

c) Round-Robin con colas multinivel

d) Todas las anteriores son falsas


8. En la planificación de procesos en Windows-NT se emplea la política

a) Round-Robin

b) Primero el más corto

c) Round-Robin con colas multinivel

d) Prioridades variables


9. El área U o U-area es una estructura de control empleada en

a) UNIX

b) MSDOS

c) WINDOWS-NT

d) Todas las anteriores son falsas


10. El prefijo de Segmento de Programa (PSP) es una estructura de control empleada en

a) UNIX

b) MSDOS

c) WINDOWS-NT

d) Todas las anteriores son falsas


11. La implementación de un semáforo con la instrucción test-and-set

a) no evita la espera activa

b) no evita la inanición

c) no evita el interbloqueo

d) todas son ciertas


12. En un canal de capacidad nula no bloqueante, la comunicación sólo se podrá establecer

a) cuando el emisor esté listo

b) cuando el receptor esté listo

c) cuando el receptor esté listo y el emisor haya dejado el mensaje con anterioridad en el canal

d) cuando el emisor y el receptor estén ambos listos


13. Para resolver el problema de la exclusión mutua, puede emplearse una variable global turno con el identificador del proceso que tiene derecho a entrar en la sección crítica. Cada vez que un proceso sale de su S.C., cambia el valor de turno al identificador de otro proceso. Esta solución:

a) es correcta

b) no cumple la propiedad de exclusión mutua

c) no cumple la propiedad de progreso

d) no cumple la propiedad de independencia de la arquitectura


14. Los monitores

a) garantizan la espera limitada, pero no la ejecución en exclusión mutua

b) eliminan la necesidad de utilizar variables de tipo condición

c) son tipos abstractos de datos

d) todas las anteriores son ciertas


15. Sobre las herramientas de coordinación de procesos:

a) los monitores no se han empleado en los lenguajes de programación porque su implementación es muy costosa.

b) las regiones críticas resuelven cualquier problema de sincronización que sea resoluble con semáforos binarios.

c) la semántica de las operaciones con variables condición está bien definida.

d) los semáforos facilitan el encapsulamiento de la estructura de los datos y las operaciones privadas que se hacen sobre ellos.


16. Un semáforo tiene actualmente el valor 2. Si se ejecuta una operación wait o P sobre él, ¿qué sucederá?

a) El proceso que ejecuta la operación se bloquea hasta que otro ejecute una operación signal o V.

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.


17. ¿Cuál de estos sistemas operativos es multihilo?

a) Windows NT

b) MS-DOS

c) UNIX

d) ninguno de ellos


18. La instrucción fork del sistema UNIX...

a) carga un archivo ejecutable en una zona de memoria y lanza el nuevo programa a ejecución concurrentemente

b) carga un archivo ejecutable en la zona de memoria ocupada por el proceso que llama y empieza a ejecutar el nuevo programa

c) crea un nuevo hilo de ejecución dentro del proceso que hace la llamada

d) genera una copia de la memoria del proceso llamador, y crea un nuevo proceso que se ejecuta sobre la copia