Sistemas Operativos-Cuadernillo Operativos-Cuadernillo de Trabajos PrácticosAño 2005
FACULTAD REGIONAL RESISTENCIA UNIVERSIDAD TECNOLOGICA NACIONAL Cuadernillo de Trabajos Prácticos Ciclo lectivo:2005 Cátedra: Sistemas Operativos Carrera: Ing. En Sistemas de Información Profesores: Parte Teórica:
Exp. Mario Iribas –Prof. Titular Ing. Liliana R. Cuenca Pletchs –Prof. Titular Parte Practica:
Ing. Alberto Ristoff –Aux de 1ra Ing. Jorge Roa –Aux de 1ra
-1-
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
Indice
1ra Parte Procesos y Planificación de Procesos _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ __ _ _ _ _ _ _ __ _ _ Pág.3
2da Parte Bloqueo e InterBloquedo_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ _ _ _ Pág.6 Procesos Concurrentes_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Pág.7
3ra Parte Administración de memoria y Memoria Virtual_ _ _ _ _ _ __ _ _ _ __ _ _ _ _ _ __ _ _ __ Pág.8
BIBLIOGRAFIA BÁSICA A UTILIZAR PARA RESOLUCION DE LOS TRABAJOS PRÁCTICOS
•
TANENBAUM Andrew S.: “ Sistemas Operativos Modernos”. ”. Segunda Edición, México, Prentice Hall Hispanoamericana.
•
SILBERSCHATZ A. y. otros: “ Sistemas Operativos – Conceptos Fundamentales”. Tercera o Quinta Edición, España, Reverté S.A..
•
TANENBAUM
Andrew
S.:
“ Sistemas
Operativos
–
Diseño
e
Implementación”. Segunda Edición, México, Prentice Hall Hispanoamericana, 1.998.
•
STALLINGS William : “ Sistemas Operativos”. Cuarta Edición, México, Prentice Hall Hispanoamericana. 2001
•
Apuntes de la Cátedra.
-2-
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
Procesos y Planificación de Procesos (1ra Parte) Objetivos o
Aplicar los conceptos sobre creación, estados y políticas de planificación de Procesos a la resolución de situaciones hipotéticas.
Ejercicios
1. Dada la siguiente cola de listos. Trabajo 1 2 3 4 5
Tiempo de arribo 0 0 1 2 2
Tiempo de irrupción 10 6 2 1 8
a) Para cada uno de los siguientes algoritmos de planificación determine el tiempo de retorno promedio y el tiempo de espera promedio. b) Analice los resultados y emita una opinión sobre el algoritmo que usted implementaría para esta carga de trabajo. c) FCFS d) ROUND ROBIN (q= 2), (q=4),(q=8). e) SJF (preemptible) f) Compare el rendimiento de round robin para los distintos quantum. g) Teniendo en cuenta la alternancia de procesos que produce el RR analice las consecuencias de tener un Quantum demasiado grande o uno demasiado pequeño
2. Realizar el diagrama de Gantt y obtener los tiempos de retorno promedio y de espera promedio para las siguientes cargas de trabajo. Trabajo 1 2 3 4 5
Tiempo de arribo 0 1 2 6 7
Tiempo de irrupción 7 6 2 3 1
a) RR( q= 1.5) b) FCFS c) SJF (preemtible)
3. Realizar el diagrama de Gantt y obtener los tiempos de retorno promedio y espera promedio para las siguientes cargas de trabajo. trabajo 1 2 3 4
Tiempo de arribo 0 1 2 3
Tiempo de irrupción 6 4 3 1
-3-
RR( q= 2) RR( q= 1) SJF (preemtible)
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
4. Calcular el tiempo de espera medio para los procesos de la tabla utilizando el algoritmo Primero el de tiempo restante menor (SRTF). Trabajo a b c d e
Tiempo de arribo 0 1 3 9 12
Tiempo de cpu 3 1 12 5 5
5. Utilizando la tabla del ejercicio anterior, dibujar el diagrama Gantt para el caso de un sistema que utiliza un algoritmo de colas múltiples con realimentación con las siguientes colas Cola 1 2 3
Prioridad 1 2 3
Quantum 4 2 1
y suponiendo que : (a) los procesos entran en la cola de mayor prioridad (mayor valor numérico), y (b) un proceso en la cola i pasa a la cola i-1 si consumen un quantum completo. 6.
Supongamos un sistema con un planificador de procesos de corto plazo donde se debe planificar el uso de tres recursos: 1 procesador, 1dispositivo de entrada de datos y dispositivo de salida de datos. Considere que para los tres recursos se usa una política FCFS no preemptible (no apropiativo o sin expropiación) y el grado de multiprogramación no está regulado. El modelo del sistema es el siguiente:
Para el problema considere que cada orden de trabajo llega en un determinado momento, para lo cual se genera un proceso que usa primero la CPU, realiza una entrada de datos, procesa los datos (CPU), envía los resultados hacia la salida y finalmente usa la CPU. En la siguiente tabla se entregan los datos para seis procesos que debe procesar por el sistema.
Proceso P1 P2 P3 P4 P5 P6
Tiempo de Arribo 0 3 5 8 10 11
CPU 1 1 1 1 1 1
Tiempos de uso del recurso Entrada CPU Salida 3 4 3 2 3 2 3 2 1 2 4 3 4 5 3 2 2 2
-4-
CPU 1 1 1 1 1 1
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
De acuerdo a los datos entregados, se solicita: a. Simule el comportamiento del sistema mediante una tabla que indique los estados de los procesos, colas y recursos para cada unidad de tiempo. b. Determine, para cada proceso, el tiempo de espera total y el tiempo de tránsito. c. Determine, para el sistema, la utilización de los recursos y la productividad. d. Analice si se mejora la utilización de los recursos y la productividad si se usa roundrobin con quantum igual a una unidad de tiempo (nótese que se modifica el modelo anterior).
7.
Un planificador de Corto Plazo trabaja con un esquema de 3 colas (multinivel con retroalimentación). Las colas están enumeradas de 1 a 3 siendo la cola 1 la de mayor prioridad. El esquema trabaja de la siguiente manera:
C1: trabaja con un algoritmo SRTF + RR con Q=2. Todos los trabajos arriban a esta cola. C2: Trabaja con un Algoritmo RR con Q = 3. C3. Trabaja con un Algoritmo FCFS. Una vez que llegan los trabajos a esta cola se quedan hasta terminar allí. Se ejecuta un trabajo en una determinada cola siempre y cuando no haya trabajos en una cola de mayor prioridad. Se dispone de la siguiente información de procesos que arriban al sistema: TR 1 2 3 4 5
TA 0 2 3 6 7
TI 2 5 10 4 7
TAM(MB) 3 7 10 2 17
Confeccionar el Diagrama de Gantt y calcular el tiempo de Retorno y espera Promedio
8. Dados los siguientes procesos con las características siguientes: Proceso P1 P2 P3 P4 P5 P6 P7
T Arribo Duración Prioridad Tipo 0 10 4 De lote 0 4 2 Interactivo 0 1 3 Interactivo 0 1 5 Sistema 1 6 1 Interactivo 3 2 0 Sistema 4 2 2 Sistema
a) Dibuje las gráficas de Gantt (todas con la misma escala) que ilustren la ejecución de estos procesos utilizando los siguientes esquemas de planificación:
a.1) FCFS; a.2) SJF no apropiativo; a.3) SJF apropiativo; a.4) Prioridades no apropiativo; a.5) Prioridades apropiativo; a.6) RR con cuanto=1; a.7) RR con cuanto=6; a.8) Planificación de colas de múltiples niveles apropiativos con planificación de procesos: sistema RR (cuanto=1); interactivos FCFS; lotes FCFS b) Calcule los tiempos de retorno y espera para cada proceso según los algoritmos de planificación empleados en el apartado anterior. Indique qué algoritmo de planificación ofrece el menor tiempo promedio de espera, de retorno y de cambios de contexto.
9. Considere la planificación de procesos en un sistema con un dispositivo de entrada/salida. Los procesos tienen ráfagas de uso de CPU y luego pasan a ejecutar una operación de
-5-
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
E/S. Cuando un proceso ejecuta una instrucción de entrada/salida es sacado de la cola de planificación de CPU e incorporado a la cola del dispositivo. Los procesos esperan por la interrupción y luego vuelven a la cola de planificación de la CPU. Si la cola del dispositivo no está vacía entonces se procede con la operación encargada por el siguiente proceso en la cola. Suponga que la cola del dispositivo se planifica con FCFS (el primero en entrar el primero en salir) y que una operación de entrada/salida tarda 4 unidades de tiempo.
Proceso P1 P2 P3 P4 P5
T Llegada Estructura 0 CPU(3)E/S(4)CPU(3)E/S(4)CPU(1) 0 CPU(5)E/S(4)CPU(2) 0 CPU(2)E/S(4)CPU(2)E/S(4)CPU(1) 4 CPU(3) 11 CPU(7)
Prioridad 3 2 2 1 0
a) Dibujar las gráficas de Gantt que ilustren la planificación de la CPU cuando se emplea un algoritmo a.1) FCFS, a.2) Prioridades no apropiativo y a.3) Prioridades apropiativo b) Calcular el tiempo de retorno promedio y porcentaje de uso de CPU para las 3 opciones del íitem a) teniendo en cuenta que el tiempo de retorno es el tiempo que transcurre desde que un proceso entra en la cola de listos hasta que sale de ella.
10. Representar el tiempo de retorno promedio obtenido por la planificación RR frente al cuanto de tiempo para los procesos: P1 duración 6, P2 duración 3, P3 duración 1 y P4 duración 7, si todos están presentes en el instante inicial y los cuantos de tiempo utilizados varían en el rango de 1 a 7. Calcular en cada caso el número de cambios de contexto producidos 11. Cierto sistema operativo posee un algoritmo de planificación de CPU basado en colas multinivel realimentadas (3 colas). La forma en la que los trabajos son alojados en cada una de las colas es la siguiente: - Todos los trabajos cuando llegan al sistema son colocados en la cola 1, la cual se planifica de acuerdo a un algoritmo Round-Robin con cuanto de tiempo igual 2 ms. En esta cola, un trabajo permanecerá si después de ejecutar su primera ráfaga de CPU, le queda por ejecutar ráfagas inferiores a 5ms. En caso contrario pasaría a la cola 2 o cola 3. - Un trabajo pasará a la cola 2, en caso de que le quede por ejecutar una ráfaga de CPU superior o igual a 5ms. Este trabajo permanecerá en esta cola hasta que termine su ejecución y se planifica según un Round-Robin con cuanto igual 3ms. - Un trabajo pasará a la cola 3, en caso de que le quede por ejecutar una ráfaga de CPU superior o igual a 8ms. Este trabajo permanecerá en esta cola hasta que termine su ejecución y se planifica según un SJF con requisa. Sabiendo que la cola 1 es la de mayor prioridad y la 3 es la de prioridad inferior. Dado el siguiente conjunto de trabajo con sus correspondientes tiempos de arribo y de ejecución: Trabajo T1 T2 T3 T4
T. Arribo 0 1 4 3
T. Ejecución 8 2 3 10
Se pide: a) Dibuje en la gráfica adjunta cómo se ubican los trabajos en cada una de las colas y el orden de ejecución.
-6-
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
b) Calcular el tiempo de espera y de estancia de cada trabajo. c) Calcular el tiempo medio de retorno y de espera del sistema. NOTA:
Suponer que cuando un trabajo acaba su ráfaga de CPU (su cuanto), se coloca en la cola correspondiente y a continuación se realiza la planificación, es decir, se elige un trabajo de la cola más prioritaria que contenga algún trabajo.
-7-
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
Bloqueo e InterBloqueo (2da Parte) Objetivos
Aplicar el algoritmo del banquero a la resolución de problemas de Interbloqueo.
o
Ejercicios
Considere la siguiente instantánea de un sistema. No hay solicitudes pendientes en la cola
1 1
Disponible: [(R1,2), (R2,1),(R3,0),(R4,0)] R1 0 2 0 2 0
P1 P2 P3 P4 P5
Asignación Actual R2 R3 R4 0 1 2 0 0 0 0 3 4 3 5 4 3 3 2
R1 0 2 6 4 0
Demanda Máxima R2 R3 R4 0 1 2 7 5 0 6 5 6 3 5 6 6 5 2
R1
Demanda Restante R2 R3 R4
a. Calcule qué recursos aún podría solicitar cada uno de los procesos y rellene la columna (demanda restante) b. ¿Está el sistema actualmente en un estado seguro o inseguro? Fundamente. c. ¿Esta el sistema actualmente bloqueado? Fundamente d. ¿Qué procesos, si los hay, están o pueden llegar a estar ínter bloqueados? e. Si llega de P3 una solicitud de (0,1,0,0), ¿podrá concederse inmediatamente esta solicitud? ¿en qué estado (ínter bloqueado, seguro o inseguro) dejaría al sistema la concesión inmediata de la solicitud completa? ¿ que procesos, si los hay, están o pueden llegar a estar ínterbloqueados si se concede inmediatamente la solicitud completa
Considere un sistema con un total de 150 Unidades de Memoria, asignadas a tres procesos como sigue:
1 1
Proceso 1 2 3
Máx. 70 60 60
Retiene 45 40 15
Aplique el algoritmo del Banquero para determinar si sería seguro conceder cada una de las siguientes peticiones. Si la respuesta es si, indicar la secuencia de terminación que lo haría posible. Si la respuesta es no, mostrar la reducción resultante en la tabla de asignación. Llega un cuarto proceso, con una necesidad máxima de memoria de 60 y una necesidad inicial de 25 unidades. Llega un cuarto proceso, con una necesidad máxima de memoria de 60 y una b. necesidad inicial de 35 unidades. a.
En un sistema con 5 procesos P0, P1, P2, P3 y P4 y y 4 tipos de recursos (r 0, r 1, r 2 y r 3,). El vector Existencia E=(9 5 8 9)
1 1
P0 tiene un maximo de 3 unidades de r 0, 2 unidades de r 1, 1 unidad de r 2, 1 unidad de r 3. P1 tiene un maximo de 2 unidades de r 0, 1 unidades de r 1, 3 unidad de r 2, 3 unidad de r 3. P2 tiene un maximo de 3 unidades de r 0, 1 unidades de r 1, 3 unidad de r 2, 3 unidad de r 3.
-8-
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
P3 tiene un máximo de 4 unidades de r 0, 2 unidades de r 1, 1 unidad de r 2, 2 unidad de r 3. P4 tiene un máximo de 3 unidades de r 0, 3 unidades de r 1, 2 unidad de r 2, 5 unidad de r 3. P0 necesita 1 unidades de r 0, 1 unidades de r 1, 0 unidad de r 2, 0 unidad de r 3. P1 necesita 1 unidades de r 0, 1 unidades de r 1, 3 unidad de r 2, 2 unidad de r 3. P2 necesita 2 unidades de r 0, 1 unidades de r 1, 0 unidad de r 2, 2 unidad de r 3. P3 necesita 1 unidades de r 0, 2 unidades de r 1, 1 unidad de r 2, 1 unidad de r 3. P4 necesita 2 unidades de r 0, 1 unidades de r 1, 1 unidad de r 2, 2 unidad de r 3. a. Confeccione las matrices Asignados, Necesidad y Máximos y el vector Disponible. b. Determinar si las siguientes solicitudes pueden atenderse o no: - Solicitud de (1, 0, 0, 2) por parte de P 3. - Solicitud de (1, 1, 0, 1) por parte de P 2. - Solicitud de (1, 1, 3, 1) por parte de P 1. - Solicitud de (3, 2, 0, 0) por parte de P 0. c. Correr el algoritmo de seguridad para cada una de las solicitudes e indicar la secuencias de estados seguros (si es que existe)
Dados 5 procesos cuyas matrices de Asignado y Máximo y cuyo vector Disponible se detallan a continuación:
1 1
P0 P1 P2 P3 P4
ASIGNADO A B C 0 1 0 2 0 0 3 0 2 2 1 1 0 0 2
MAXIMO A B 7 5 3 2 9 0 2 2 4 3
C 3 2 2 2 3
DISPONIBLE A B C 3 3 2
a. Determinar si este estado es seguro o inseguro. b. Supongamos ahora que P1 hace una petición Solicitud1 = (1, 0, 2). ¿Cómo actuaría el algoritmo del banquero para decidir si esta petición puede atenderse? c. Determinar si las siguientes solicitudes pueden atenderse o no: - Solicitud de (3, 3, 1) por parte de P 4. - Solicitud de (0, 2, 0) por parte de P 2. - Solicitud de (1, 2,0) por parte de P 3. - Solicitud de (3, 2, 0) por parte de P 4. d. Correr el algoritmo de seguridad para cada una de las solicitudes e indicar la secuencias de estados seguros (si es que existe) Justifique porqué no es coherente el siguiente estado de asignación de recursos. Realice las correcciones que considere necesarias, y determine la matriz de necesidades
1 1
2 0 0
A= 0 1 0 0 2 0
1 1 2
M= 1 0 0
E= [2 3 2]
0 0 0
-9-
D= [1 0 2]
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
Procesos Concurrentes (3era Parte) Objetivos
Modelar los grafos de precedencia que representan la ejecución concurrente. Relacionar cada paso de la ejecución concurrente con los estados de un proceso.
o o
Ejercicios
1. Dado el siguiente Grafo de precedencia y los siguientes tirmpos de irrupción de cada Si. Se utiliza el algoritmo de planificación de CPU FCFS. Tiempo de irrupcion 3 2 1,5 6 3 2 5
S1 S2 S3 S4 S5 S6 S7
S1
S2
S5
S3
S4
S6
S7
S8
se solicita: a) Graficar la cola de listos y Bloqueados al finalizar cada Si, si se utilizan las sentencias FORK/JOIN para modelizar el grafo.. El tiempo que demanda al SO ejecutar una instrucción fork o join es 0,5 microsegundos. Suponemos también que los procesos que no pueden ejecutarse concurrentemente se bloquean hasta que ocurra el suceso que esperan.
- 10 -
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
b)
¿La ejecución de qué instrucción propicia el paso de la cola de bloqueados a la cola de listas? ¿Bajo qué condiciones? c) Confeccionar el programa que modeliza este grafo utilizando las sentencias FORK/JOIN d) Confeccionar el programa que modeliza este grafo utilizando las senetencias COBEGIN / COEND.
2. Dados los siguientes grafos confeccionar el programa correspondiente aplicando las sentencias: COBEGIN / COEND aFORK / JOIN b2.1
0 1
8
9 2
3 1 0
1 4
4
1 2
1 1 5
1 3
6
1 5 7 1 6
- 11 -
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
2.2
S 0
S 1
S 2
S 3
S 4
S 13
S 6
S 5 S 7
S 8
S 10
S 11
S 12
S 14
- 12 -
S 9
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
Administración de Memoria y Memoria Virtual (3ra Parte) Objetivos
Ejemplificar los diferentes esquemas de Administración de memoria Relacionar la politica de administración de memoria con la de planificación de CPU. Relacionar cada paso de la ejecución concurrente con los estados de un proceso. Aplicar los algoritmos de reemplazo de páginas a la resolución de situaciones hipotéticas.
o o o o
Ejercicios
1. El gestor de memoria que utiliza una estrategia de particiones de tamaño variable con bloques de 600 bytes, 400 bytes, 1000 bytes, 2200 bytes, 1600 bytes, y 1050 bytes. a) ¿Qué bloque se seleccionará para satisfacer una solicitud de 1603 bytes utilizando una política Best-Fit? b) Ídem utilizando el Worst-fit c) Suponiendo que la lista esta ordenada como aparece en el enunciado del problema, ¿ qué bloque se seleccionará para satisfacer una solicitud de 1603 bytes utilizando la política Best-fit?
2. Consideremos un sistema de Intercambio en el que la memoria consta de los siguientes tamaños de espacios en orden de Memoria: 10K, 4, 20, 18, 7K ,9K, 12K, 15K. Cuál es el espacio que se elige si se solicitan en forma sucesiva segmentos de: a) 12K b) 10K c) 9K Dada la siguiente Tabla:
3.
TR 1 2 3 4 5 6 7 8
TA 0 0 0 1 2 3 4 5
TI 5 4 10 3 2 10 5 5
TAM(KB) 15 20 12 5 3 70 25 10
Los siguientes son los tamaños establecidos para los trabajos que se ejecutan normalmente en el centro de cómputos:
• • •
SISTEMA OPERATIVO TRABAJOS MUY PEQUEÑOS TRABAJOS PROMEDIOS
32K 6K 20K
a). Indique como se realizaría la asignación de memoria según un método de asignación MFT que usa un algoritmo Best-Fit. El algoritmo de planificación de CPU es FCFS. b). Indique como se realizaría la asignación de memoria según un método de asignación MVT que usa un algoritmo Best-Fit. El algoritmo de planificación de CPU es FCFS. c). Indique para ambos puntos (a y b) Cuanta memoria se desperdicia y que tipo de Fragmentación ocurre.
- 13 -
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
4. Dada la siguiente Tabla: TR 1 2 3 4 5 6 7 8
TA 0 0 0 0 0 0 0 0
TI 5 4 10 3 2 10 5 5
TAM(KB) 15 20 12 5 3 70 25 10
Los siguientes son los tamaños establecidos para los trabajos que se ejecutan normalmente en el centro de cómputos:
• • • •
SISTEMA OPERATIVO TRABAJOS MUY PEQUEÑOS TRABAJOS PROMEDIOS TRABAJOS MUY GRANDES
32K 6K 20K 70K
a). Indique como se realizaría la asignación de memoria según un método de asignación MFT que usa un algoritmo Best-Fit. El algoritmo de planificación de CPU es RoundRobin con Q= 4. b). Indique como se realizaría la asignación de memoria según un método de asignación MVT que usa un algoritmo Best-Fit. El algoritmo de planificación de CPU es Round Robin. Con Q=4 c). Indique para ambos puntos (a y b) Cuanta memoria se desperdicia y que tipo de Fragmentación ocurre.
5. Dada la siguiente Tabla: TR 1 2 3 4 5 6 7 8
TA 0 0 0 0 0 0 0 0
TI 5 4 10 3 2 10 5 5
TAM(KB) 20 5 14 25 3 30 25 70
Los siguientes son los tamaños establecidos para los trabajos que se ejecutan normalmente en el centro de cómputos:
• • •
SISTEMA OPERATIVO TRABAJOS MUY PEQUEÑOS TRABAJOS PROMEDIOS
32K 10K 25K
a). Indique como se realizaría la asignación de memoria según un método de asignación MFT que usa un algoritmo Best-Fit. El algoritmo de planificación de CPU es FCFS b). Indique como se realizaría la asignación de memoria según un método de asignación MVT que usa un algoritmo Best-Fit. El algoritmo de planificación de CPU es FCFS c). Indique para ambos puntos (a y b) Cuanta memoria se desperdicia y que tipo de Fragmentación ocurre.
6. Considere un Sistema de Paginación con la tabla de páginas almacenada en memoria. a). Si una referencia a memoria lleva 1,2 microsegundos, ¿Cuánto durara una referencia a memoria paginada? b). Si añadimos 8 registros asociativos y el 75% de todas las referencias de la tabla de paginas se encuentran en los registros asociativos, ¿Cuál es el tiempo efectivo de referencia a memoria? (supongamos que encontrar una entrada en la tabla de paginas en los registros asociativos, si se encuentra allí, lleva un tiempo nulo)
7. Si se tiene un formato de Dirección con: P= 3 bits, y D= 9 bits a). ¿Cuantas paginas es posible direccionar? b). ¿Cual es el Tamaño de Cada pagina?
- 14 -
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
c) ¿Cual es la memoria Total Direccionable?
8. Se posee de una memoria 128 KB donde el tamaño de cada pagina es de 4 KB. Contestar: a). Cuantos Bits se deben utilizar para el Desplazamiento? b). Cuantos Bits para la Pagina?? c). Suponiendo que las páginas libres del sistema son las siguientes: 0-2-3-6-7-8-10-12-15-16-18-20-22-23-24-25-30. y un Proceso P1, cuyo tamaño es de 27 KB y solicita acceder al sistema. ¿Qué páginas debería asignarle? Confeccione la tabla de Páginas Correspondiente a dicho proceso.
9. Para un formato de direcciones de P=4, y D=4 se dispone del siguiente mapa de memoria: Si un proceso solicita 4 paginas: Pag 0 Pag 1 . . . . . . .
• • • •
Efectúe la asignación de páginas considerando que la misma se realiza buscando siempre desde el principio. Confeccione la tabla de páginas resultante. Obtenga la dirección física de la siguiente dirección lógica: 00101010 Cual es tamaño total de la memoria física?
. . . .
15
10. El Sistema Operativo OCM trabaja un esquema de memoria virtual con paginación. Actualmente el HW esta Soportado por 64MB de Memoria Ram. El tamaño de cada pagina es de 256KB. Para Mejorar el Rendimiento de la Memoria virtual se cuenta con un Buffer de traducción de direcciones adelantada que posee 512Kb. El tiempo de acceso a este Buffer es bajo, siendo el mismo la mitad del tiempo de acceso a memoria donde el mismo es de 98 Milisegundos. El porcentaje de aciertos sobre el buffer es del 72%...del resto el 15% se produce fallo de Pagina en ese caso el tiempo de servicio de fallo de pagina es 3.4 Microsegundos. El planificador de Corto Plazo trabaja con un esquema de 3 colas (multinivel con retroalimentación). Las colas están enumeradas de 1 a 3 siendo la cola 1 la de mayor prioridad. El esquema trabaja de la siguiente manera: C1: trabaja con un algoritmo SRTF + RR con Q=2. todos los trabajos arriban a esta cola. C2: Trabaja con un Algoritmo RR con Q = 3. C3. Trabaja con un Algoritmo FCFS. Una vez que llegan los trabajos a esta cola se quedan hasta terminar allí. Se ejecuta un trabajo en una determinada cola siempre y cuando no haya trabajos en una cola de mayor prioridad.
- 15 -
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
Se tiene la siguiente información de procesos que arriban al sistema: TR 1 2 3 4 5
TA 0 2 3 6 7
TI 2 5 10 4 7
TAM(MB) 3 7 10 2 17
Se pide: a) Determinar la cantidad de Paginas que pueden haber en el sistema b) Determinar la cantidad de bits que tiene el registro de dirección c) determinar la cantidad de bits del desplazamiento d) determinar la cantidad de bits de la pagina e) determinar cuanta memoria puede diseccionarse. f) Hallar el Tiempo efectivo de acceso a memoria. Dejar expresada la formula que aplica. g) Suponiendo que la memoria se encuentra inicialmente vacía. Armar la tabla de páginas para cada proceso que es cargado en memoria. La paginas siempre se asignan empezando desde el marco 0 en adelante. h) Mencionar si se produce algún tipo de fragmentación y cuanto se produce. i) Realizar el Diagrama de Gantt y hallar el tiempo de Retorno y espera Promedio.
11. Se tiene un esquema de memoria virtual que trabaja con paginación bajo demanda. Según las siguientes mediciones se sabe que: El tiempo de acceso a memoria es de 2970 nanosegundos, siendo el doble de este el tiempo de acceso a memoria paginada. Dicho sistema trabaja con un conjunto de 10 registros asociativos cuyo tiempo de acceso es de 198 nanosegundos; el porcentaje de aciertos cuando se busca una pagina en ellos, es de 82%, del resto, el 7,5% causa fallo de pagina, en cuyo caso el tiempo de servicio de fallo de pagina es de 2 microsegundos. Calcular el tiempo efectivo de acceso a memoria
12. Considere la siguiente secuencia de referencias a memoria de un programa de 460 palabras: 10-11-104-170-73-309-185-245-246-434-458-364 Indique la cadena de referencia suponiendo un tamaño de pagina de 100 palabras a) b) Calcule la tasa de fallos de página para esta cadena de referencias, suponiendo que el programa dispone de una memoria de 200 palabras y un algoritmo de reemplazo FIFO. ¿Cuál sería la tasa de fallos de página, si utilizáramos un algoritmo de reemplazo c) LRU? ¿Cuál es la tasa de fallos de página para el algoritmo de reemplazo óptimo? d) 13. Para la siguiente cadena de referencias: 1-2-3-4-2-1-5-6-2-1-2-3-7-6-3-2-1-2-3-6 ¿Cuántos fallos de página se producirán con los algoritmos de reemplazo siguientes, suponiendo 3,4 y 5 frames? a) LRU b) OPT c) FIFO 14. Se tiene un esquema de Memoria Virtual Paginada el cual trabaja con direcciones de 16 bits, siendo el tamaño de cada pagina 1 KB. En un tiempo t la CPU genera la dirección relativa 1502. Responder:
- 16 -
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
a. b. c. d.
Cuantos Bits se necesitan para el desplazamiento? Cuantos Bits se precisan para el Nº de página. Cual es la cantidad de página posibles de direccionar? A partir de la siguiente tabla de página asociada un proceso que tiene asignadas 6 página, obtener la dirección física correspondiente a la dirección relativa 1502 página 000000 000001 000010 000011 000100 000101
marco 000100 000111 000101 000001 000010 000011
15. Un proceso que tiene asignados 4 marcos de página. El estado de su tabla es el siguiente: Pag. Virtual 2 1 0 3
Marco pagina 0 1 2 3
Instante de carga 60 130 26 20
Instante de referencia 161 160 162 163
Bit R
Bit M 0 0 1 1
1 0 0 1
Se ha producido un fallo en la página virtual 4. ¿ que marco reemplazará su contenido para cada una de las siguientes políticas de gestión de memoria? Fundamente sus respuestas. a. FIFO b. LRU c. OPT d. NRU e. Dado el estado de memoria anterior, inmediatamente antes del fallo de página, considérese la siguiente serie de referencias a páginas virtuales 4, 0, 0, 0, 2, 4, 2, 1, 0, 3, 2 ¿Cuántos fallos de página se producirán si se emplea la política de conjunto de trabajo con un tamaño de ventana de cuatro en vez de con asignación fija? Muéstrese claramente cuando se produce un fallo de página.
16. Suponga que la tabla de páginas para el proceso actual se parece a la de la figura. Todos los números son decimales, la numeración comienza en todos los casos desde cero, y todas las direcciones de memoria son direcciones en bytes. El tamaño de página es de 1024 bytes. Número de página virtual
Bit de validez o presencia
Bit de referencia
Bit de modificación
0 1 2 3 4 5
0 1 1 1 0 1
1 1 0 0 0 0
0 1 0 0 0 1
Número de marco de página 4 7 1 2 0
¿Qué direcciones físicas, si existen, corresponderán con cada una de las siguientes direcciones virtuales? (no intente manejar ninguna falta de página, si las hubiese). a) 999
- 17 -
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
b) 2121 c) 5400
17. Una computadora tiene cuatro marcos para páginas. El tiempo de carga, el tiempo del último acceso y los bits R y M para cada pagina aparecen en la tabla siguientes (los tiempos se miden mediante las marcas de reloj). Pagina 0 1 2 3 a. b. c. d.
cargado 126 230 120 160
Ultima referen. 279 260 272 280
R 0 1 1 1
M 0 0 1 1
Cual página es reemplazada por FIFO? Cual página es reemplazada por NRU? Cual página es reemplazada por LRU? Cual página es reemplazada por POR LA SEGUNDA OPORTUNIDAD?
18. Considere un espacio de direcciones logicas paginado (compuesto de 32 paginas de 2 Kbytes cada una) correspondiente a un espacio de memoria fisica de 1 Mbyte.. - ¿Cuál es el formato de las direcciones lógicas de los procesos? - ¿Cuál es la longitud y anchura de la tabla de paginas (sin tener en cuenta los Bits de derechos de acceso)? - ¿Cuál es el efecto sobre la tabla de páginas si el espacio de memoria física se reduce a la mitad? 19. Un computador tiene una cache, una memoria principal y un disco usado para memoria virtual. Si una palabra referenciada esta en la cache, se necesitan 20ns para acceder a ella. Si esta en la memoria principal pero no en la cache, se necesitan 60 ns para cargarla en la cache, y entonces la referencia comienza de nuevo. Si la palabra no esta en la memoria principal, se necesitan 12ms para cargar la palabra desde el disco, seguidos de 60 ns para copiarla en la cache, y entonces la referencia comienza de nuevo. La tasa de aciertos en la cache es de 0.9 y la tasa de aciertos en la memoria principal es de 0.6. ¿Cuál es el tiempo medio, en nanosegundos, necesario para acceder a una palabra referenciada en este sistema? 20. Sea un sistema de memoria virtual paginada con direcciones lógicas de 32 bits que proporcionan un espacio virtual de 220 páginas y con una memoria física de 32 MBytes. ¿Cuál será el tamaño de la página? ¿Cuál será el tamaño máximo de la tabla de páginas si cada entrada de la misma ocupa 32 bits? 21. Si un computador trabaja con direcciones de 16 bits, y posee páginas de tamaño 2Kbytes a) ¿Qué tamaño de memoria virtual podremos direccionar? b) ¿Cuántas páginas tendrá la memoria Virtual? c) ¿Cuál será el tamaño del marco de página? d) ¿Suponiendo que la memoria física es de 8Kbytes, cuántos marcos tendremos? e) ¿Cuántos bits de la dirección de memoria virtual se utilizan para seleccionar entradas en la tabla de páginas si esta es de único nivel? f) ¿Para que emplearemos los bits restantes de la dirección de memoria virtual? g) ¿Cuántas entradas tendrá la tabla de páginas? 22. Un computador tiene una cache, una memoria principal y un disco utilizado como memoria virtual. Si una palabra está en la cache se requieren A ns para acceder a ella, si está en la memoria principal B ns para cargarla en la cache y empezar de nuevo. Si la palabra no está en memoria principal se requieren C ns para traerla del disco, seguidos de B ns para traerla
- 18 -
Sistemas Operativos-Cuadernillo de Trabajos PrácticosAño 2005
a la cache. Si la tas de aciertos de la cache es de (n-1)/n y la memoria principal es (m-1)/m. ¿Cuál es tiempo promedio de acceso?
23. Para cada una de las técnicas de gestión de memoria que aparecen en la tabla, señala con una cruz si tiene la característica indicada en la columna: 1. Necesita soporte del hardware en la MMU 2. Padece fragmentación externa 3. Padece fragmentación interna 4. Permite proteger zonas de memoria 5. Es una técnica de reubicación dinámica (1) Segmentación Paginación Recubrimientos Intercambio Enlace dinámico
- 19 -
(2)
(3)
(4)
(5)