Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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
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 -