Actividad 1 memoria virtual
Transcript of Actividad 1 memoria virtual
MEMORIA VIRTUAL
Tablas de paginas
La mayor parte de los sistemas de memoria virtual utilizan una técnica llamada paginación, que describiremos a continuación.
Cuando un programa ejecuta una instrucción como MOV REG, 1000 lo hace para copiar el contenido de la dirección de memoria 1000 a REG (o viceversa, dependiendo de la computadora). Las direcciones se pueden generar usando indexado, registros base, registros de segmentos y otras formas más
En cada entrada de la tabla de paginación (en inglés PTE, Page Table Entry) existe un bit de presencia, que está activado cuando la página se encuentra en memoria principal
Las tablas son mantenidas por el sistema operativo y utilizadas por la Unidad de Gestión de Memoria (MMU) para realizar las traducciones. Para evitar un acceso a las tablas de paginación.
En sistemas operativos de computadoras, los sistemas de paginación de memoria dividen los programas en pequeñas partes o páginas. Del mismo modo, la memoria es dividida en trozos del mismo tamaño que las páginas llamados marcos de página.
En un momento cualquiera, la memoria se encuentra ocupada con páginas de diferentes procesos, mientras que algunos marcos están disponibles para su uso
De esta forma, cuando un proceso es cargado en memoria, se cargan todas sus páginas en marcos libres y se completa su tabla de páginas.
Ejemplo
Número de marco Programa.#página Dirección física0 Programa A.0 1000:00001 Programa A.1 1000:10002 Programa A.2 1000:20003 Programa D.0 1000:30004 Programa D.1 1000:40005 Programa C.0 1000:50006 Programa C.1 1000:60007 Programa D.2 1000:7000
Aceleración de la pagina
Acabamos de ver los fundamentos de la memoria virtual y la paginación. Ahora es tiempo de entrar en más detalle acerca de las posibles implementaciones. En cualquier sistema de paginación hay que abordar dos cuestiones principales:
1. La asociación de una dirección virtual a una dirección física debe ser rápida.
2. 2. Si el espacio de direcciones virtuales es grande, la tabla de páginas será grande
Primer punto
El primer punto es una consecuencia del hecho de que la asociación virtual-a-física debe realizarse en cada referencia de memoria. Todas las instrucciones deben provenir finalmente de la memoria y muchas de ellas hacen referencias a operando en memoria también.
Si la ejecución de una instrucción tarda, por ejemplo 1 n seg, la búsqueda en la tabla de páginas debe realizarse en menos de 0.2 nseg para evitar que la asociación se convierta en un cuello de botella importante.
Segundo punto
El segundo punto se deriva del hecho de que todas las computadoras modernas utilizan direcciones virtuales de por lo menos 32 bits, donde 64 bits se vuelven cada vez más comunes. Por decir, con un tamaño de página de 4 KB, un espacio de direcciones de 32 bits tiene 1 millón de páginas y un espacio de direcciones de 64 bits tiene más de las que desearíamos contemplar.
En el otro extremo, toda la tabla de páginas puede estar en la memoria principal. Así, todo lo que el hardware necesita es un solo registro que apunte al inicio de la tabla de páginas. Este diseño permite cambiar la asociación de direcciones virtuales a direcciones físicas al momento de una conmutación de contexto con sólo recargar un registro.
Bibliografía
https://norbertomn.files.wordpress.com/2013/09/sistemas-operativos-modernos.pdf
https://es.wikipedia.org/wiki/Paginaci%C3%B3n_de_memoria
https://es.wikipedia.org/wiki/Tabla_de_paginaci%C3%B3n
http://lichess.org/ltS7A2ai
Integrantes
José Luis Osorio Sandoval Bertha María García Toledo José armado Velázquez
Mijangos Willian de Jesús Antonio
HernándezOscar Uriel Lorenzo Salomón