UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID Facultad de Informática Escuela Universitaria de Informática Departamento de Lenguajes, Sistemas Informáticos e Ingeniería de Software GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA. EJERCICIO Nº 1. En un sistema de gestión de memoria, el sistema operativo ocupa 10 K y dispone de una memoria libre de 30 K, en la que se introducen los siguientes trabajos: a) b) TRABAJOS TAMAÑO TI T2 T3 T4 T5 T6 4K 2K 7K 15 K 8K 12 K T. DE ESTANCIA EN MEMORIA 0,3 seg. 0,1 seg. 0,5 seg. 0,4 seg. 0,8 seg. 0,2 seg. Si la memoria tiene 3 particiones fijas de 4K, 10K y 16K, y se utiliza un planificador FCFS con cola única y asignación de la partición según el criterio del disponible que mejor se adapte. Representar los estados de dicha memoria, indicando el tiempo de retorno medio y la fragmentación en cada estado. Repetirlo con la asignación de la partición según el criterio de sólo la que mejor se adapte. Si la gestión de memoria se realiza mediante el uso de particiones variables, indicar cómo quedaría la Tabla de Descripción de las Particiones (PDT), al introducir todos los trabajos. Representar los diversos estados por los que pasa la memoria, calculando en cada caso la fragmentación y el tiempo medio de retorno. EJERCICIO Nº 2. Un sistema gestiona su memoria mediante el método de particiones variables. Suponiendo que la Tabla de Descripción de Particiones (PDT), en un momento determinado, tiene el siguiente contenido: PARTICIÓNES 0 1 2 3 BASE 0 56 100 117 TAMAÑO 40 K 30 K 12 K 30 K ESTADO ASIGNADA ASIGNADA ASIGNADA ASIGNADA Suponiendo que en el sistema existen 170K de memoria total, indicar donde se ubicaría un programa P1 de 13K y posteriormente otro P2 de 5K utilizando de forma separada las tres estrategias posibles. GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA 1 EJERCICIO Nº 3. En la gestión de memoria con particiones variables se llama combinación al proceso de fusionar huecos adyacentes, cuando estos quedan libres, para formar un hueco mayor. Supongamos un sistema con particiones variables que no permita la combinación, es decir, que cuando se saca un trabajo de la memoria, la partición donde se encontraba dicho trabajo, no puede ser unida a otras particiones contiguas, para formar una partición mayor. Con el supuesto anterior, si tenemos una memoria que dispone inicialmente de 50 Kb libres para programas, dibujar los estados por los que pasa dicha memoria para contener los siguientes trabajos, calculando en cada caso las fragmentaciones: TRABAJOS T1 T2 T3 T4 T5 T6 T7 T8 TAMAÑO 22 K 9K 12 K 10 K 6K 4K 15 K 3K TIEMPO 1,2 seg. 2,3 seg. 1,0 seg. 1,3 seg. 2,2 seg. 3,0 seg. 1,1 seg. 2,0 seg. Los trabajos se gestionan, utilizando un algoritmo SJF, que es un algoritmo, que asigna mayor prioridad a los trabajos que están menos tiempo en memoria. Los trabajos entran en memoria según la estrategia del mejor ajuste. ¿Cuál es el tiempo medio de retorno o estancia? EJERCICIO Nº 4. En un sistema multiprogramado, se dispone de una memoria de 100 Kb para programas y asigna memoria con un sistema de particiones variables, siguiendo el criterio de mejor ajuste. La cola de trabajos se gestiona por prioridades, teniendo en cuenta, que la mayor prioridad corresponde al menor numero y esta formada por los siguientes trabajos: TRABAJOS T1 T2 T3 T4 T5 T6 T. MEMORIA 0,2 msg. 0,4 msg. 0,1 msg. 0,8 msg. 0,7 msg. 1,1 msg. PRIORIDAD 1 2 1 2 3 1 TAMAÑO 10 K 50 K 70 K 20 K 80 k 20 K T. LLEGADA 0,3 msg. 0,1 msg. 0,2 msg. 0,3 msg. 0,1 msg. 0,3 msg. Teniendo en cuenta estos datos: a) Especificar los estados por los que pasa la memoria. b) Representar las tablas de fragmentos disponibles. c) Indicar estado de la cola de espera antes y después de que sufra modificaciones. d) Calcular el tiempo medio de retorno de los trabajos. GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA 2 EJERCICIO Nº5. Disponemos de una memoria de 150 Kb para introducir programas, que se gestiona mediante particiones variables con compactación automática y gestionando la entrada de trabajos en memoria mediante prioridades. La estrategia que se utiliza, es la del mejor ajuste y la compactación se realiza, cuando el tiempo que se tarda en realizarla, es menor que el tiempo que ha de esperar el trabajo siguiente, para entrar en la memoria sin hacer compactación. El sistema consume 0,1 msg en mover 1 Kb de una posición a otra de la memoria y todos los trabajos se suponen que en el instante 0 msg se encuentran presentes en la cola de espera. Las prioridades de los trabajos son mayores si tienen asociado un numero mayor. TRABAJOS T1 T2 T3 T4 T5 T6 TAMAÑO 90 K 60 K 80 K 40 K 40 K 100 K T. EN MEMORIA 8 5 2 10 6 2 PRIORIDAD 3 4 1 5 2 6 Se desea resolver los siguientes puntos: a) b) c) d) Representar los estados por los que pasa la memoria, especificando el momento en que se realiza la compactación. Especifique para cada uno de los estados las áreas, de fragmentos disponibles. Indicar el estado de la cola de espera, antes y después de que sufra modificaciones. Calcular el tiempo medio de retorno de los trabajos. EJERCICIO Nº6. Un sistema operativo gestiona la memoria con particiones variables y controla el espacio libre mediante una lista de fragmentos disponibles. Se están ejecutando tres procesos de los que se conocen las siguientes características: P1 Llega al sistema a los 30 msg y solicita 4 Kb de memoria. A los 60 msg después de concedida su petición, libera 4 Kb de memoria. 50 msg mas tarde vuelve a solicitar 6 Kb de memoria. A los 60 msg después de concedida su petición finaliza. P2 Llega al sistema a los 90 msg y solicita 3 Kb de memoria. A los 40 msg después de concedida su petición, solicita otros 2 Kb de memoria. A los 70 msg después de concedida su petición finaliza. P3 Llega al sistema a los 80 msg y solicita 7 Kb de memoria. A los 40 msg después de concedida su petición, se liberan 6 Kb de memoria. 10 msg mas tarde vuelve a solicitar 8 Kb de memoria. A los 20 msg después de concedida su petición finaliza. GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA 3 Notas sobre el sistema: Para el tiempo cero, la tabla de espacio disponible es: DIRECCIÓN DE COMIENZO 96 K 70 K 40 K TAMAÑO 4 KB 5 KB 10 KB La cola de espera para entrar en memoria se mantiene por orden de llegada. Si un proceso pide memoria y no existe un hueco adecuado se bloquea y retrasa las demás acciones que realiza. Cuando un proceso ocupa ya una zona de memoria y pide mas memoria, si existe un hueco donde se pueda introducir de nuevo todo el programa, se realizará una reubicación con tiempo despreciable. El sistema utiliza la asignación del mejor fragmento. Las liberaciones de memoria, se realizan siempre antes que las inserciones, cuando coinciden en el tiempo. Se desea representar los estados de memoria y calcular el tiempo de retorno medio. GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA 4 UNIVERSIDAD PONTIFICIA DE SALAMANCA EN MADRID Facultad de Informática Escuela Universitaria de Informática Departamento de Lenguajes, Sistemas Informáticos e Ingeniería de Software SOLUCIONES DE LOS EJERCICIOS SOLUCIÓN AL EJERCICIO Nº 1. a) TRABAJOS TAMAÑO TI T2 T3 T4 T5 T6 4K 2K 7K 15 K 8K 12 K 0 0,1 T1 T1 4 K FI=0 T2 0,2 T1 FI=0 T5 T. DE ESTANCIA EN MEMORIA 0,3 seg. 0,1 seg. 0,5 seg. 0,4 seg. 0,8 seg. 0,2 seg. 0,3 FI=0 0,4 FE=4 T5 T5 0,5 0,6 FE=4 T5 FE=4 T5 10 K FI=8 T3 FI=2 T3 FI=2 FI=2 T3 T3 FI=2 T3 FI=2 T4 16 K FI=9 0,6 4 K FI=9 0,7 FE=4 T5 FI=9 0,8 FE=4 T5 FI=9 0,9 FI=9 1,0 FI=1 1,1 1,2 FE=4 FE=4 FE=4 FE=4 FI=2 FE=10 T6 FE=10 T6 FE=10 FI=1 FI=4 FI=4 FE=16 T5 10 K FI=2 T4 FI=2 T4 T4 16 K FI=1 FI=1 TIEMPOS DE RETORNO T. RETORNO MEDIO = 3,8/6 = 0,63 GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA 5 TRABAJOS T1 T2 T3 T4 T5 T6 ENTRADAS 0 0 0 0 0 0 SALIDAS 0,3 0,1 0,5 0,9 0,9 1,1 TOTALES 0,3 0,1 0,5 0,9 0,9 1,1 TOTAL = 3,8 0 0,1 T1 T1 4 K FI=0 T3 0,2 T1 FI=0 T3 0,3 T2 FI=0 0,4 0,5 FI=2 T3 T3 0,6 FE=4 T3 FE=4 T5 10 K FI=3 T4 FI=3 T4 FI=3 FI=3 T4 T4 FI=3 T6 FI=2 T6 16 K FI=1 0,6 4K FI=1 0,7 FI=1 0,8 FI=1 0,9 FI=4 1,0 FI=4 1,1 1,2 FE=4 T5 FE=4 T5 FE=4 T5 FE=4 T5 FE=4 T5 FE=4 T5 FI=2 FI=2 FI=2 FI=2 FI=2 FI=2 FE=16 FE=16 FE=16 FE=16 FE=16 FE=16 10 K 16 K 1,2 4K 1,3 1,4 1,5 1,6 1,7 1,8 FE=4 T5 10 K FI=2 16 K FE=16 TIEMPOS DE RETORNO RETORNO MEDIO = 3,5/6 = 0,58 GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA 6 TRABAJOS T1 T2 T3 T4 T5 T6 ENTRADAS 0 0 0 0 0 0 SALIDAS 0,3 0,4 0,5 0,4 1,3 0,6 TOTALES 0,3 0,4 0,5 0,4 1,3 0,6 TOTAL = 3,5 b) 0 0,1 T1 0,2 T1 0,3 0,4 T1 FI=0 FI=0 FI=0 T3 FE=2 T6 FE=6 FE=2 T3 FI=0 T3 FI=0 0,6 FI=0 FE=6 T2 0,5 FI=0 T3 FI=0 FI=0 T3 FI=0 FE=1 T4 FI=0 T4 FI=0 T4 FI=0 T4 FI=0 T5 FI=0 FE=2 FE=2 FE=2 FE=2 FE=9 FE=9 0,9 1,0 1,1 FE=13 FE=13 FI=0 FI=0 FE=9 FE=9 0,6 0,7 0,8 T5 FI=0 1,2 T6 FI=0 FE=13 FE=13 FE=13 FE=1 T5 T5 T5 T5 FI=0 FI=0 FI=0 FE=9 FE=9 FE=9 FE=9 TABLA DE DESCRIPCIÓN DE PARTICIONES Nº PARTICIÓN 0 1 BASE 0 13 T5 FI=0 TAMAÑO ESTADO 12 K ASIGNADA 8 K ASIGNADA T5 TIEMPOS DE RETORNO TRAB T1 T2 T3 T4 T5 T6 ENT SAL 0 0,3 0 0,1 0 0,5 0 0,4 0 1,2 0 0,7 TOTAL TIEMPO DE RETORNO MEDIO= GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA TOT 0,3 0,1 0,5 0,4 1,2 0,7 3,2 3,2 0,53 6 7 SOLUCIÓN AL EJERCICIO Nº 2. TABLA DESCRIPCIÓN PARTICIONES TABLA FRAGMENTOS DISPONIBLES Nº PARTICIÓN BASE TAMAÑO ESTADO 0 1 2 3 0 56 100 117 40 30 12 30 K K K K PRIMER AJUSTE DIRECCIÓN ASIGNADA ASIGNADA ASIGNADA ASIGNADA 40 86 112 147 ESPACIO LIBRE K K K K MEJOR AJUSTE 16 14 5 23 K K K K A B C D PEOR AJUSTE P1 A P1 B P1 D P2 B P2 C P2 A SOLUCIÓN AL EJERCICIO Nº 3. TRABAJOS T1 T2 T3 T4 T5 T6 T7 T8 0 1 1,1 1K T1 22 K TAMAÑO 22 K 9K 12 K 10 K 6K 4K 15 K 3K 1,2 1K T1 22 K TIEMPO 1,2 seg. 2,3 seg. 1,0 seg. 1,3 seg. 2,2 seg. 3,0 seg. 1,1 seg. 2,0 seg. 2,3 1K T1 22 K T7 T3 15 K T7 12 K T6 1K 1K 13 K 13 K 13 K 10 K FE=3K 9K T2 2K 4K 9K 9K 2K T6 4K T6 4K T6 4K T5 6K 6K T5 6K T5 6K T8 3K T8 3K T8 3K 2K T4 T2 2K T5 2K T4 FE=1K 15 K 3,3 1K T2 2K 3,1 2K 10 K FE=5K GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA T4 FE=18K 10 K 3K 2K 2K 10 K 10 K FE=28K FE=31K 8 3,3 3,5 4,1 1K 1K 13 K 13 K T2 9K 9K T6 2K 4K T6 2K 4K 6K 3K 2K 6K 3K 2K 10 K 10 K FE=37 FE=46K TIEMPOS DE RETORNO TRABAJOS T1 T2 T3 T4 T5 T6 T7 T8 T. MEDIO RETORNO = 19,6/8 = 2,45 ENTRADAS 0 0 0 0 0 0 0 0 SALIDAS 1,2 3,5 1 2,3 3,3 4,1 1,1 3,1 TOTALES 1,2 3,5 1 2,3 3,3 4,1 1,1 3,1 TOTAL = 19,6 SOLUCIÓN AL EJERCICIO Nº 4 LLEGADAS 0,1msg. 0,1 msg. 0,2 msg. 0,3 msg 0,3 msg. 0,3 msg. TRABAJOS PRIORIDAD TAMAÑO T.MEMORIA T2 T5 T3 T1 T6 T4 2 3 1 1 1 2 50 KB 80 KB 70 KB 10 KB 20 KB 20 KB 0,4 msg. 0,1 msg. 0,1 msg. 0,2 msg. 1,1 msg. 0,8 msg. GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA 9 0,1 100 K 0,2 0,3 50 K 0,4 0,5 T4 T6 20 K 20 K T4 T6 20 K 20 K T1 10 K T1 10 K T2 50 K T2 50 K 1 T4 T6 20 K 20 K 50 K 50 K T2 50 K T2 50 K 60 K 0 K 100K 1 50K 50K 0 K 1,1 1,2 1,3 T4 20 K T6 20 K 20 K T6 20 K 0 K 1,4 20 K T6 20 K 60K 1,5 20 K T6 30 K 20 K T3 60 K 60 K 60 K 60 K 20 K 20 K 20 K 60 K 60 K 60 K 60 K 100 K 1,5 1,6 1,7 1,8 1,9 20 K T5 20 K 20 K 20 K 80 K T5 80 K T5 80 K T5 20 K 20 K 20 K 70 K 100 K 2 20 K 80 K T5 20 K 80 K 20 K 100 K GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA 10 2 2,1 2,2 20 K 20 K T5 80 K T5 20 K 20 K 80 K 100 K TIEMPO DE RETORNO TRAB. T1 T2 T3 T4 T5 T6 ENT. 0,3 0,1 0,2 0,3 0,1 0,3 SAL. 0,5 0,5 1,5 1,1 2,2 1,4 T. MEDIO RET = 5,9/6 = 0,98 TOT 0,2 0,4 1,3 0,8 2,1 1,1 TOTAL = 5,9 ESTADO DE COLA DE ESPERA ANTES Y DESPUES DE MODIFICACIONES INSTANTE TIEMPO C. DE ESPERA ANTES CARGA C. DE ESPERA DESPUES CARGA TRABAJOS MEMORIA TRABAJO TERMINADO 0,1 T2,T5 T5 T2 0,2 T5,T3 T3,T5 T2 0,3 T3,T1,T6 T4,T5 T3,T5 T2,T1 T4,T6 0,5 T3,T5 T3,T5 T4,T6 1,1 T3,T5 T3,T5 T6 T4 1,4 T3,T5 T5 T3 T6 1,5 T5 T5 T3 2,2 GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA T1,T2 T5 11 SOLUCIÓN AL EJERCICIO Nº5. TRABAJOS T1 T2 T3 T4 T5 T6 0 150K TAMAÑO 90 KB 60 KB 80 KB 40 KB 40 KB 100 KB 1 T. MEMORIA 8 seg. 5 seg. 2 seg. 10 seg. 6 seg. 2 seg. 2 6 11 T2 30 K T5 40 K 30 K T5 60 K 14 20 K COMPACTACIÓN T4 40 K T1 90 K 40 K 40*0,1 = 4 sg T3 80 K PRIORIDAD 3 4 1 5 2 6 T1 90 K T3 80 K NO SE REALIZA 0K 30K 30K 20K 150K 150K 80K 14 0K 90K 18 20 25 150 COMPACTACIÓN 10 K T6 100 K 40*0,1 = 4 sg. 110 K SI SE REALIZA T4 40 K T4 40 K 0 K 20K 110K 110K 150K 90K GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA 12 CALCULO DEL TIEMPO DE RETORNO MEDIO TRABAJOS T1 T2 T3 T4 T5 T6 ENTRADA 6 seg. 6 seg. 0 seg. 11 seg. 0 seg. 18 seg. SALIDA 14 seg. 11 seg. 2 seg. 25 seg. 6 seg. 20 seg. TOTAL TIEMPO DE RETORNO MEDIO = T. RETORNO 8 seg. 5 seg. 2 seg. 14 seg. 6 seg. 2 seg. 37 sg. 37 6,16 sg. 6 ESTADO DE COLA DE ESPERA ANTES Y DESPUES DE MODIFICACIONES INSTANTE TIEMPO C. DE ESPERA ANTES CARGA C. DE ESPERA DESPUES CARGA 0 T3,T5,T1, T2,T4,T6 T1,T2,T4,T6 T3,T5 2 COMPACTACIÓN T1,T2,T4,T6 T5 T3 6 T1,T2,T4,T6 T4,T6 T1,T2 T5 11 T4,T6 T6 T1,T4 T2 14 T6 T4 T1 18 T6 COMPACTACIÓN 20 25 GESTIÓN Y ADMINISTRACIÓN DE LA MEMORIA TRABAJOS MEMORIA TRABAJO TERMINADO T4,T6 T4 T6 T4 13