Diferencia entre revisiones de «Parcial Muestra 2007 I (Sistemas Operativos)»
(→Item A) |
(→Item B) |
||
(No se muestran 3 ediciones intermedias del mismo usuario) | |||
Línea 1: | Línea 1: | ||
{{Back|Sistemas Operativos}} | |||
== Ejercicio 5 == | == Ejercicio 5 == | ||
Línea 55: | Línea 57: | ||
==== Item B ==== | ==== Item B ==== | ||
Existe fragmentación interna en alguno de los programas? Justifique. | Existe fragmentación interna en alguno de los programas? Justifique. | ||
<br><i>No, porque el tamaño de los programas(A,B,C) son multiplos de 1K.</i> | |||
==== Item C ==== | ==== Item C ==== | ||
Línea 133: | Línea 136: | ||
== Ejercicio 10 == | == Ejercicio 10 == | ||
¿Cómo asegura la tecnología RAID 5 la tolerancia fallas? De un ejemplo concreto. | |||
RAID 5 usa como mínimo 3 discos, dos de los cuales tienen la información concreta y el tercero es "disco1 XOR disco2". | |||
Por propiedades de la función XOR si se llega a caer cualquiera de los discos la información se puede recuperar haciendo XOR de los dos que quedaron. | |||
Ejemplo: | |||
disco1 XOR disco2 = disco3 | |||
Supongamos que se cae el disco2, luego: | |||
disco1 XOR disco1 XOR disco2= disco1 XOR disco3 | |||
<=> | |||
disco2 = disco1 XOR disco3 | |||
Y recuperamos la información de disco2 (anda igual para mas discos). | |||
[[Category:Parciales]] |
Revisión del 14:55 15 abr 2008
Ejercicio 5
Dado un disco con 7 cabezas
Item A
Una empresa decide crear una aplicacion a nivel usuario, que tenga siete threads (uno para cada cabeza) para grabar pedidos que recibe al disco antes mencionado. Tiene algún sentido esta aplicación ? Justifique.
No. Los threads simplemente llaman al sistema pidiendo una operación de entrada salida a un dispositivo, en este caso el disco, no tienen visibilidad de las cabezas.
Item B
Si en lugar de tratarse de un disco con 7 cabezas se trata de 7 controladores independientes. Tiene algun sentido esta aplicacion ? Justifique.
Si. Los controladores pueden manejar cada uno una cabeza distinta.
Item C
Para los casos anteriores cual es el beneficio de utilizar threads en lugar de procesos ? Justifique
Que cada vez que se realiza una llamada a entrada salida de disco, se bloquea solamente el thread que la realizó en lugar de todo el proceso.
Ejercicio 6
Por qué la PC (PSW) es un elemento propio de cada thread y no es compartido por todos ellos como si fuera un elemento del proceso?
Porque contiene información de ejecución, como ser el PC (program counter) y estado de registros, y dicha información es particular de cada thread, pues las ejecuciones son independientes. Si no fuera así, no sería posible que haya varios threads en distintas instrucciones del proceso, pues habría un único PC.
Ejercicio 7
Porqué un sistema operativo que no reconoce threads y solo permite la implementación a nivel del espacio del usuario es más lento que un sistema operativo que si los reconoce?
Porque debe implementar una jacket para atrapar todas las llamadas al SO para evitar que el bloqueo de un thread bloquee todo el proceso.
Ejercicio 8
En una instalación de multiprogramación y con administración de memoria paginada por demanda con capacidad de direccionamiento de 12 bits y con una memoria real formada por 32 bloques de 1K cada uno, desean correrse los procesos A, B, y C con las características que se detallan a continuación.
Proc. | Cinta | Disco TipoAA | Impresora | T.Cpu | Tamaño |
---|---|---|---|---|---|
A | no | si | si (1 linea) | 2' | 3K |
B | si | si | no | 1' | 2K |
C | no | si | si (2 lineas) | 3' | 1K |
Todos los procesos ingresan a la misma hora y se ejecutan en el orden ABC. No hay spool y las E/S de impresora estan uniformemente distribuidas en el tiempo.
Item A
Calcule la capacidad de direccionamiento de esta instalación.
2^12 = 4 * 2^10 = 4 K
Item B
Existe fragmentación interna en alguno de los programas? Justifique.
No, porque el tamaño de los programas(A,B,C) son multiplos de 1K.
Item C
Indique que interrupciones nuevas se agregan en esta administración de memoria respecto de una administración de tipo Particionada.
Page fault
Item D
Realice un diagrama de transición de estados sabiendo que la administración del procesador es de tipo FIFO sin desalojo. Existen una única impresora, 5 unidades de disco y 6 unidades de cinta.
A Comenzar -> Listo Listo -> En ejecución En ejecución -> Terminado Bloqueado por Impresora Bloqueado por Disco Bloqueado por Cinta Bloqueado -> Listo
Item E
Describa las acciones que realiza el S.O. y los módulos que intervienen desde que un nuevo proceso D trata de ingresar al sistema hasta que termina. Este proceso tiene las siguientes caracteristicas :
- Proc.: D
- Cinta: no
- Disco TipoAA: si
- Impresora: no
- Tiempo CPU: 5'
- Tamaño: 5K
El planificador de trabajos no puede ponerlo en la cola de Listos pues el proceso usa más memoria que el máximo permitido de capacidad de direccionamiento, que es 4K.
Item F
Si se deseara prorizar a los procesos que utilizan cinta indique que modificaciones introduciría a la administración del procesador y muestre el nuevo diagrama de transición de estados por usted ideado.
Agregar una cola de listos de alta prioridad, y que los procesos que salgan de un estado bloqueado por cinta vayan a dicha cola. La cola de baja prioridad no ejecuta hasta que la de alta no esté vacía.
Item G
Realice un diagrama de tiempos con los datos del ejercicio considerando que la impresora tiene una velocidad de 1 línea por minuto despreciando exclusivamente los tiempos de E/S sobre los dispositivos de cinta y disco tipoAA.. (Ayuda: un minuto una cruz, la impresión de una línea demora 1 minuto)
Item H
Cuáles son los procesos (enumérelos específicamente) que no pueden multiprogramarse en esta instalación? Justifique su respuesta.
Los procesos A y C, pues usan la impresora que es un dispositivo dedicado, y no hay spooling, lo que permitiria la multiprogramacion.
Item I
Si el proceso A hubiera corrido en un ambiente de monoprogramación, sería provechoso el uso de spooling para optimizar el tiempo de respuesta ? Justifique. De no ser provechosos indique cuando es provechoso utilizar spooling en monoprogramación.
No, spooling aumenta el tiempo de respuesta de un proceso, al agregar dos entradas y salidas a disco (una para escribir y otra para leer los datos a usar para la I/O física. Spooling en monoprogramación sirve cuando se quiere ejecutar procesos que usan dispositivos inexistentes, sería útil si el proceso A usara más impresoras de las que dispone el computador.
Item J
Cómo es el tiempo de respuesta de este programa A ejecutando solo en una instalación de monoprogramación respecto al arrojado en el ambiente multiprogramado (menor, mayor, igual)? Y en un ambiente multiprogramado con spool? Justifique. Nota: tiempo de respuesta es el tiempo consumido desde que el trabajo llega al sistema hasta que sale totalmente del mismo.
Multiprogramado con spool > Multiprogramado sin spool > Monoprogramado
Item K
Complete la base de datos de la administración de memoria en el mismo momento en que los procesos pasan de A COMENZAR a LISTOS sabiendo que cada proceso durante su ejecución sigue las trazas que se definen a continuación :
- Proceso A: A0, A2, A1
- Proceso B: B1, B0
- Proceso C: C0
Item L
Cuántas páginas del proceso A deben cargarse y cuáles son para que pase del estado A COMENZAR a LISTO ? Justifique.
Ejercicio 9
Resolver mediante semáforos contadores la siguiente situación : Existe un emisor y tres receptores que actúan de la siguiente manera : El primer receptor es siempre el último que retira el mensaje, mientras que los otros dos actúan al azar. Secuencia normal : A(CoD)B A(CoD)B ......
A: P(X) ... V(Y) B: P(Z) ... V(X) C: P(Y) ... V(Z) D: P(Y) ... V(Z)
X0 = 1 Y0 = 0 Z0 = 0
Ejercicio 10
¿Cómo asegura la tecnología RAID 5 la tolerancia fallas? De un ejemplo concreto.
RAID 5 usa como mínimo 3 discos, dos de los cuales tienen la información concreta y el tercero es "disco1 XOR disco2". Por propiedades de la función XOR si se llega a caer cualquiera de los discos la información se puede recuperar haciendo XOR de los dos que quedaron.
Ejemplo:
disco1 XOR disco2 = disco3
Supongamos que se cae el disco2, luego:
disco1 XOR disco1 XOR disco2= disco1 XOR disco3
<=>
disco2 = disco1 XOR disco3
Y recuperamos la información de disco2 (anda igual para mas discos).