Administración de Memoria

Slides:



Advertisements
Presentaciones similares
IMPLEMENTACION CONTIGUA Y NO CONTIGUA
Advertisements

Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Almacenamiento del sistema de archivos La gestión de archivos es uno de los componentes mas visibles de un sistema operativo. Las computadores pueden almacenar.
GESTION DE MEMORIA.
El tamaño asignado para cada partición es el mismo. Cada partición, será ocupada por un proceso de menor o igual tamaño. El programador debe diseñar el.
III - Gestión de memoria
Administración de memoria
Sistema Operativo.
Administración de Memoria
Administración de Memoria Virtual
Administración Memoria
Sistemas Operativos Gestión de Memoria.
Teoría de Sistemas Operativos Memoria
SISTEMAS OPERATIVOS GESTION DE MEMORIA INTEGRANTES Lizeth Chandi
GESTION DE DISPOSITIVOS
III - Gestión de memoria
3.4.- Administración de Memoria Virtual.
Organización de la Memoria.
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Modelo de procesos de dos estados
PROGRAMACION DE ESTRUCTURAS DE DATOS
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Implementación de archivos
MEMORIA VIRTUAL PAGINACIÓN
Windows XP sp3.
Teoría de lenguajes y compiladores
ADMINISTRACIÓN DE MEMORIA
Robiro A. Asuaje L.23/08/20141 Organización de la Memoria SISTEMAS OPERATIVOS. Universidad Centro-Occidental “ Lisandro Alvarado ” Decanato de Ciencias.
Almacenamiento y Recuperación de la Información 2do Semestre 2005 Wenceslao Palma M.
Sistemas Operativos: El Libro Azul
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Nombre, Alcance y Asociaciones (Bindings). Agenda Definición Nombre y Bindings Binding Time Importancia del Binding Time Eventos relacionados a la Asociación.
Tema 10: Gestión de Memoria
Administración de memoria
UNIVERSIDAD ALAS PERUANAS FACULTAD DE INGENIERIAS Y ARQUITECTURA FACULTAD DE INGENIERIAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERIAS DE SISTEMAS.
Gestor de memoria.
PAGINACIÓN Y SEGMENTACIÓN
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
Sebastián Sánchez Prieto
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
Clase 10: Estructuras de datos y arreglos.
Administración de Memoria Memoria Virtual
Administración de la memoria
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
Aplicación de estructuras de datos
Capítulo 7 Gestión de memoria.
Administración de Memoria no contigua
Tema VII Memoria Virtual.
Tema 6. Administración de memoria
Gestión de Memoria.
Teoría de Sistemas Operativos Administración de Archivos.
Punteros Recomendado: 1. Nivelación Funciones
Gestión de Memoria.
Unidad 2 – Gestión de Procesos
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
3.2.1 Administración de almacenamiento
Gestión de memoria Rina Arauz.
M.C. Meliza Contreras González
MEMORIA DINÁMICA.
Gestión de Memoria – Parte 2
Arquitectura y Sistemas Operativos Gestión de Memoria Parte 1 1 Gestión de Memoria – Parte 1 Agenda Parte 1 –RequisitosRequisitos –EvoluciónEvolución –Carga.
Administración de Memoria Conceptos Swapping Asignación Continua Paginación Segmentación Segmentación con Paginación.
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
1 Tema 10: Administración de la Memoria Sistemas Operativos (Tema 13 en apuntes prof. Rovayo)
G ESTIÓN DE LA MEMORIA Paginación y segmentación.
Sistemas de archivos. Sistemas de archivos 2 Objetivo del SdA  Ocultar al usuario los detalles relativos al almacenamiento de información en dispositivos.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

Administración de Memoria Capítulo 5 (Milenkovic)‏

Memoria Uno de los principales recursos en un sistema de multiprogramación. Capacidad finita. Ningún proceso puede ser activado antes que le sea asignada una cierta cantidad de memoria.

Gestor de memoria Se ocupa principalmente de asignar memoria. Satisface dos necesidades conflictivas: Separación de espacios de direcciones. Compartición de memoria. Dos formas de gestionar: Asignación contigua. Asignación no contigua.

Asignación contigua Cada objeto lógico es colocado en un conjunto de posiciones de memoria con direcciones estrictamente consecutivas. Se utilizan particiones: Asignar a los procesos particiones libres. Cuando el proceso termina, su partición se libera.

Particiones Pueden ser: Particiones estáticas: Particiones dinámicas: Estáticas: tamaño fijo. Dinámicas: tamaño variable. Particiones estáticas: Fragmentación interna. Particiones dinámicas: Fragmentación externa.

Manejo de particiones La partición debe ser lo suficientemente grande para contener al proceso. El SO debe llevar la cuenta de los estados: Libre. En uso. Tabla de descripción de particiones.

Asignación de particiones Cuando un proceso va a ser creado, el sistema operativo intenta asignarle una partición libre de tamaño suficiente. Marca el estado de la partición como ASIGNADO. Cuando un proceso termina, es necesario cambiar el estado a LIBRE. Es posible guardar la partición en el PCB o el pid en la TDP.

Asignación de Particiones 2 problemas: Estrategia de asignación de partición: como seleccionar una partición específica. No hay ninguna partición adecuada para asignación.

No hay una partición adecuada Todas las particiones están asignadas. Algunas particiones están libres, pero ninguna es lo suficientemente grande. Mantener en estado nuevo.

Reubicación Los procesos se cargan en posiciones de memoria arbitrarias. Los programas deben ser capaces de ejecutarse sin importar su dirección. Direcciones virtuales: Percibidas por el programador. Direcciones fisicas: Posiciones reales en la memoria.

Reubicación dinámica La correspondencia entre direcciones virtuales y direcciones físicas se efectúa en tiempo de ejecución. Se asume que la posición inicial es la dirección virtual 0. Es común implementarlo por medio de registros base especializados.

Reubicación dinámica cont. El registro base se inicializa con la dirección física de carga inicial. Tabla de descripción de particiones. Cada referencia a memoria se traduce a una dirección física mediante: Registro base + dirección virtual

Asignación en particiones dinámicas Definir las particiones de acuerdo con los requisitos de cada proceso. Tamaño y número de particiones no están limitados.

Asignación en particiones dinámicas Modulo de gestión de memoria intenta crear una partición adecuada. Localizar un área libre adecuada. Cada partición está definida por su dirección base y tamaño.

Ejemplo Suponga que se requiere cargar un proceso P de tamaño P_tamaño.

Buscar un área libre L tal que L_TAMAÑO >= P_TAMAÑO P_base=L_base, L_base=P_base+P_tamaño, L_tamaño=L_tamaño-P_tamaño

Representación de las particiones Dos posibilidades: Milenkovic: Se usa una TDP y una lista de memoria libre. Dos estructuras para representar lo mismo. Al inicio la memoria libre está representada por un solo bloque contiguo.

Representación de las particiones cont. Clase: Se utiliza una lista ordenada para representar las particiones. Una sola estructura de datos. Las particiones se pueden encontrar en estado libre o asignado. El PCB contiene un puntero al nodo de la partición que le corresponde. El nodo (partición) tiene un campo que indica el pid del proceso dueño.

Búsqueda de un área libre adecuada Los algoritmos más habituales para selección de un área libre son: Primer ajuste Siguiente ajuste. Mejor ajuste Peor ajuste

Primer ajuste y siguiente ajuste La primera partición L, con L_tamaño>=P_tamaño se escoge. En siguiente ajuste, se reanuda la búsqueda desde el punto anterior. No busca desde el principio. Evita que los bloques pequeños se acumulen al comienzo de la lista.

Mejor ajuste y peor ajuste Asigna el bloque más pequeño que pueda almacenar a P. Peor ajuste: Asigna el bloque más grande que pueda almacenar a P.

¿Cuál de los 3 es mejor? Velocidad. Desperdicio de memoria.

Liberación de particiones Localizar la entrada del proceso en la TDP. Si el proceso va a ser retirado de memoria, copiar su imagen al archivo de intercambio. Indicar en el PCB que el proceso no tiene memoria (su puntero a nulo). Poner la partición en estado libre y combinarla con áreas libres contiguas.

Juntar huecos Se tiene un conjunto de particiones libres contiguas: Hacerlas un solo bloque libre. De otra manera se puede reportar que no hay una partición lo suficientemente grande.

Compactación Las áreas de memoria libre están entremezcladas con las particiones asignadas. Fragmentación externa. Es común tener esta situación en sistemas con asignación dinámica. Los tiempos de vida de los procesos residentes son diferentes.

Compactación cont. Orden de las devoluciones de memoria es diferente del orden de las asignaciones. Juntar huecos retrasa el problema en vez de evitarlo. Si la memoria está extremadamente fragmentada: Reubicar algunas o todas las particiones en uso a un extremo de la memoria. Una única área libre grande.

¿Cuándo realizar compactación? Siempre que sea posible: Al iniciar o terminar un proceso. Penaliza el rendimiento. Sólo cuando es necesario: No existe una partición adecuada y la Memoria total libre >= tamaño de proceso a cargar. En caso contrario es inútil hacer compactación.