MEMORIA ANUAL
2015
MEMORIA ANUAL 2015
1
2
YPFB ANDINA S.A.
MEMORIA ANUAL 2015
3
CONTENIDO -- Carta del Presidente Ejecutivo de YPFB -- Carta
Story Transcript
Gestión de Memoria
Gestión de Memoria Capítulo 7
Requisitos de Gestión de Memoria • Reubicación – Los programadores no saben dónde estará el programa en memoria cuando se ejecute – Mientras el programa se ejecuta, puede ser movido al disco y devuelto a memoria principal en una posición diferente (reubicado) – Se deben traducir las referencia a memoria del código a las direcciones físicas reales
• Dividir la memoria para alojar múltiples procesos • La memoria necesita ser asignada eficientemente para alojar tantos procesos como sea posible
Requisitos de Gestión de Memoria • Protección – Los procesos no deberían ser capaces de referenciar el espacio de memoria de otro procesos sin permiso – Es imposible comprobar las direcciones absolutas de los programas puesto que éstos pueden ser reubicados – Deben ser traducidas durante la ejecución
Requisitos de Gestión de Memoria • Compartición – Permitir a varios procesos acceder a la misma zona de memoria – Es mejor permitir a cada proceso (persona) acceso a la misma copia del programa que tener cada uno su copia individual
• El sistema operativo no puede anticipar todas las referencias de memoria que un programa puede generar
Requisitos de Gestión de Memoria • Organización Lógica – Los programas son escritos en módulos – Los módulos se pueden escribir y compilar por separado – A los módulos se les puede dar diferente grado de protección (sólo lectura, sólo ejecución) – Módulos compartidos
Requisitos de Gestión de Memoria • Organización física – La memoria disponible para un programa y sus datos puede ser insuficiente • El solapamiento permite asignar la misma zona de memoria a diferentes módulos
– El programador no sabe cuanto espacio habrá disponible
Particionamiento Fijo • Particiones del mismo tamaño – cualquier proceso de tamaño menor o igual al de una partición puede ser cargado en una partición disponible – si todas las particiones están ocupadas, el S.O. puede mover a disco un proceso de una partición – un programa puede no caber en una partición
Particionamiento Fijo • El uso de la memoria principal es ineficiente. Un programa, no importa como de pequeño sea, ocupa una partición entera. Esto se conoce como fragmentación interna.
• el programador debe diseñar el programa con overlays
Algoritmo de Ubicación con Particiones • Particiones del mismo tamaño – como todas las particiones tienen el mismo tamaño, no importa qué partición asignar
• Particiones de diferente tamaño – se puede asignar a cada proceso la partición más pequeña en la que cabe – cola para cada partición – los procesos se asignan de manera que se minimiza la memoria desperdiciada de una partición
Particionamiento Dinámico • El tamaño y el número de particiones es variable • Al proceso se le asignar exactamente la cantidad de memoria que necesita • Aparecen huecos en la memoria. Esto se conoce como fragmentación externa • Se debe realizar una compactación para desplazar a los procesos de forma que esté juntos y todo el espacio libre esté en un solo bloque
Efecto del Particionamiento Dinámico
Efecto del Particionamiento Dinámico
Particionamiento Dinámico Algoritmo de Ubicación • El sistema operativo debe decidir qué bloque libre asignar a un proceso • Algoritmo del mejor ajuste (best fit) – Elige el bloque que tiene el tamaño más cercano al solicitado – Peor rendimiento de todos – Como se busca el bloque más pequeño por proceso, se produce el menor volumen de fragmentación, pero hay que compactar más a menudo
Particionamiento Dinámico Algoritmo de Ubicación • Algoritmo del siguiente ajuste (Next-fit) – A menudo se asigna un bloque de memoria en la última parte de la memoria donde está el mayor bloque – El mayor bloque de memoria se parte en pequeños bloques – Se necesita compactar para obtener un bloque grande en la última zona final memoria
Particionamiento Dinámico Algoritmo de Ubicación • Algoritmo del primer ajuste (first fit) – Es el más rápido – Puede haber muchos procesos cargado en la zona inicial de la memoria, que debe ser examinada cuando se busca un bloque libre
Buddy System • La memoria disponible completa es tratada como un bloque individual de 2U • Si una petición de tamaño s es tal que 2U-1 < s