14
de julio de 2000
Universidad
de Las Palmas de Gran Canaria
Escuela
Universitaria de Informática
Facultad
de Informática
Sistemas
Operativos
Convocatoria
de junio, año 2000
7
de julio de 2000
Todas
las preguntas valen 2 puntos. Dispone de 4 horas para completar el examen.
1 TEST. En cada uno de los siguientes apartados, 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. Las preguntas no contestadas
no puntúan; las contestadas erróneamente penalizan un tercio de su valor.
Señale sus respuestas rodeando con un círculo la opción correcta. Si
se equivoca, tache la respuesta incorrecta y rodee la opción que considere
correcta. Escriba con tinta. Las preguntas respondidas con lápiz o con
varios círculos no tachados se considerarán no contestadas.
1. Una llamada al sistema
-
cambia de
modo usuario a modo núcleo
-
es un
tipo especial de programa del sistema
-
es una
interfaz con el intérprete de órdenes
-
todas
las anteriores son ciertas
2. Un manejador de dispositivo es
-
hardware
que controla un dispositivo
-
software
que controla un dispositivo
-
un proceso
que controla un dispositivo
-
todas
las anteriores son falsas
3. ¿Cuál de estas combinaciones
no se puede dar?
-
concurrencia
sin tiempo compartido
-
tiempo
compartido sin concurrencia
-
tiempo
compartido sin paralelismo
-
paralelismo
sin tiempo compartido
4. El sistema operativo UNIX/Linux
es un caso de:
-
sistema de
procesamiento por lotes
-
sistema
multiprogramado
-
sistema
de tiempo compartido
-
sistema
no multiprogramado
5. De las siguientes operaciones,
la que menos tiempo ha de consumir es:
-
traducción
de una dirección lógica a dirección física
-
cambio
de contexto
-
detección
de interbloqueo
-
gestión
de un fallo de página
6. ¿Qué política de planificación
de procesos logra un reparto más equitativo del tiempo del procesador?
-
FCFS
-
SJF
-
Métodos
basados en prioridades
-
Round
Robin
7. ¿En qué política de planificación
de procesos podemos aplicar intercambio (swapping)?
-
FCFS
-
SJF
-
Métodos
basados en prioridades
-
En las
tres anteriores
8. Una condición no necesaria para
la aparición del interbloqueo es
-
la existencia
de recursos con número finito de ejemplares
-
la posibilidad
de espera con retención de recursos
-
la existencia
de recursos que exigen exclusión mutua
-
la aparición
de un estado inseguro
9. ¿En cuál de estas políticas
de gestión de memoria la fragmentación externa supone un mayor problema?
-
contigua
con particiones múltiples (MFT)
-
segmentación
-
paginación
-
segmentación
combinada con paginación
10. La utilización de TLB (registros
asociativos)
-
es conveniente
si se utiliza paginación
-
es conveniente
si se utiliza segmentación
-
es conveniente
en ambos casos
-
es imprescindible
en ambos casos
11. En un sistema con memoria virtual,
el tamaño del espacio lógico de un proceso
-
debe ser
menor que la memoria real disponible
-
debe ser
mayor que la memoria real disponible
-
puede
ser mayor que la memoria real disponible
-
debe ser
exactamente igual que la memoria real disponible
12. ¿Cuál de estas operaciones
en un sistema de paginación por demanda corre a cargo del hardware?
-
traducción
de dirección lógica a dirección física
-
aplicación
de la política de reemplazo de páginas
-
confección
de la tabla de páginas
-
colocar
el valor adecuado en el bit de validez
13. ¿En cuál de las siguientes
políticas es más sencillo hacer crecer de tamaño un archivo, considerando
el peor caso?
-
contigua
-
enlazada
-
indexada
-
la
dificultad es similar en todas ellas
14. ¿En cuál de estas políticas
es más costoso el acceso directo a archivos?
-
contigua
-
enlazada
-
indexada
-
el
coste es similar en todas ellas
15. La eliminación de un archivo
o directorio es más complicada en los sistemas de archivos:
-
con dos niveles
de directorios
-
en forma
de árbol
-
en forma
de grafo acíclico
-
en forma
de grafo general
2 Responda brevemente a las siguientes preguntas sobre el sistema operativo
Nachos:
-
¿Para qué
sirve la operación Yield() ?
-
¿Qué
política de gestión de memoria adopta el código fuente original
de
Nachos?
-
¿Cómo
se pasa en Nachos de modo usuario a modo núcleo y viceversa?
-
¿Por
qué los programas de usuario se compilan por separado del Nachos? ¿Por
qué se utiliza un compilador diferente para ellos?
3 En un sistema de memoria virtual, considere esta cadena de referencias
a memoria:
4,2,1,2,3,1,2,4,1,2,3,2,4,2,3
Suponiendo
que disponemos de tres marcos que inicialmente están libres, ¿la política
óptima da un mejor resultado que la LRU?
4 Para los tres políticas básicas de asignación de espacio para
archivos (contigua, enlazada e indexada), analice en cuál de ellas es
más probable que un daño en un bloque físico al azar produzca la pérdida
de la totalidad de un archivo.
5 En sistema multitarea queremos administrar el acceso a un recurso
de uso exclusivo. Los procesos adquieren y liberan el recurso mediante
las funciones enteras int Pido_Recurso(int pid) e int Libero_Recurso(int
pid), respectivamente. El parámetro pid sirve de identificador de proceso.
Se trata de implementar estas dos subrutinas utilizando cerrojos y variables
condición como herramientas de sincronización. Su implementación deberá
cumplir estas especificaciones:
-
Si un proceso
pide el recurso y ya está asignado, el proceso queda bloqueado hasta que
el sistema le entregue el recurso.
-
Si el
proceso que pide el recurso ya lo tiene asignado, la rutina Pido_Recurso()
retornará
de inmediato devolviendo un código de error (-1).
-
La rutina
Libero_Recurso()
sólo la puede ejecutar correctamente el proceso que posee el recurso.
Si es invocada por un proceso que no posee el recurso, o mientras el recurso
está libre, la función deberá retornar inmediatamente devolviendo un
código de error (-1).
-
Cuando
el recurso se libere, se deberá asignar al proceso que lo solicitó hace
más tiempo. Si no hay nadie esperando, el recurso queda libre.
-
Si las
subrutinas retornan correctamente, devuelven el valor cero.
Puede
realizar la implementación en cualquier especificación algorítmica que
se pueda entender. Acuérdese de declarar las variables globales, en caso
de que su implementación las requiera.