Está en la página 1de 5

UNIVERSIDAD CATOLICA "NUESTRA SEORA DE LA ASUNCION" Sistemas Operativos - Prof. Ing. Oscar I. Parra T.

MEMORIA VIRTUAL CUESTIONARIO TRABAJO INDIVIDUAL Objetivos Adquirir los conceptos relacionados con la tcnica de la Memoria Virtual Leer el contenido relacionado con estos t picos para reali!ar tra"a#os de comprensi n$ aplicaci n % refle&i n en la clase.

Cuestiona io
'. ()u*l es la idea fundamental detr*s de la M+MO,IA VI,T-AL. La memoria virtual es una tcnica de gesti n de la memoria que permite que el sistema operativo disponga$ tanto para el soft/are de usuario como para s0 mismo$ de ma%or cantidad de memoria que est disponi"le f0sicamente. La ma%or0a de los ordenadores tienen cuatro tipos de memoria1 registros en la )P-$ la memoria cac2 3tanto dentro como fuera del )P-4$ la memoria ,AM % el disco duro. +n ese orden$ van de menor capacidad % ma%or velocidad a ma%or capacidad % menor velocidad. 5. (6u es la paginaci n % para que sirve. (6u son las p*ginas % los marcos de p*ginas. +n sistemas operativos de computadoras$ los sistemas de paginaci n de memoria dividen los programas en peque7as partes o p*ginas. 8el mismo modo$ la memoria es dividida en tro!os del mismo tama7o que las p*ginas llamados marcos de p*gina. 8e esta forma$ la cantidad de memoria desperdiciada por un proceso es el final de su 9ltima p*gina$ lo que minimi!a la fragmentaci n interna % evita la e&terna. +n un momento cualquiera$ la memoria se encuentra ocupada con p*ginas de diferentes procesos$ mientras que algunos marcos est*n disponi"les para su uso. +l sistema operativo mantiene una lista de estos 9ltimos marcos$ % una ta"la por cada proceso$ donde consta en qu marco se encuentra cada p*gina del proceso. 8e esta forma$ las p*ginas de un proceso pueden no estar contiguamente u"icadas en memoria$ % pueden intercalarse con las p*ginas de otros procesos. +n la ta"la de p*ginas de un proceso$ se encuentra la u"icaci n del marco que contiene a cada una de sus p*ginas. Las direcciones l gicas a2ora se forman como un n9mero de p*gina % de un despla!amiento dentro de esa p*gina 3conocido com9nmente como offset4. +l n9mero de p*gina es usado como un 0ndice dentro de la ta"la de p*ginas$ % una ve! o"tenida la direcci n del marco de memoria$ se utili!a el despla!amiento para componer la direcci n real o direcci n f0sica. +ste proceso se reali!a en una parte del computador espec0ficamente dise7ada para esta tarea$ es decir$ es un proceso 2ard/are % no soft/are. 8e esta forma$ cuando un proceso es cargado en memoria$ se cargan todas sus p*ginas en marcos li"res % se completa su ta"la de p*ginas.

:. (6u es la MM-. ()u*l es su funci n. ;rafique.

3Memor% Management -nit4 -nidad de mane#o de memoria. )ircuito de memoria virtual que traduce direcciones l gicas a direcciones f0sicas.

<. (6u es un fallo de p*gina. +n un sistema de memoria virtual paginada$ un !a""o #e $%&ina 3del ingls page fault4 es una e&cepci n arro#ada cuando un programa inform*tico requiere una direcci n que no se encuentra en la memoria principal actualmente. Aunque el trmino sugiere un mal funcionamiento$ se trata de un procedimiento normal dentro de la marc2a del programa. Lo que ocurre ante un fallo de p*gina es1 '. Se emite el fallo de p*gina 3e&cepci n4 que es atrapado por el sistema operativo. 5. Se guarda el contador de programa % eventualmente otros registros en la pila. :. +l =ernel determina que al e&cepci n es de tipo fallo de p*gina$ % llama a la rutina espec0fica. <. >a% que averiguar qu direcci n virtual se esta"a "uscando. -sualmente queda en alg9n registro. ?. Se c2equea que sea una direcci n v*lida % que el proceso que la pide tenga permisos para accederla. Si no es as0$ se mata al proceso 3en -ni& se env0a una se7al de segmentation violation$ lo que lo 2ace terminar4. @. Se selecciona un page frame li"re si lo 2u"iese % si no se li"era mediante el algoritmo de reempla!o de p*ginas. A. Si la p*gina ten0a el "it dirt% prendido$ 2a% que "a#arla a disco. +s decir$ el BprocesoB del =ernel que mane#a +CS de"e ser suspendido$ gener*ndose un cam"io de conte&to % permitiendo que otros e#ecuten. La p*gina se marca como "us% para evitar que se use. D. )uando el SO es notificado de que se termin de "a#ar la p*gina a disco$ comien!a otra operaci n de +CS$ esta ve! para cargar la p*gina que 2a% que su"ir. 8e nuevo se de#a e#ecutar a otros procesos. E. )uando llega la interrupci n que indica que la +CS para su"ir la p*gina termin $ 2a% que actuali!ar la ta"la de p*ginas para indicar que est* cargada. 'F. La instrucci n que caus el fallo de p*gina se recomien!a$ tomando el contador de programa que 2a"0a quedado en el pila % los valores anteriores de los registros.

?. () mo se efectua la asociaci n de las direciones virtuales con las direcciones f0sicas. +&plique % 2aga un grafico.
La traducci n de las direcciones virtuales a reales es implementada por una -nidad de Mane#o de Memoria 3MM-4. +l sistema operativo es el responsa"le de decidir qu partes de la memoria del programa es mantenida en memoria f0sica. Adem*s mantiene las ta"las de traducci n de direcciones 3si se usa paginaci n la ta"la se denomina ta"la de paginaci n4$ que proveen las relaciones entre direcciones virtuales % f0sicas$ para uso de la MM-. Ginalmente$ cuando una e&cepci n de memoria virtual ocurre$ el sistema operativo es responsa"le de u"icar un *rea de memoria f0sica para guardar la informaci n faltante$ tra%endo la informaci n desde el disco$ actuali!ando las ta"las de traducci n % finalmente continuando la e#ecuci n del programa que dio la e&cepci n de memoria virtual desde la instrucci n que caus el fallo. +n la ma%or0a de las computadoras$ las ta"las de traducci n de direcciones de memoria se encuentran en memoria f0sica. +sto implica que una referencia a una direcci n virtual de memoria necesitar* una o dos referencias para encontrar la entrada en la ta"la de traducci n$ % una m*s para completar el acceso a esa direcci n. Para acelerar el desempe7o de este sistema$ la ma%or0a de las -nidades )entrales de Proceso 3)P-4 inclu%en una MM- en el mismo c2ip$ % mantienen una ta"la de las traducciones de direcciones virtuales a reales usadas recientemente$ llamada Translation Loo=aside Huffer 3TLH4. +l uso de este "uffer 2ace que no se requieran referencias de memoria adicionales$ por lo que se a2orra tiempo al traducir. +n algunos procesadores$ esto es reali!ado enteramente por el 2ard/are. +n otros$ se necesita de la asistencia del sistema operativo1 se levanta una e&cepci n$ % en ella el sistema operativo reempla!a una de las entradas del TLH con una entrada de la ta"la de traducci n$ % la instrucci n que 2i!o la referencia original a memoria es ree#ecutada. +l 2ard/are que tiene soporte para memoria virtual$ la ma%or0a de la veces tam"in permite protecci n de memoria. La MM- puede tener la 2a"ilidad de variar su forma de operaci n de acuerdo al tipo de referencia a memoria 3para leer$ escri"ir$ o e#ecutar4$ as0 como el modo en que se encontra"a el )P- en el momento de 2acer la referencia a memoria. +sto permite al sistema operativo proteger su propio c digo % datos 3como las ta"las de traducci n usadas para memoria virtual4 de corromperse por una aplicaci n$ % de proteger a las aplicaciones que podr0an causar pro"lemas entre s0.

@. ()u*l es la finalidad de la ta"la de p*ginas . Las ta"las de paginaci n o ta"las de p*ginas son una parte integral del Sistema de Memoria Virtual en sistemas operativos$ cuando se utili!a paginaci n. Son usadas para reali!ar las traducciones de direcciones de memoria virtual 3o l gica4 a memoria real 3o f0sica4 % en general el sistema operativo mantiene una por cada proceso corriendo en el sistema. +n cada entrada de la ta"la de paginaci n 3en ingls PT+$ Page Table Entry4 e&iste un "it de presencia$ que est* activado cuando la p*gina se encuentra en memoria principal. Otro "it que puede encontrarse es el de modificado$ que advierte que la p*gina 2a sido modificada desde que fue tra0da del disco$ % por lo tanto de"er* guardarse si es elegida para a"andonar la memoria principalI % el "it de accedido$ usado en el algoritmo de reempla!o de p*ginas llamado Menos Usado Recientemente 3L,-$ least recently used4. Tam"in podr0an 2a"er otros "its indicando los permisos que tiene el proceso so"re la p*gina 3leer$ escri"ir$ e#ecutar4. A. ()u*les son los dos aspectos fundamentales que se enfrentan al reali!ar la asociaci n

de direcciones virtuales con las direcciones f0sicas.


+l 2ard/are que tiene soporte para memoria virtual$ la ma%or0a de la veces tam"in permite protecci n de memoria. La MM- puede tener la 2a"ilidad de variar su forma de operaci n de acuerdo al tipo de referencia a memoria 3para leer$ escri"ir$ o e#ecutar4$ as0 como el modo en que se encontra"a el )P- en el momento de 2acer la referencia a memoria. +sto permite al sistema operativo proteger su propio c digo % datos 3como las ta"las de traducci n usadas para memoria virtual4 de corromperse por una aplicaci n$ % de proteger a las aplicaciones que podr0an causar pro"lemas entre s0. D. +&plique la utili!aci n de ta"las de p*ginas de varios niveles % sus venta#as. -na sola ta"le de paginacion puede ser mu% grande$ entonces se utili!an ta"las de paginacion para la ta"le de paginacion$ se divide la pagina a un inde& dentro de una ta"le de Segundo nivel de ta"las$ la venta#a es que no necesitas mantener en memoria la ta"la todo el tiempo$ solo los mapeos accedidos recientemente necesitan mantenerse en memoria

E. ()u*les son los campos m*s comunes que componen una entrada en la ta"la de p*ginas. +&plique el uso de cada campo. La direccion virtual 3direccion no real4$ la direccion fisica 3direccion real4 a la que apunta$ % a veces suele 2a"er mas campos con informacion so"re ese mismo espacio de memoria$ 'F. () mo puede afectar el tama7o de la p*gina al rendimiento del sistema operativo. 3incl9%ase un an*lisis matem*tico para determinar el tama7o ptimo de p*gina4
Para determinar el arc2ivo de paginaci n m0nimo apro&imado que es requerido por el sistema$ calcular la suma de "%tes privados m*&imos utili!ados por cada proceso en el sistema. A continuaci n$ reste la cantidad de memoria en el sistema. Para determinar el espacio de arc2ivo de p*gina m*&imo apro&imado que se requiere para su sistema$ calcular la suma de "%tes privados m*&imos utili!ados por cada proceso en el sistema. A continuaci n$ agregue un margen de espacio adicional. Jo reste la cantidad de memoria en el sistema. Puede a#ustar el tama7o del margen adicional en funci n de su confian!a en los datos de la instant*nea que se utili!an para calcular los requisitos del arc2ivo de p*gina. Para evitar so"recargar el sistema u otros discos con la actividad de entradaCsalida 3+CS4 las p*ginas$ utilice las siguientes directrices al configurar el arc2ivo de paginaci n en el equipo1

Si la tasa de entrada-salida 3+CS de disco real4 de la p*gina es m*s de 'F p*ginas por segundo$ se recomienda no colocar el arc2ivo de la p*gina donde se produce la actividad de +CS en el disco del sistema. )uando la velocidad de +CS de p*gina 'F p*ginas por segundo o m*s$ se recomienda que dedique un disco duro independiente para la paginaci n. Si la velocidad de +CS de p*gina a un disco en particular que se utili!a para la paginaci n es m*s de @F operaciones de +CS de disco por segundo$ utilice m*s de un disco duro de p*gina dedicada para o"tener un me#or rendimiento. Para ello$ utilice varios discos sin ra%as de paginaci n o utili!ar discos raid F con "andas para la paginaci n. 8edicar apro&imadamente entrada-salida discos duros a la paginaci n para cada @F p*ginas de la actividad de +CS por segundo. Por e#emplo$ si un sistema es un promedio de '?F p*ginas de la actividad de +CS por segundo$ utili!ar tres discos duros individuales$ o "andas raid F de tres discos para el arc2ivo de paginaci n. Nota1 +stas estimaciones son para los discos duros que se e#ecutan en A5FF revoluciones por minuto 3rpm4. Si utili!a un disco duro que se e#ecuta m*s r*pidamente$ puede controlar la velocidad de +CS un disco para p*gina de que entrada-salida aumentar*. Nota1 Si el m*&imo rendimiento es fundamental para su sistema$ utilice una velocidad m*&ima de entrada-salida en lugar de las tasas promedio de +CS para estos c*lculos.

RE'LE(ION 'INAL)
"El verdadero viaje de descubrimiento no consiste en buscar nuevos territorios, sino en tener nuevos ojos." - Marcel Proust -