4.3. Memoria Virtual

22
Memoria Caché

description

HHHHHHHH

Transcript of 4.3. Memoria Virtual

Arquitectura de Computadores

Memoria Cach

1Memoria VirtualMemoria ideal: rpida, grande, econmicaJerarqua de memoria genera la economaMemoria cach: provee el acceso rpidoal menos ms rpido que memoria principalY qu pasa con la memoria grande?en un sistema computacional son muchos los programas en ejecucin (procesos)existen computadores con 32, 64, 128, 192, 256 MBy de RAM y pueden ejecutar los mismos programas y en ocasiones la misma cantidadlenguaje de programacin: al realizar programas, por qu nunca se consider el tamao de la memoria?debiera ser muy significativo, pues un programa muy grande nunca podra ejecutarse en un computadordebiera generar restricciones al programadorMemoria VirtualMemoria virtual: provee la abstraccin de una memoria grandeMejor que eso, la memoria virtual es ms grande de lo que fsicamente existe instalado en la mquinaMs an, proporciona la capacidad de compartir eficientemente la memoria entre mltiples procesosTambin independiza el espacio de direccionamiento entre programasfacilita la labor del programador

Memoria VirtualMemoria virtual:Hace creer a los programas que existe una memoria principal de gran tamaoExplota el principio de localidad espacial a travs de la jerarqua de memoriaSimplifica el manejo de memoriaVentajas:Permite una traduccin de direcciones simple y eficientePermite crear instancias de memoria compartidaPermite establecer esquemas de proteccin de memoriaMemoria VirtualTerminologaTamaos asociadosPgina: SizeP= 2P [By]Memoria real: SizeR= 2R [By] 2R-P = r [pg.]Memoria virtual: SizeV=2V [By] 2V-P = v [pg.]P < R < VDireccin real: direccin que sirve para accesar la RAMDireccin virtual: direccin generada por el programa ejecutadoPgina: unidad mnima de transferencia en memoria virtualcorresponde a un gran grupo de Wds contiguas en memoriaMemoria VirtualTerminologaPgina real: direccin de pgina generada por la traduccinPgina virtual: direccin de pgina generada a partir de la direccin de memoria que se desea accesarTabla de pgina: tabla residente en memoria que permite realizar la traduccin de direccionespresenta una entrada por cada direccin virtual existentedebe existir una tabla de pginas para cada procesoFallo pgina: accin de realizar la traduccin de direccin y no encontrar la pgina en memoriaesta pgina est alojada en el disco duroMemoria VirtualModo de operacinExisten dos tipos de direcciones: las virtuales y las reales o fsicas traduccin de direcciones espacios de memoria independientes entre procesosLas direcciones generadas por los programas en ejecucin son direcciones virtualesEstas direcciones se traducen a direcciones de memoria real

Memoria VirtualModo de operacinMemoria almacena slo los datos/instrucciones ms utilizadosTodo lo dems reside en memoria secundarianormalmente disco duromemoria acta como cach deldiscoLa memoria es dividida en pginas lo que permite aprovechar la localidad espacialTodas las transferencias entre memoria y disco se hacen con pginas

Memoria VirtualModo de operacinLa traduccin de direcciones se realiza mediante una tabla de pginas (TP)La TP indica:si la pgina est en memoria o en disco y la direccin en memoria reallos permisos de accesoPara mejor desempeo las TP residen en memoriaLa traduccin y validacin de acceso es realizada por Hw en la unidad de manejo de memoria (MMU)

Memoria VirtualPasos del proceso de traduccin de direccionesPrograma emite una direccin virtualMMU determina la TP adecuada y la indexa con el nmero de pgina virtual obteniendo el nmero de pgina real o un indicador de que el dato est en el discoSi la pgina est en memoria y el programa tiene derecho a accesarla, se lee el dato o instruccin desde memoria principalSi la pgina est en memoria, pero el programa no posee privilegios para accesar la pgina, se produce una excepcin de proteccin y se transfiere el control al OSSi la pgina no est en memoria, MMU produce una excepcin de fallo de pgina y transfiere el control al OSMemoria Virtual

Memoria VirtualAspectos de diseo de memoria virtualAlgoritmo de bsqueda de pginasAlgoritmo de ubicacin de pginasal traer un dato hacia memoria: dnde dejarlo?necesario pues R