Practico 7 - Ejercicio 6

Practico 7 - Ejercicio 6

de Carlos Santiago Marquez Fumero -
Número de respuestas: 1

Hola,

Se puede decir que la diferencia entre la fragmentacion externa e interna son lo mismo (huecos libres que al sumarlos pueden satifacer un requerimiento de memoria, pero al no estar contiguos se "pierden") pero que esta ultima se da a nivel de pagina?


Espero se entienda la pregunta.

Gracias, Santiago.

En respuesta a Carlos Santiago Marquez Fumero

Re: Practico 7 - Ejercicio 6

de Gustavo Brown -

Si te entendí bien, no.

Hay fragmentación externa cuando una solicitud de memoria no puede ser satisfecha porque no existe espacio contiguo solicitado, aunque si sumo los espacios libres teoricamente podria atender la solicitud. O sea, hay espacio libre suficiente pero éste no es contiguo.

Ejemplo, tengo la memoria de la siguiente manera:

(libre 100Kb)-ocupado-(libre 200Kb)-ocupado-(libre 100Kb)

y me llega una petición para 250Kb. Si bien el sistema cuenta con 400Kb libres, la solicitud no puede ser atendida porque no hay 250Kb contiguos libres .

Hay fragmentación interna cuando dada una solicitud de memoria el sistema le devuelve un bloque más grande que el solicitado. En este caso quien pidió el bloque no sabe que le asignaron más memoria y el que asignó el bloque no puede reutilizar el espacio sobrante.

El caso "de libro" es en la paginación. La memoria esta particionada en marcos de tamaño X. Una solicitud de memoria de Y bytes cuando Y módulod X es distinto de 0 va a resultar en fragmentación interna. Ejemplo más concreto: los marcos son de 4Kb y pido un bloque de 10Kb, el sistema me va a dar 3 marcos (12Kb en total) por lo tanto hay 2Kb de fragmentación interna en el último marco. Esos 2Kb en quien pidió la memoria no debería accederlos porque no los pidió y tampoco se los puedo dar a otra petición porque ya están asignados.

Saludos,
  Gustavo