Universidad de Las Palmas de Gran Canaria

Escuela Universitaria de Informática

Sistemas Operativos

Convocatoria de diciembre, curso 1995/1996

18 de diciembre de 1996

                                                                                 
    Nombre                                                                       

Tiempo de realización: CUATRO HORAS

1 (1 punto) Explique con brevedad cómo el sistema operativo UNIX realiza la planificación de procesos.

2 (1 punto) Considere un algoritmo de Round Robin en el que cada elemento de las colas de procesos es un puntero a un BCP. ¿Qué efecto tendría colocar dos punteros al mismo BCP en la cola de preparados? ¿Se puede conseguir el mismo efecto sin necesidad de emplear punteros duplicados?

3 (1 punto) En cierto sistema concurrente, cada proceso tiene asignado un peso wi (es un entero positivo). Los procesos acceden a un archivo compartido, pudiendo trabajar concurrentemente con él, pero con la restricción de que la suma total de los pesos de los procesos que actualmente están trabajando con el archivo tiene que mantenerse por debajo de cierto límite W.

Diseñe el método de acceso al fichero, utilizando regiones críticas condicionales como herramienta de sincronización.

4 (1 punto) Suponga un sistema informático que gestiona la memoria mediante paginación bajo demanda. ¿Habría algún inconveniente en que el área del vector de interrupciones estuviera en una página seleccionable como víctima?

5 (1'25 puntos) Usted dispone de un ordenador con dos discos duros, en el que va a instalar un sistema operativo tipo Unix o Windows NT. Se requiere un espacio en disco que sirva como memoria de intercambio (swap) para las páginas de sus procesos. Esto normalmente se consigue reservando espacio de intercambio en uno de los discos. Alguien le sugiere que si reparte el área de intercambio entre los dos discos, aumentará el rendimiento. ¿Está usted de acuerdo con ello?

6 (1'25 puntos) Describa algorítmicamente la función EXEC del sistema MS-DOS.

7 (1 punto) Dada la siguiente cadena de referencias a páginas (en hexadecimal):

A0, 90, A0, 100, A0, B5, A0, 90, 80, 90, E5, 100

Suponiendo que en sistema existen tres marcos de página, represente cómo actuarían estas dos políticas: a) Menos recientemente usada (LRU); b) algoritmo óptimo.

8 (1'25 puntos) Considere un sistema con 2 tipos de recursos y 2 posibilidades para cada tipo. En este sistema podrán existir como máximo 3 procesos, los cuales piden y liberan recursos mediante las funciones Pido_Recurso(int tipo) y Libero_Recurso(int tipo), respectivamente. (Observe que mediante estas funciones sólo se puede solicitar y liberar una posibilidad del tipo especificado y que se cumple el principio de independencia de dispositivo).

Implemente en lenguaje C una función de detección de interbloqueo para el sistema descrito. En su implementación emplee las siguientes declaraciones:

/* DEFINICIÓN DE LITERALES */

#define TIP_RECUR 2 /* Tipos de recursos */

#define NUM_PROC 3 /* número máximo de procesos */

#define FALSO 0

#define VERDADERO 1

#defiene HAY_INTERBLOQ 0

#define NO_HAY_INTERBLOQ 0

/* DECLARACIÓN DE VARIABLES GLOBALES */

/* Disponibilidades para cada tipo */

int Disponible[TIP_RECUR] = {2, 2};

/* Lo que cada proceso tiene asignado */

int Asignación[NUM_PROC][NUM_REC] = {0, 0, 0, 0, 0, 0};

/* Recurso por el que espera cada proceso */

/* -1 significa que no espera */

int Solicita[NUM_PROC] = {-1,-1,-1};

/* Prototipo de la función de detección */

/* Que deberá retornar HAY_INTERBLOQ o NO_HAY_INTERBLOQ */

int deteccion();

9 (1'25 puntos) En cada uno de los siguientes apartados numerados, 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. Cada pregunta correcta vale 0'125 puntos; cada pregunta contestada erróneamente penaliza 0'042 puntos. Las preguntas en blanco no puntúan. 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, corrija 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. La estructura de control llamada "Bloque de Control de Fichero" (File Control Block) se utiliza en:

a) MSDOS.

b) UNIX.

c) MSDOS y UNIX.

d) Todas las anteriores son falsas.


2. El mantenimiento de un sistema de archivos es más fácil llevarlo a cabo cuando se usan directorios con estructura:

a) Grafo acíclico.

b) Grafo general.

c) Árbol.

d) Lineal.


3. El concepto de enlace (link) se soporta en el sistema de ficheros del:

a) MSDOS.

b) UNIX.

c) En MSDOS y UNIX.

d) Todas las anteriores opciones son falsas.


4. El concepto de "bloque indirecto" se soporta en el sistema de ficheros del:

a) MSDOS.

b) UNIX.

c) En MSDOS y UNIX.

d) Todas las anteriores opciones son falsas.


5. ¿En cuáles de los siguientes sistemas operativos toda la información de control de un fichero se encuentra ubicada en las entradas de directorios?

a) MSDOS.

b) UNIX.

c) En MSDOS y UNIX.

d) Todas las anteriores opciones son falsas.


6. De cara a la compartición de memoria, el mejor esquema es:

a) Segmentado.

b) Paginado.

c) Contiguo con particiones de tamaño fijo.

d) Contiguo con particiones de tamaño variable.


7. De cara al aprovechamiento de la memoria, el peor esquema es:

a) Segmentado.

b) Paginado.

c) Contiguo con particiones de tamaño fijo.

d) Contiguo con particiones de tamaño variable.


8. El Conjunto Operativo es un método de:

a) Sustitución de páginas.

b) Asignación de páginas.

c) Sustitución y asignación.

d) Protección de memoria.


9. El MSDOS gestiona la memoria mediante:

a) Paginación.

b) Segmentación.

c) Contiguo con particiones de tamaño fijo.

d) Contiguo con particiones de tamaño variable.


10. El sistema operativo que soporta varias políticas de asignación de memoria es:

a) MSDOS.

b) UNIX.

c) WINDOWS-NT.

d) Todas las anteriores opciones son falsas.