1 Tema 10: Administración de la Memoria Sistemas Operativos (Tema 13 en apuntes prof. Rovayo)

Slides:



Advertisements
Presentaciones similares
GESTION DE MEMORIA.
Advertisements

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.
Administración de memoria
Sistema Operativo.
Sistemas Operativos Gestión de Memoria.
Teoría de Sistemas Operativos Memoria
SISTEMAS OPERATIVOS GESTION DE MEMORIA INTEGRANTES Lizeth Chandi
III - Gestión de memoria
3.4.- Administración de Memoria Virtual.
Organización de la Memoria.
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Ana Lucia Farfan Estrada. Angela Aybar Rengifo.
Modelo de procesos de dos estados
Funcionamiento, programación
PROGRAMACION DE ESTRUCTURAS DE DATOS
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.
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.
Sistemas Operativos: El Libro Azul
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
Arquitectura del Computador
HILOS Y COMUNICACIÓN ENTRE PROCESOS
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
Estructura y Tecnología de Ordenadores Noviembre 2004.
Tecnología de la información Unidad: 3 El software Profesor: Fernando J. Martini.
Estructura de Datos II Equipo 4 Equipo 7 Acosta Montiel Miguel A.
Administración de Memoria Memoria Virtual
Administración de la memoria
Las personas se enfrentaron por primera vez con programas que eran demasiados grandes para caber en la memoria disponible. La solucion fue dividir el programa.
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
Soporte HW para Administración de Memoria Cecilia Hernández
Administración de Memoria
Aplicación de estructuras de datos
Introducción a los Sistemas Operativos
Capítulo 7 Gestión de memoria.
Administración de Memoria no contigua
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Tema 6. Administración de memoria
APRENDIZ: SANDRA L. CAICEDO C. ORDEN: 20194
Memoria virtual.
Gestión de Memoria.
Teoría de Sistemas Operativos Administración de Archivos.
Estructura de los Sistemas Operativos
Gestión de Memoria.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Unidad 2 – Gestión de Procesos
GESTION DE ALMACENAMIENTO
Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel Astudillo Muñoz
Modos de direccionamiento
3.2.1 Administración de almacenamiento
Gestión de memoria Rina Arauz.

MEMORIA DINÁMICA.
Gestión de Memoria – Parte 2
Tema 11: Segmentación y Paginación de la Memoria
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.
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.
Tema 10: Administración de la Memoria
Transcripción de la presentación:

1 Tema 10: Administración de la Memoria Sistemas Operativos (Tema 13 en apuntes prof. Rovayo)

2 Índice: 1.Sistemas Monoprogramados 2.Sistemas Multiprogramados con Particiones Fijas 3.Sistemas Multiprogramados con Particiones Variables 2 Tema 10: Administración de la Memoria

3 Índice: 1.Sistemas Monoprogramados 2.Sistemas Multiprogramados con Particiones Fijas 3.Sistemas Multiprogramados con Particiones Variables 3 Tema 10: Administración de la Memoria

4 1. Sistemas Monoprogramados Tema 10: Administración de la Memoria  Importante: sólo trataremos la asignación de memoria a procesos  Gestión de memoria interna de los procesos: mismos métodos que en particiones variables  Sistemas monoprogramados: memoria dividida en:  Memoria del sistema  Memoria del proceso 00…0 FF…F Proceso SO (RAM) 00…0 Proceso SO (RAM) FF…F 00…0 FF…F Proceso SO (ROM) Vars. Sistema

5 1. Sistemas Monoprogramados Tema 10: Administración de la Memoria  Problemas a resolver: 1.Gestión de la memoria  ¿Qué direcciones están libres u ocupadas? 2.Protección  Proteger al Sistema Operativo frente al proceso

6 1. Sistemas Monoprogramados Tema 10: Administración de la Memoria  Problemas a resolver: 1.Gestión de la memoria  ¿Qué direcciones están libres u ocupadas? 2.Protección  Proteger al Sistema Operativo frente al proceso

7 1.1 Gestión de la memoria Tema 10: Administración de la Memoria  Trivial: toda la memoria no ocupada por SO está libre para el proceso  Ante un proceso: ¿Cabe?  Sí: se carga y se ejecuta  No: se rechaza  Posibilidades para programas más grandes que memoria disponible:  Solapamientos  Ejecución en cadena

8 1.1 Gestión de la memoria Tema 10: Administración de la Memoria Solapamientos  Programas divididos en:  Parte fija (stub), siempre cargada en memoria  Fragmentos (overlays o solapamientos) que se cargan cuando son necesarios Programa Stub Solap. 1 Solap. 2 Solap. 3 Solap. 4 Solap. 1 Stub 3 Solap. 3.1 Solap. 3.2

9 1.1 Gestión de la memoria Tema 10: Administración de la Memoria Ejecución en cadena  Programas se dividen en programas independientes  Cada programa cuando termina ejecuta el siguiente Programa Programa 1 Programa 2 Programa 3 Programa 4 Programa 5 Programa 6

10 1. Sistemas Monoprogramados Tema 10: Administración de la Memoria  Problemas a resolver: 1.Gestión de la memoria  ¿Qué direcciones están libres u ocupadas? 2.Protección  Proteger al Sistema Operativo frente al proceso Bits de protección Registros valla

Protección Tema 10: Administración de la Memoria Bits de protección  En una memoria separada:  Un bit asociado a cada palabra de memoria principal  Si bit de protección = 1 → posición pertenece a SO  Si bit de protección = 0 → posición pertenece a proceso  Circuitería externa que por cada acceso:  Comprueba si desde posición de proceso se accede a SO  En dicho caso: genera excepción (fallo de protección)  Posible mejora: permitir lecturas o ejecución 00…0 FF…F 01000… … proc. SO proc.

Protección Tema 10: Administración de la Memoria Bits de Protección  Ventajas:  Gran flexibilidad  Inconvenientes:  Coste de la memoria y de la circuitería externa

Protección Tema 10: Administración de la Memoria Registros valla  Aplicable si memoria dividida en sólo dos áreas (una para SO y otra para proceso)  Hardware:  Registro que contiene dirección límite de SO  Circuitería que compara respecto a registro valla las direcciones de las que se leen las direcciones con las direcciones a las que acceden  Si instrucción leída en el lado de proceso accede a lado de SO del registro valla → excepción 00…0 FF…F Proceso SO 1F00

Protección Tema 10: Administración de la Memoria Registros Valla  Ventajas:  Hardware mucho más simple  Inconvenientes:  Menor flexibilidad: sólo dos áreas de memoria

15 Índice: 1.Sistemas Monoprogramados 2.Sistemas Multiprogramados con Particiones Fijas 3.Sistemas Multiprogramados con Particiones Variables 15 Tema 10: Administración de la Memoria

16 2. Sist. Multiprog. con Particiones Fijas Tema 10: Administración de la Memoria  Memoria dividida en particiones cuyo tamaño se establece:  Al compilar el sistema operativo  Al instalar el sistema operativo  Al arrancar el sistema operativo  A cada proceso se le asigna una partición 00…0 FF…F Proceso 1 SO Proceso 2 Proceso 3

17 Tema 10: Administración de la Memoria 2. Sist. Multiprog. con Particiones Fijas  Problemas a resolver: 1.Gestión de la memoria  ¿Qué particiones hay? ¿dónde empiezan y acaban?  ¿Cuáles están libres?  ¿Por qué procesos están ocupadas las que no están libres? 2.Criterio de asignación de procesos a particiones 3.Colocación de los procesos en memoria  Procesos capaces de ejecutarse en cualquier partición 4.Protección  Proteger a SO frente a procesos  Proteger a procesos entre sí  Problemas a resolver: 1.Gestión de la memoria  ¿Qué direcciones están libres u ocupadas? 2.Protección  Proteger al Sistema Operativo frente al proceso

18 Tema 10: Administración de la Memoria 2. Sist. Multiprog. con Particiones Fijas  Problemas a resolver: 1.Gestión de la memoria  ¿Qué particiones hay? ¿dónde empiezan y acaban?  ¿Cuáles están libres?  ¿Por qué procesos están ocupadas las que no están libres? 2.Criterio de asignación de procesos a particiones 3.Colocación de los procesos en memoria  Procesos capaces de ejecutarse en cualquier partición 4.Protección  Proteger a SO frente a procesos  Proteger a procesos entre sí

19 Tema 10: Administración de la Memoria 2.1 Gestión de la memoria  Tabla de particiones 00…0 Proceso 1 SO Proceso 2 Proceso 3 FF…F iniciotamañoestadopid T0T0 ocupada- T1T1 pid 1 T2T2 libre- T3T3 ocupadapid 2 T4T4 ocupadapid

20 Tema 10: Administración de la Memoria 2. Sist. Multiprog. con Particiones Fijas  Problemas a resolver: 1.Gestión de la memoria  ¿Qué particiones hay? ¿dónde empiezan y acaban?  ¿Cuáles están libres?  ¿Por qué procesos están ocupadas las que no están libres? 2.Criterio de asignación de procesos a particiones 3.Colocación de los procesos en memoria  Procesos capaces de ejecutarse en cualquier partición 4.Protección  Proteger a SO frente a procesos  Proteger a procesos entre sí

21 Tema 10: Administración de la Memoria 2.2 Criterios de asignación  Tipos de criterios:  Estáticos: cada partición tiene su cola de procesos en espera  Dinámicos: una única cola para todas las particiones 00…0 P1 SO P2 P3 FF…F P4P5 P6

22 Tema 10: Administración de la Memoria 2.2 Criterios de asignación  Criterios:  Mejor ajuste estático  Primer ajuste  Mejor ajuste dinámico  Mayor que quepa, con aplazamiento limitado  Subparticiones

23 Tema 10: Administración de la Memoria 2.2 Criterios de asignación Mejor ajuste estático  Se adjudica cada proceso a la menor partición en que quepa  Objetivo: minimizar espacio desperdiciado  Ventajas:  Se garantiza que siempre que se ejecuta un proceso, desperdicio es mínimo  Inconvenientes:  Pueden haber procesos esperando para ejecutarse mientras hay particiones libres en las que podrían hacerlo

24 Tema 10: Administración de la Memoria 2.2 Criterios de asignación Primer ajuste  Cuando una partición queda libre → se le asigna primer proceso que quepa  Objetivo: inmediatez en la selección  Ventajas:  Rapidez  Inconvenientes:  Posible mal aprovechamiento del espacio  Puede perjudicar a procesos grandes

25 Tema 10: Administración de la Memoria 2.2 Criterios de asignación Mejor ajuste dinámico  Cuando una partición queda libre → se le asigna proceso más grande que quepa  Objetivo: minimizar espacio desperdiciado, pero evitando obligar a esperar a los procesos si hay particiones libres útiles  Ventajas:  Buen aprovechamiento de la memoria  Evita esperas a los procesos  Inconvenientes:  Hay que recorrer la lista completa  Puede perjudicar a procesos que más difieren del tamaño de las particiones

26 Tema 10: Administración de la Memoria 2.2 Criterios de asignación Mayor que quepa con aplazamiento limitado  Mismo método que anterior, pero…  Se cuenta el nº de veces que un proceso se ve perjudicado  Cuando se llega a un nº de veces preestablecido: primera partición en la que quepa será para él.  Objetivo: paliar principal inconveniente método anterior  Ventajas:  Mismas que método anterior  Inconvenientes:  Hay que recorrer la lista completa

27 Tema 10: Administración de la Memoria 2.2 Criterios de asignación Subparticiones  Idea a aplicar junto anteriores criterios  Tipo especial de particiones: particiones madre  Una partición madre se puede dividir en múltiples varias particiones menores. SO P4 P1 P2 P3 P1 P2 P3

28 Tema 10: Administración de la Memoria 2. Sist. Multiprog. con Particiones Fijas  Problemas a resolver: 1.Gestión de la memoria  ¿Qué particiones hay? ¿dónde empiezan y acaban?  ¿Cuáles están libres?  ¿Por qué procesos están ocupadas las que no están libres? 2.Criterio de asignación de procesos a particiones 3.Colocación de los procesos en memoria  Procesos capaces de ejecutarse en cualquier partición 4.Protección  Proteger a SO frente a procesos  Proteger a procesos entre sí

29 Tema 10: Administración de la Memoria 2.3 Colocación de los procesos en memoria  Cuando montador de enlaces genera un ejecutable, no se conoce a priori en qué dirección se va cargar  Problema: programa contiene referencias a memoria: … variable=0; rutina(); … MOVE F708H, 0 CALL E000H …  Si proceso no se carga en direcciones previstas: ¡catástrofe!

30 Tema 10: Administración de la Memoria 2.3 Colocación de los procesos en memoria  Métodos:  Montaje absoluto  Carga con reubicación  Reubicación dinámica  Reubicación dinámica parcial  Espacios separados de memoria

31 Tema 10: Administración de la Memoria 2.3 Colocación de los procesos en memoria Montaje absoluto  Montador de enlace genera un ejecutable imagen de memoria  Es necesario conocer de antemano la dirección en que se cargará el ejecutable SO 00…0 FF…F 7000 … MOVE 7800H, 0 CALL 8000H … 7000 … MOVE 7800H, 0 CALL 8000H …  Inconvenientes:  Sólo es viable con criterios estáticos en que se conozca la dirección de carga al crear el ejecutable

32 Tema 10: Administración de la Memoria 2.3 Colocación de los procesos en memoria Carga con reubicación  Montador de enlace genera un ejecutable en el que:  Las referencias a memoria suponen carga en dirección 0  Hay información adicional para el cargador indicando cuáles son dichas referencias.  Durante la carga el cargador suma a dichas referencias la dirección inicial. SO 00…0 FF…F 7000 … MOVE 0800H, 0 CALL 1000H … 0000 … MOVE 7800H, 0 CALL 8000H …  Inconvenientes:  Una vez cargado el proceso no se puede reubicar en otra partición

33 Tema 10: Administración de la Memoria 2.3 Colocación de los procesos en memoria Reubicación Dinámica  Montador de enlace genera un ejecutable con todas las direcciones referidas a partir de 0  El hardware tiene:  Un registro en el que se escribe la dirección base de la partición del proceso activo  Un sumador que suma dicha base a las direcciones generadas por el programa SO 00…0 FF…F 7000 … MOVE 0800H, 0 CALL 1000H … 0000 … MOVE 0800H, 0 CALL 1000H … A000 Base 7000 A000  Dos tipos de direcciones:  Lógicas (las que el proceso ve)  Físicas (las que salen al bus)

34 Tema 10: Administración de la Memoria 2.3 Colocación de los procesos en memoria Reubicación Dinámica Parcial  Inconveniente reubicación dinámica: ¿dónde está el Sistema Operativo?  Reubicación dinámica parcial:  Añade un registro límite al hardware SO 00…0 FF…F BASE 0000 LIMITE BASE TAM LÍMITE SO 00…0 LÍMITE LÍMITE+1

35 Tema 10: Administración de la Memoria 2.3 Colocación de los procesos en memoria Reubicación Dinámica Parcial SO 00…0 LIMITE BASE SO 00…0 LÍMITE LÍMITE+1 DIR. LÓGICA LIMITE ¿D.L. > LIMITE? DIR. FISICA= D.L. – LIMITE + BASE MEMORIA NO SI DIR FISICA= D.L.

36 Tema 10: Administración de la Memoria 2.3 Colocación de los procesos en memoria Espacios de direcciones separados  Dos tipos de direcciones, diferenciadas por bit de mayor peso de dirección:  0: Dirección de sistema operativo  1: Dirección de proceso  El hardware tiene:  Un registro con la dirección base del proceso activo  Una circuitería sumadora condicional: …1 Dirección Lógica: BASE X + MEMORIA

37 Tema 10: Administración de la Memoria 2. Sist. Multiprog. con Particiones Fijas  Problemas a resolver: 1.Gestión de la memoria  ¿Qué particiones hay? ¿dónde empiezan y acaban?  ¿Cuáles están libres?  ¿Por qué procesos están ocupadas las que no están libres? 2.Criterio de asignación de procesos a particiones 3.Colocación de los procesos en memoria  Procesos capaces de ejecutarse en cualquier partición 4.Protección  Proteger a SO frente a procesos  Proteger a procesos entre sí

38 Tema 10: Administración de la Memoria 2.4 Protección  Es necesario proteger:  Sistema operativo frente a procesos  Procesos entre sí  Métodos:  Ampliación bits de protección  Ampliación registros valla

39 Tema 10: Administración de la Memoria 2.4 Protección Ampliación bits de protección  Ejemplo: IBM/360  Cada bloque de memoria de 2K tiene asociado un registro de protección de 4 bits  En CPU se tiene el registro de autorización actual de 4 bits (en el PSW)  Sólo sistema operativo puede modificar registro de autorización  Si en un acceso el registro de autorización no coincide con registro de protección → excepción  Si en registro de autorización valor 0000: se puede acceder a cualquier dirección de memoria

40 Tema 10: Administración de la Memoria 2.4 Protección Ampliación bits de protección  Aplicación: 00…0 FF…F … … Reg. Autorización: SO P1 P

41 Tema 10: Administración de la Memoria 2.4 Protección Ampliación de los registros valla  En lugar de un registro límite, dos:  Límite inferior de la partición  Límite superior de la partición DIRECCIÓN LÍMITE INFERIOR ¿DIR. < LIMITE? MEMORIA NO SI LÍMITE SUPERIOR ¿DIR. > LIMITE? NO SI ERROR

42 Tema 10: Administración de la Memoria 2.4 Protección Ampliación de los registros valla  Si se usa reubicación dinámica:  Añadir al mismo dispositivo de reubicación un registro con el tamaño de la partición

43 Índice: 1.Sistemas Monoprogramados 2.Sistemas Multiprogramados con Particiones Fijas 3.Sistemas Multiprogramados con Particiones Variables 43 Tema 10: Administración de la Memoria

44 Tema 10: Administración de la Memoria 3. Sist. Multiprog. con Particiones Variables  La memoria se particiona y asigna en trozos del tamaño requerido por los procesos  Problema: ¡fragmentación! 00…0 FF…F SO P1 P2 P3  Compactación:  Requiere mecanismo de reubicación dinámica  Costosa en tiempo

45 Tema 10: Administración de la Memoria 3. Sist. Multiprog. con Particiones Variables  Problemas a resolver: 1.Gestión de la memoria  ¿Qué posiciones están libres? ¿y cuáles ocupadas?  Las ocupadas, ¿a qué procesos están asignadas? 2.Criterio de asignación de memoria a procesos 3.Colocación de los procesos en memoria  Procesos capaces de ejecutarse en cualquier partición 4.Protección  Proteger a SO frente a procesos  Proteger a procesos entre sí

46 Tema 10: Administración de la Memoria 3. Sist. Multiprog. con Particiones Variables  Problemas a resolver: 1.Gestión de la memoria  ¿Qué posiciones están libres? ¿y cuáles ocupadas?  Las ocupadas, ¿a qué procesos están asignadas? 2.Criterio de asignación de memoria a procesos 3.Colocación de los procesos en memoria  Procesos capaces de ejecutarse en cualquier partición 4.Protección  Proteger a SO frente a procesos  Proteger a procesos entre sí

47 Tema 10: Administración de la Memoria 3.1 Gestión de la memoria  Gestión más complicada que con particiones fijas  Memoria se gestiona en unidades de asignación (ticks de memoria)  16, 32, 64 bytes…  Métodos:  Mapas de bits  Listas de control

48 Tema 10: Administración de la Memoria 3.1 Gestión de la memoria Mapas de bits  A cada tick del espacio a gestionar, se asocia un bit:  1 = tick ocupado  0 = tick libre 00…0 FF…F SO P3 P1 111….100…011…100….0

49 Tema 10: Administración de la Memoria 3.1 Gestión de la memoria Listas de control  Por cada bloque libre u ocupado, un nodo con:  Dirección inicial del bloque  Tamaño (en ticks, normalmente)  Estado (libre u ocupado)  Proceso al que está asignado  Lista ordenada por dirección 00…0 FF…F SO P2 dirección: tamaño: T1 estado: LIBRE proceso: - dirección: tamaño: T2 estado: OCUPADO proceso: P2 dirección: tamaño: T3 estado: LIBRE proceso: - dirección: tamaño: T2 estado: LIBRE proceso: - dirección: tamaño: T1+T2+T3 estado: LIBRE proceso: -

50 Tema 10: Administración de la Memoria 3.1 Gestión de la memoria Listas de control vs. Mapas de bits  Listas de control:  Más fácil buscar un hueco de un tamaño dado  Permite gestionar más información (proceso asignado)  Más complicado liberar un bloque (fusión)  Eficiencia espacio y tiempo: depende de fragmentación  Mapas de bits:  Algoritmos complicados  Eficiencia en espacio ocupado: constante  Eficiencia en tiempo: depende de fragmentación  Sólo almacena información sobre el estado de cada tick.

51 Tema 10: Administración de la Memoria 3. Sist. Multiprog. con Particiones Variables  Problemas a resolver: 1.Gestión de la memoria  ¿Qué posiciones están libres? ¿y cuáles ocupadas?  Las ocupadas, ¿a qué procesos están asignadas? 2.Criterio de asignación de memoria a procesos 3.Colocación de los procesos en memoria  Procesos capaces de ejecutarse en cualquier partición 4.Protección  Proteger a SO frente a procesos  Proteger a procesos entre sí

52 Tema 10: Administración de la Memoria 3.2 Criterios de asignación  Deseable:  Eficiencia  Minimizar la fragmentación  Criterios:  Primer ajuste  Siguiente ajuste  Mejor ajuste  Peor ajuste  Ajuste rápido Método de los compañeros

53 Tema 10: Administración de la Memoria 3.2 Criterios de asignación Primer ajuste  Se asigna primer bloque libre con el que se pueda satisfacer la petición  Ventajas:  Eficiente: no es necesario explorar mapa/lista completa  Inconvenientes:  No tiene en cuenta la fragmentación producida  Eficiencia disminuye con el tiempo Posible solución: añadir un enlace entre bloques libres

54 Tema 10: Administración de la Memoria 3.2 Criterios de asignación Siguiente ajuste  Se asigna primer bloque libre tras el último asignado, con el que se pueda satisfacer la petición.  Cuando se llega al final de mapa/lista, se sigue por principio  Ventajas:  Eficiente: no es necesario explorar mapa/lista completa  Ya no se degrada con el tiempo  Inconvenientes:  Sigue sin tener en cuenta la fragmentación

55 Tema 10: Administración de la Memoria 3.2 Criterios de asignación Mejor ajuste  Se asigna el bloque más pequeño con el que se pueda satisfacer la petición  Si hubiese algún bloque del mismo tamaño, sería el elegido.  Inconvenientes:  Hay que procesar toda la lista/mapa Posible solución: un enlace adicional ordenado por tamaño  ¿Realmente funciona? ¡Tiende a dejar fragmentos muy pequeños!

56 Tema 10: Administración de la Memoria 3.2 Criterios de asignación Peor ajuste  Se asigna el mayor bloque que haya (si se puede satisfacer la petición)  Objetivo: dejar residuos lo más grandes (aprovechables) posible.  Inconvenientes:  Hay que procesar toda la lista/mapa (misma posible solución)  Algunas secuencias de peticiones que se pueden satisfacer por mejor ajuste, no se pueden satisfacer por peor ajuste

57 Tema 10: Administración de la Memoria 3.2 Criterios de asignación Ajuste rápido  Varias listas de bloques libres según rango de tamaño  Asignación:  se busca en lista correspondiente por tamaño de petición  Si no se encuentra bloque para sastifacer petición en esa lista: se recurre a la(s) siguiente(s) 0 < t < ≤ t < 20 … t > 200  Liberación:  ¿Y si hay que fusionar? OCUPADO

58 Tema 10: Administración de la Memoria 3.2 Criterios de asignación Método de los compañeros  Los bloques son de tamaño potencia de 2  Asignación: igual que método anterior, pero se asignan bloques completos 1 2k2k … 2 k+1 …

59 Tema 10: Administración de la Memoria 3.2 Criterios de asignación Método de los compañeros  Liberación:  Cada bloque sólo se puede fusionar con su compañero  bloques compañeros de tamaño 2 K : sus direcciones tiene la siguiente estructura:  Para encontrar la dirección del compañero: se hace o- exclusivo con:  Se busca compañero en lista correspondiente, y se fusiona, repitiéndose el proceso para el posible compañero del bloque obtenido. 0…00 k-1 0 k x…x n k+1 0 0…001x…x 0…00 k-1 1 k 0…0 n k+1 0

60 Tema 10: Administración de la Memoria 3.2 Criterios de asignación Método de los compañeros  Inconveniente:  ¡Desperdicio de memoria de hasta casi el 50%!

61