Descargar

Gestión de Memoria (Presentación Powerpoint) (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red Vista Esquemática del Intercambio

edu.red Asignación de Espacio Contiguo

edu.red Asignación de Espacio Contiguo La memoria principal se encuentra dividida en dos partes: SO residente (kernel), normalmente en posiciones bajas de la memoria junto al vector de interrupciones Zona para los procesos de usuario, normalmente en posiciones altas de la memoria La zona para procesos de usuarios se encuentra dividida a su vez en varias particiones que se asignarán a los procesos Particionamiento estático: las particiones se establecen en el momento de arranque del SO y permanecen fijas durante todo el tiempo Particionamiento dinámico: las particiones cambian de acuerdo a los requisitos de los procesos

edu.red Asignación Estática de Memoria Particionada Asignación estática con múltiples particiones Hueco – bloque de memoria disponible; hay huecos de diversos tamaños repartidos por toda la memoria Cuando llega un proceso se le asigna un hueco lo suficientemente grande para que quepa El SO mantiene información sobre: a) particiones asignadas b) particiones libres (huecos) (Gp:) SO (Gp:) P5 (Gp:) P8 (Gp:) P2

(Gp:) SO (Gp:) P5 (Gp:) P2

(Gp:) SO (Gp:) P5 (Gp:) P2 (Gp:) P9

P8 sale P9 entra P10 intenta entrar (Gp:) SO (Gp:) P5 (Gp:) P2 (Gp:) P9

edu.red Asignación Estática de Memoria Particionada Primer ajuste (First-fit): Se asigna el primer hueco lo suficientemente grande Mejor ajuste (Best-fit): Se asigna el hueco más pequeño que es lo suficientemente grande; hay que buscar en la lista entera de huecos (salvo si está ordenada por tamaño) Desperdicia el menor espacio posible Hay varias formas de satisfacer una solicitud de tamaño n partiendo de una lista de huecos

edu.red Protección con Asignación Estática Los registros de reubicación se usan para proteger los procesos de usuario unos de otros y del código y datos del SO El registro base contiene la dirección física más baja a la que puede acceder el proceso El registro límite contiene el tamaño de la zona de memoria accesible por el proceso – las direcciones lógicas deben ser menores que el registro límite La compartición de memoria entre procesos no es sencilla Los procesos no pueden compartir memoria directamente debido a la protección Una solución consiste en implicar al SO en la compartición de memoria

edu.red Protección de Direcciones con Registros Base y Límite

edu.red Asignación Dinámica de Memoria Particionada Ahora el tamaño y ubicación de las particiones no es fijo sino que cambia a lo largo del tiempo Cuando llega un proceso se le asigna memoria de un hueco lo suficientemente grande para que quepa Con el espacio sobrante del hueco se crea una nueva partición libre (hueco) En este tipo de asignación las consideraciones de protección son las mismas que en la asignación estática La compartición se puede conseguir mediante solapamiento de particiones (Gp:) SO (Gp:) P5 (Gp:) P8 (Gp:) P2

(Gp:) SO (Gp:) P5 (Gp:) P2

(Gp:) SO (Gp:) P5 (Gp:) P2 (Gp:) P9

P8 sale P9 entra P10 entra (Gp:) SO (Gp:) P5 (Gp:) P9 (Gp:) P2 (Gp:) P10

edu.red Asignación Dinámica de Memoria Primer ajuste (First-fit): Se asigna el primer hueco lo suficientemente grande Mejor ajuste (Best-fit): Se asigna el hueco más pequeño que es lo suficientemente grande; hay que buscar en la lista entera de huecos (salvo si está ordenada por tamaño) Da lugar al hueco más pequeño Peor ajuste (Worst-fit): Se asigna el hueco más grande; hay que buscar en la lista completa de huecos (salvo si está ordenada por tamaño) Da lugar al hueco más grande Hay varias formas de satisfacer una solicitud de tamaño n partiendo de una lista de huecos Los métodos de primer y mejor ajuste son mejores que el peor ajuste en términos de velocidad y aprovechamiento de la memoria

edu.red Fragmentación Fragmentación Externa – hay suficiente memoria libre para satisfacer una petición, pero esa memoria no es contigua Fragmentación Interna – la memoria asignada puede ser ligeramente mayor que la solicitada; esta diferencia de tamaño se encuentra en la partición pero no es usada La fragmentación externa se puede reducir por medio de la compactación Mover las particiones de memoria asignadas para colocar toda la memoria libre en un bloque contiguo Es posible sólo si la vinculación es en tiempo de ejecución (reubicación dinámica) Hay problemas con la E/S Fijar la posición en memoria de los procesos que hacen E/S Hacer E/S sólo en buffers del SO

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente