Está en la página 1de 6

Sistemas Operativos

1er cuatrimestre de 2010

Sistemas Operativos
Prctica 4 Administracin de memoria a o
Rev: 2

Notas preliminares Los ejercicios marcados con el s mbolo constituyen un subconjunto m nimo de ejercitacin. Sin embargo, aconsejamos fuertemente hacer todos los ejercicios. Para o esta la resolucin de esta prctica se recomienda utilizar como lectura adicional los o a cap tulos Memory Managment y Virtual Memory del libro Operating Systems Concepts, Silberschatz.

Ejercicio 1 Rev: 2
Suponga una administracin de memoria de particiones variables. o 1. Diagrame en pseudocdigo una rutina que dada una longitud de memoria asigne una particin de la longitud reo o querida devolviendo la direccin de comienzo de la particin, utilizando el algoritmo la mejor zona que encuentre. o o Si no encuentra una particin como la solicitada devolver una direccin de comienzo negativa. o a o 2. Diagrame en pseudocdigo una rutina que dada la direccin de comienzo de una particin la convierta en zona o o o disponible.

Ejercicio 2 Rev: 2
Cmo se modican las rutinas diagramadas en el ej. 1 para que puedan ser utilizadas en el mtodo de particiones o e reubicables? Diagramarlo.

Ejercicio 3 Rev: 2
Dados los dos siguientes mtodos de administracin de memoria: e o Particionada variable y no reubicable Particionada variable y reubicable Se pregunta: 1. Al cabo de un tiempo de haber comenzado los trabajos del d en cul de los dos hay ms trabajos en memoria, a, a a y por qu? e 2. Qu parmetros utilizar Ud. para decidir que no vale la pena compactar? e a a 3. Si su trabajo comparte con otros la memoria, y debe entrar un nuevo trabajo, en cul de los dos mtodos de a e administracin propuestos tardar ms en terminar su ejecucin? o a a o 4. Cmo inuye el tiempo de E/S en el mtodo de administracin particionada variable y reubicable? o e o 5. En qu momento es aconsejable la compactacin? e o

Ejercicio 4 Rev: 2
Se han discutido dos algoritmos de administracin de memoria con particiones variables: la mejor y la primer zona o libre que se encuentre. Se propone un tercer algoritmo: la peor zona libre que encuentre. Este siempre asigna al trabajo la zona libre ms grande que encuentra. a 1. Describa su implementacin. o 2. Como cree que ser el rendimiento? a 3. Muestre una secuencia de trabajos para la cual este algoritmo sea mejor a los otros dos. 4. Muestre una secuencia de trabajos en la cual sea peor.

Pgina 1 de 6 a

Sistemas Operativos

1er cuatrimestre de 2010

Ejercicio 5

Rev: 2

Dado un sistema con una Administracin de memoria Paginada sin demanda con 64K de memoria real, 20 bits de o capacidad de direccionamiento y pginas de 4 K. Se pide: a 1. Tamao mximo posible de un programa a ejecutar en este sistema (Escriba en binario la mxima direccin n a a o ejecutable en el mismo) 2. Una instruccin del programa A (que tiene 20 pginas) direcciona a la pgina virtual 8 desplazamiento 400h. o a a Explique claramente si tal instruccin es ejecutable o no en este sistema. o

Ejercicio 6

Rev: 2

Suponga un esquema de memoria paginada con Memoria Virtual. Se estn ejecutando tres programas A, B y C con a longitudes de 2K, 1.5K, y 3K caracteres respectivamente. La longitud de la pgina es de 0.5K caracteres. a 1. Cul es la cantidad mxima de pginas que puede tener un programa si las instrucciones tienen direcciones de a a a 16 bits? 2. Disee las estructuras de datos del sistema suponiendo que la mquina tiene una memoria de 64K. n a 3. Determine el contenido de dichas tablas para los programas A, B y C suponiendo que la distribucin de las pginas o a en la memoria real es la siguiente: Bloque Pgina a 0 A0 1 B0 2 C5 3 A1 4 A2 5 C3 6 C1 7 B2 8 C4

4. En la direccin 0280h del programa A hay una instruccin de bifurcacin incondicional. Utilizando las tablas o o o denidas en 3) determine la direccin de la memoria en la cual est la instruccin. Indique ahora cmo acta el o a o o u sistema, utilizando las tablas si es necesario, si en la instruccin se bifurca a la 029Ah, a la 00BAh y a la 0708h. o

Ejercicio 7 Rev: 2
1. Disee todas las tablas necesarias para un sistema de administracin de memoria paginada por demanda que n o permita la eciente remocin de pginas de cualquier programa en funcin de las necesidades de uno dado. o a o 2. Diagrame en pseudocdigo la rutina de atencin de interrupciones por falla de pgina y remocin de pginas para o o a o a el caso anterior. 3. Discuta la ubicacin de la informacin necesaria para los puntos 1) y 2) en la BCP, TDP y TDB. o o

Ejercicio 8 Rev: 2
En un sistema de administracin de memoria paginada por demanda: o 1. Cul es el tamao mximo posible de un programa, despreciando la porcin de Sistema Operativo residente, que a n a o ejecuta en un sistema de capacidad de direccionamiento de 16 bits, de 8 bits para nmero de pgina y de una u a memoria real de 32 Kbytes? 2. Cul es el tamao si la capacidad en disco para pginas es de 64 pginas? a n a a

Ejercicio 9

Rev: 2

Tenemos un sistema de computacin con m1 bloques de memoria central y una memoria auxiliar (disco) con capacidad o para m2 pginas que llamaremos a, b, c, d, etc. El trazado de un programa es la enumeracin de las pginas que ese a o a programa referencia a medida que se ejecuta. Supongamos que el trazado de un programa es P = abacabdbacd. Para cada referencia del trazado puede determinarse: Si debe traerse o no una pgina de memoria auxiliar a memoria central. a Cul pgina de memoria central es desalojada de acuerdo al algoritmo de reemplazo elegido: FIFO, LRU, etc. a a Cul es el contenido de los m1 bloques de la memoria central. a nro. de pginas tra a das Se dene el ndice de fracasos como f = e ndice de hallazgos a s = 1 f nro. de referencias del trazado Se pide: 1. Para m1 = 2 utilizando un algoritmo FIFO, cul es el a ndice de hallazgos? 2. Idem anterior para un algoritmo LRU. 3. Explicar brevemente por que hubo un reemplazo ms para el algoritmo FIFO. Cul es la caracter a a stica del trazado suministrado que motiv que LRU fuese ms eciente que FIFO? o a

Pgina 2 de 6 a

Sistemas Operativos

1er cuatrimestre de 2010

4. Repetir 1 y 2 para m1 = 4. Explique brevemente qu sucede. Espec e camente, qu efecto tiene el tamao de e n la memoria en s?Puede este resultado generalizarse? Qu efecto tendr un cambio en el tamao de la memoria e a n auxiliar m2 ? 5. FIFO y LRU parecen intuitivamente ser mtodos aceptables. Un algoritmo de reemplazo de la pgina ms utilizada e a a recientemente parecer en cambio, ser intuitivamente malo. Repita 1 para un algoritmo de este tipo y verique a, esa armacin. o

Ejercicio 10 Rev: 2
Los canales requieren direcciones reales f sicas para poder realizar la E/S. Si se usa una memoria paginada sin realizar modicaciones al hardware de los canales se tropieza con un problema cuando se realiza una operacin de E/S sobre una o pgina y en la mitad de la operacin la pgina es elegida para ser removida. Existen dos posibles soluciones: a o a Mantener las pginas que contienen el buer en memoria real, impidiendo temporariamente que sean removidas. a Debe modicarse adems el programa de canal correspondiente para que se reeje las direcciones reales afectadas a por la E/S. Asignar un buer temporario en una zona no paginada reservada por el Sistema Operativo para maniobrar. Cuando la operacin de E/S ha terminado, mover la informacin del buer temporario a la pgina en cuestin. o o a o Se pregunta: 1. Cmo implementar la primer solucin? Qu tablas tendr que modicar? Cmo determinar qu pginas o a o e a o a e a deben ser inmovilizadas? 2. Si el buer referenciado cruza el l mite entre dos pginas que no estn ubicadas en memoria en forma contigua, a e cmo efectuar Ud. la E/S? (siempre bajo el primer esquema). o a 3. Bajo el segundo esquema, si ocurre que un programa solicita E/S y no hay memoria disponible en la zona temporaria de memoria reservada para tal n, debe el programa esperar que alguna porcin de memoria se o libere?, o puede el sistema operativo agrandar el area de maniobra tomando memoria de la zona paginada?. En este ultimo caso, qu problemas podr presentarse? e an 4. Qu factor determinar cul es el mejor esquema? Indique una ventaja y una desventaja de cada uno. e a a 5. Constate para ambos esquemas las simplicaciones que se introducir si cada canal pudiera ejecutar programas an de canal directamente direccionando memoria virtual.

Ejercicio 11

Rev: 2

En qu modo de ejecucin no se utiliza la TDP para traducir direcciones? e o

Ejercicio 12

Rev: 2

Dado el siguiente sistema: Computador Memoria Real 2048K, Acceso a memoria 1 ms. Direccionamiento de 32 bits, 20 bits para nro. de pgina. a Operacin en procesador = Tiempo despreciable o Subsistema de discos 4000 RPM, 10 sectores por pista, 2K por sector, tiempo de posicionamiento medio 25 mseg. Sistema Operativo Administracin de Memoria: paginacin por demanda, tiempo de proceso mdulo de paginacin o o o o 10 mseg (promedio). Se pregunta: 1. Tamao mximo posible de un programa a ejecutar en este sistema. n a 2. Tamao de las pginas n a 3. Cunto tarda una operacin de paginacin promedio en i) cargar una pgina y ii) remover una pgina y carga a o o a a otra. 4. Cunto demora el acceso a una direccin de memoria real si: a o i) la TDP se ubica en la memoria RAM. ii) la TDP se ubica en la memoria asociada del procesador (cache). 5. Si se carga un programa que pone unos a la diagonal de una matriz de 1024 x 1024 elementos, donde cada elemento es un entero de 4 bytes, y luego de completar esta operacin se coloca en cero toda la diagonal. Indique cul es o a el ndice de hallazgos S. (Se deprecia el espacio ocupado por las instrucciones del programa y se supone toda la memoria real dedicada para esta matriz). 6. Cmo modicar al sistema (no al programa) para que el o a ndice de hallazgos s sea 1/2.

Pgina 3 de 6 a

Sistemas Operativos

1er cuatrimestre de 2010

Ejercicio 13 Rev: 2
Suponga un sistema de administracin de memoria por paginacin con demanda que tiene TDP en el procesador. o o Una interrupcin de falla de pgina tarda 8 ms en manejarse si no hay remocin y 20 ms si hay remocin. La velocidad o a o o de acceso a memoria es 1 microseg. Se sabe que el 70 % de las operaciones de falta de pgina implican remocin. a o 1. Cul es el mximo aceptable de paginacin (pginas/segundo) si se desea que el sistema no incurra en thrashing? a a o a 2. Y si se desea que el sistema por lo menos dedique el 60 % de su tiempo a procesar trabajos?

Ejercicio 14 Rev: 2
Diagrame la rutina que dada una operacin de E/S (proceso, direccin, longitud) asegure al Supervisor de E/S que o o todas las pginas que se necesitan para esa operacin estn en condiciones de poder realizarla. a o e

Ejercicio 15 Rev: 2
Qu inconveniente trae tener la direccin del archivo de Memoria Virtual en la TBCP? (una unica direccin). e o o

Ejercicio 16 Rev: 2
Disee todas las tablas necesarias para un sistema de administracin de memoria por Segmentacin y Memoria n o o Virtual.

Ejercicio 17 Rev: 2
Considere un sistema que no posee memoria virtual y tiene registros base y longitud. Es necesario implementar algn tipo de Memoria Virtual. Cul implementar paginacin o segmentacin? Cul es ms fcil? Explique como u a a, o o a a a implementar el mecanismo elegido. a

Ejercicio 18 Rev: 2
Implemente un sistema de administracin de memoria paginada que permita compartir pginas entre distintos o a procesos.

Ejercicio 19

Rev: 2

En un sistema de administracin de memoria segmentada: o 1. Cmo tendr que ser el segmento que contiene a la rutina SENO? o a 2. Cmo se resuelve el problema de un buer que cruza el l o mite entre 2 segmentos?

Ejercicio 20

Rev: 2

Supngase un sistema de procesamiento paginado por demanda con remocin por LRU y scheduler de tipo Roundo o Robin multinivel. El mismo cuenta con 32 K de memoria real, dividida en bloques de 2K, de la cual el SO utiliza 14 K. La palabra de direccionamiento es de 16 bits. La tabla de bloques del sistema contiene la siguiente informacin: o Direccin de comienzo o 14 16 18 20 22 24 26 28 30 Se pide: 1. Tamao posible de un programa a ejecutar en este sistema, tamao de las pginas y cantidad mxima de pginas n n a a a de un programa. 2. Se tiene un programa A de 36 K de longitud que se desea ejecutar en esta instalacin. Suponiendo que la traza o del programa A es la siguiente: 0 1 2 0 8 1 7, arme la tabla de distribucin de bloques luego de la nalizacin del o o programa. Asignado al programa B C B C Pgina del proceso a 5 2 7 3 Tiene E/S? S S S S Cambi? o S

Pgina 4 de 6 a

Sistemas Operativos

1er cuatrimestre de 2010

3. Calcule el ndice de fracasos del programa A y explique qu sucede al referenciarse la pgina 7. e a 4. En el programa A en la direccin 0857h se encuentra la siguiente instruccin: jmp A01Ch o o a) Calcule las direcciones reales de ambas (utilice la informacin de la traza dada) o b) Qu sucede cuando se ejecuta esta instruccin bifurcacin? e o o

Ejercicio 21 Rev: 2
En la tabla anexa se listan los mtodos de administracin de memoria estudiados en orden creciente de complejidad. e o Para cada uno de los mtodos indique qu problema resuelve con respecto al mtodo que tiene arriba en la lista y e e e qu caracter e sticas hardware y software (si hubiera) los diferencian. Metodo de administracin de memoria o Simple contigua Particionada Particionada reubicable Paginada con memoria virtual Segmentada Problemas resueltos Nuevo hardware necesitado Nuevo software necesitado

Ejercicio 22

Rev: 2

Una instalacin se encuentra implementando una nueva pol o tica de administracin de memoria paginada por demano da. La misma cuenta con 16 bits de capacidad de direccionamiento y bloques de 128 bytes. Sin embargo se ha limitado la cantidad de pginas de los procesos utilizando solamente 3 bits. Se pide: a 1. Indique el mximo tamao de un programa a ejecutar en esta instalacin. Escriba la mxima direccin en binario. a n o a o 2. Indique el tamao mximo de un programa en esta instalacin cuando la misma se encuentre totalmente funcional n a o y permita la utilizacin completa de su capacidad de direccionamiento. o 3. Indique (en el caso a) qu ocurre cuando el proceso Z que posee 7 pginas y cuyas pginas 0, 1, 5 y 6 se encuentran e a a cargadas en memoria real, trata de acceder a cada una de las siguientes direcciones: a) 080Bh b) 03F5h c) 0203h 4. Qu componente del sistema operativo detecta cuando un proceso intenta acceder a una pgina que no existe? e a Justique.

Ejercicio 23

Rev: 2

Suponga una administracin de memoria paginada por demanda. En el siguiente programa se cuenta con 3 variables, o A, K e I y lo que el mismo hace es imprimir 2 A mientras I sea menor que 2 (K se usa para clculos auxiliares). Se a detalla adems como ha quedado dividido el programa en memoria, es decir, como han quedado conformadas las distintas a pginas del mismo: a Pgina a 1 2 501 Direccin o Lgica o Cdigo o A = 4 I = 1 K = 2 * A print K if I >1 then stop I = I + 1 goto 501 Comentarios almacena en la posicin donde se ubica A el valor 4 o almacena en la posicin donde se ubica I el valor 1 o almacena en la posicin donde se ubica K el valor 2*A o

3 4

si la condicin anterior es verdadera termina o vuelve al 501

Pgina 5 de 6 a

Sistemas Operativos

1er cuatrimestre de 2010

Se pide: 1. Construya la traza de ejecucin de este programa o 2. Calcule el ndice de hallazgos y de fracasos suponiendo que existen 3 bloques en memoria real y el algoritmo de remocin es LRU. o 3. Cuntos bloques de memoria deber contener el sistema para ejecutar este programa si la administracin fuera a a o paginada sin demanda? Justique.

Pgina 6 de 6 a

También podría gustarte