1. UNIVERSIDAD ALAS PERUANAS FACULTAD DE INGENIERIAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERIAS DE SISTEMAS E INFORMATICA ADMINISTRACíON DE LA MEMORIA EN SISTEMAS RECIENTES (Capítulo Tres_Libro Azul ) Profesor Ing.Oscar Becerra Pacherres
2. Asignación de la memoria en páginas La asignación de la memoria en paginas se basa en el concepto de dividir cada tarea de llegada de igual tamaño. Algunos sistemas operativos escogen un tamaño de pagina igual al tamaño de bloque de memoria que es el tamaño de las secciones de disco en la cuales de almacena la tarea. Antes de ejecutar un programa el administrador de la memoria lo prepara mediante: Determinación del numero de paginas del programa Ubicación de suficientes marcos de pagina vacías en la memoria principal Carga de todas las paginas del programa en los mismo
3. Primeras 100 líneas Segundas 100 líneas Terceras 100 líneas 50 líneas restantes Espacio desperdiciado Sistema Operativo Tarea 1 - pagina 2 Tarea 1 - pagina 0 Tarea 1 - pagina 1 Tarea 1 - pagina 3 Menú principal 0 1 2 3 4 5 6 7 8 9 10 11 12 Pagina 0 Pagina 1 Pagina 2 Pagina 3 Ejemplo Numero de marcos de pagina
4. Paginación por Demanda La paginación por demanda introdujo la idea de cargar nada mas una porción del programa en la memoria para su procesamiento .Fue el primer esquema ampliamente utilizado que elimino la necesidad de colocar toda la tarea en la memoria desde el principio hasta el final de su procesamiento. Cuando los usuarios escogen la primera opción del menú de un programa de aplicación los otros tres módulos que no se requieren en ese momento se pueden extraer de la memoria y cargar de nuevo cuando sean llamados Ejemplo :
5. Paginación por Demanda NO requiere todas las paginas al mismo tiempo. Los módulos de manejo de errores escritos por el usuario se procesan solo cuando se detectan un error especifico durante la ejecución. Muchos módulos son mutuamente excluyentes Ciertas opciones de programa son excluyentes entre si o no resultan siempre accesibles A muchas tablas se asignan una cantidad grande fija de espacio de direcciones aun cuando por lo general realmente se utiliza una fracción de la tabla 1. 2. 3. 4.
7. Políticas y conceptos de reemplazo de páginas FIFO ( Primero en entrar , primero en salir ) La política de reemplazo de paginas de primeras entradas primeras en salida elimina las que se han quedado mas tiempo en la memoria Ejemplo : Tasa de Falla : 6/9 * 100 = 66.67 % Tasa de Falla : 3/9 * 100 = 33.33 % D B D * * * * * * Interrupción D A A A B B B Marco 2 B B B C C A A A Marco 1 D B B A C A B A Jobs
8. Políticas y conceptos de reemplazo de páginas LRU ( La menos reciente utilizada ) La política de reemplazo de paginas de la menos reciente utilizada sustituye las paginas que muestran menos actividad reciente en la suposición de que estas paginas fueren las menos utilizadas de nuevo en el futuro inmediato. Ejemplo : Tasa de Falla : 5/9 * 100 = 55.56 % Tasa de Falla : 3/9 * 100 = 44.44 % D A D * * * * * Interrupción D B B C C B B Marco 2 A A A A A A A A Marco 1 D B B A C A B A Jobs
9. La mecánica de la página Antes que el administrador de la memoria pueda determinar que paginas intercambiar necesita información respecto de cada pagina en la memoria, información incluida en las tablas de mapa de paginas (PMT) 12 0 1 1 3 7 0 0 1 2 9 0 0 1 1 5 1 1 1 0 Marco de pagina Bit de modificación Bit de referencia Bit de estado Pagina
10. Asignación de memoria en segmentos El concepto de la segmentación se basa en la practica común entre los programadores de estructurar sus programas en módulos : agrupamientos lógicos de código. Con la asignación de memoria en segmentos, cada tarea se divide en varios segmentos de tamaños diferentes , uno por cada modulo que contiene piezas que ejecutan funciones relacionadas. La tabla de tareas lista todas las tareas en proceso La tabla de mapa de segmentos lista detalles sobre cada segmento La tabla de mapa de memoria vigila la asignación de la memoria
11. Asignación de memoria por segmentación con página por demanda Es una combinación de segmentos y de paginación por demanda y ofrece los beneficios lógicos de la segmentación y las ventajas físicas de la paginación. La desventaja principal es la carga general requerida para tablas adicionales y el tiempo necesario para referir las tablas de segmentos y de pagina La tabla de tareas lista todas las tareas en proceso La tabla de mapa de segmentos lista detalles sobre cada segmento La tabla de mapa de paginas lista detalles sobre cada pagina La tabla de mapa de memoria vigila la asignación de los marcos
12. Memoria Virtual La paginación sobre demanda hizo posible que un programa se ejecutara aun cuando solo parte del mismo estuviera en la memoria principal con la memoria virtual se elimino la restricción impuesta al tamaño máximo de programa y facilita el movimiento a voluntad de las paginas en la memoria principal Memoria virtual con paginación Memoria virtual con segmentación 1. 2.
13. Conclusión El administrador de la memoria tiene la tarea de asignar la memoria a cada trabajo que se va a ejecutar y recuperarla cuando se haya terminado la ejecución. El administrador de la memoria es solo uno de los diversos administradores que forman el sistema operativos
14. Preguntas … 1.¿Cuál es el problema que se crea en la Paginación por Demanda? 2. ¿Cuál es la desventaja principal del esquema de segmentación con paginación por demanda ? 3. ¿En qué se basa el concepto de segmentación? 4. ¿A qué se debe la implementación exitosa del esquema de Paginación por Demanda ? 5.¿Qué permite la segmentación ? 6. ¿De qué se encarga FIFO? 7.¿De qué se encarga LRU ? 8.¿Qué es interrupción de página? 9. Simulación
15. En la paginación por demanda se resuelve el problema de que el job ya no esta limitado al tamaño de la memoria sin embargo se presenta el problema de una utilización mayor de número de tablas y una posibilidad de hiperpaginación Rpta. 01
16. La desventaja principal del esquema por segmentación con paginación por demanda es la carga general requerida para las tablas adicionales y el tiempo necesario para referir las tablas de segmento y de pagina Rpta. 02
17. El concepto de segmentación se basa en la práctica común entre los programadores de estructurar sus programas en módulos : agrupamientos lógicos de código Rpta. 03
18. La implementación exitosa de este esquema se debe al uso de dispositivos de almacenamiento de acceso directo de alta velocidad , que pueda trabajar directamente con el CPU. Rpta. 04
19. La segmentación permite “compartir” archivos entre los usuarios Rpta. 05
20. FIFO se encarga de eliminar las páginas que han estado en memoria mas tiempo Rpta. 06
21. LRU se encarga de cambiar las páginas que recientemente de han usado menos Rpta. 07
22. Una interrupción de página es cuando el programa principal llama a una pagina que no esta todavía en memoria Rpta. 08