Respuestas a las cuestiones planteadas en el parcial de Sistemas Operativos, celebrado el 22 de mayo de 1999, para las titulaciones I.T.I.S., I.T.I.G. e I.I.
1
(3 puntos) Test.1. Un sistema operativo tiene la finalidad de:
2. En el contexto de la evolución histórica de los sistemas informáticos, los manejadores de dispositivos aparecieron como una mejora de:
3. Los primeros sistemas operativos rudimentarios se crearon para que los ordenadores fueran más:
4. El modo de operación denominado "fuera de línea" permite:
5. La técnica de buffering permite:
6. La técnica de spooling permite:
7. El tiempo de respuesta es un parámetro de especial importancia en un sistema:
8. Para procesar simultáneamente operaciones de CPU con operaciones de E/S se requieren:
9. El modelo "Cliente/Servidor"se utilizó en el diseño del sistema:
10. El modelo "de estructura sencilla o monolítico" se utilizó en el diseño del sistema:
11. Un proceso cuando desea solicitar un servicio al sistema operativo lo hace mediante:
12. En el contexto del problema del interbloqueo un estado inseguro es:
13. En el interbloqueo, la estrategia que puede dar lugar a una muy baja utilización de recursos es
14. Para tratar el interbloqueo por el sistema operativo, la estrategia más costosa de ejecutar
15. En el interbloqueo, la estrategia que requiere declarar por adelantado los recursos máximos necesarios es:
2
(2 puntos) Dada la siguiente carga de procesos
Proceso |
Tiempo de llegada |
Duración |
P0 |
0 |
10 |
P1 |
3 |
8 |
P2 |
5 |
1 |
Para las políticas primero el más corto apropiativa y Round-Robin con cuanto 2 u.t. se pide:
Política primero más corto apropiativa:
P0 |
P0 |
P0 |
P0 |
P0 |
P2 |
P0 |
P0 |
P0 |
P0 |
P0 |
P1 |
P1 |
P1 |
P1 |
P1 |
P1 |
P1 |
P1 |
Tiempo de retorno de P0 = 11 Tiempo de espera de P0 = 1
Tiempo de retorno de P1 = 16 Tiempo de espera de P1 = 8
Tiempo de retorno de P2 = 1 Tiempo de espera de P2 = 0
Política de Round Robin con cuanto de 2 u.t. :
P0 |
P0 |
P0 |
P0 |
P1 |
P1 |
P0 |
P0 |
P2 |
P1 |
P1 |
P0 |
P0 |
P1 |
P1 |
P0 |
P0 |
P1 |
P1 |
Tiempo de retorno de P0 = 17 Tiempo de espera de P0 = 7
Tiempo de retorno de P1 = 16 Tiempo de espera de P1 = 8
Tiempo de retorno de P2 = 4 Tiempo de espera de P2 = 3
3
(2 puntos) Dada la siguiente propuesta de solución al problema de la sección crítica para 2 procesos (proceso 0 y proceso 1). ¿Es correcta? justifique su respuesta.Var Flag: array[0..1] of boolean; Repeat While Flag[j] do no-op; Flag[i] = true; Sección crítica Flag[i] = false; Until false;
- Inicialmente Flag[0] = Flag[1] = false.
- La variable "i" identifica al proceso que quiere entrar en la sección crítica y la variable "j" al otro proceso, cumpliéndose j = 1 – 1.
La solución aportada no es correcta, puesto que el principio de exclusión mutua no se cumple. Efectivamente, supongamos que los dos procesos (P0 y P1) intentan entrar en la sección crítica y se ejecutan, por ejemplo, de la siguiente manera:
T0: P0 comprueba el estado de Flag[1] y lo encuentra a "falso"
T1: P1 comprueba el estado de Flag[0] y lo encuentra a "falso"
Entonces, los procesos tendrían vía libre para acceder a la sección crítica; no cumpliéndose por tanto el principio de exclusión mutua.
4
(3 puntos) Utilizando sólo regiones críticas condicionales, resolver el problema de los Productores-Consumidores con buffer finito (también conocido como problema del buffer limitado).Una posible solución sería:
var buffer: shared record depósito: array [0 .. n-1] of elemento; recuento, entrada, salida: integer; --inicializadas a cero end; Productor: region buffer when ( recuento < n ) do begin deposito[entrada] := psiguiente; entrada := (entrada+1) mod n; recuento := recuento + 1; end; Consumidor: region buffer when (recuento > 0 ) do begin csiguiente := depósito[salida]; salida := (salida+1) mod n; recuento := recuento - 1; end;