ADMINISTRACION DE MEMORIA

ASIGNACION DE MEMORIA

Contigua

No Conotigua

Particiones Fijas

Particiones Variables

Particion de igual tamaño

Paginación

Segmentación

Particion de distinto tamaño

Paginacióon +

Segmentación

Algoritmos y Técnicas de Administración de Memoria

Existen varios algoritmos y técnicas utilizadas para administrar la memoria de manera eficiente, entre los cuales se incluyen:

  • First-Fit(Primer Ajuste): Busca la primera partición que satisfaga los requisitos de memoria del proceso.

  • Best-Fit (Mejor Ajuste): Busca la partición más pequeña que sea lo suficientemente grande para alojar el proceso.

  • Worst-Fit(Peor Ajuste): Busca la partición más grande disponible y asigna el proceso a esa partición

Son algoritmos de asignación de memoria que determinan la mejor ubicación para un proceso en la memoria.

Algoritmos y Técnicas de Administración de Memoria - EJEMPLOS

Dadas 6 particiones de memoria de 300, 600, 350, 200, 750 y 125 KB (en ese orden), determine cómo resultarían asignados 5 procesos de 115, 500, 358, 200 y 375 KB (en ese orden), empleando los algoritmos de primer, mejor y peor ajuste

First-Fit

(Primer Ajuste)

SO

300KB

600KB

350KB

200KB

750KB

125KB

SO

P1 = 115

P1=115KB

600KB

350KB

200KB

750KB

125KB

181KB

SO

P2 = 500

P1=115KB

350KB

200KB

750KB

125KB

181KB

P2=500KB

100KB

SO

P3 = 358

P1=115KB

350KB

200KB

125KB

181KB

P2=500KB

100KB

P3=358KB

392KB

SO

P4 = 200

P1=115KB

200KB

125KB

181KB

P2=500KB

100KB

P3=358KB

392KB

P4=200KB

150KB

SO

P5 = 375

P1=115KB

200KB

125KB

181KB

P2=500KB

100KB

P3=358KB

17KB

P4=200KB

150KB

P5=375KB

Best-Fit

(Mejor Ajuste)

SO

300KB

600KB

350KB

200KB

750KB

125KB

SO

P1 = 115

P1=115KB

600KB

350KB

200KB

750KB

10KB

SO

P2 = 500

350KB

200KB

750KB

P2=500KB

100KB

SO

P3 = 358

350KB

200KB

P2=500KB

100KB

P3=358KB

392KB

SO

P4 = 200

P2=500KB

100KB

P3=358KB

392KB

P4=200KB

SO

P5 = 375

P2=500KB

100KB

P3=358KB

17KB

P5=375KB

300KB

300KB

P1=115KB

10KB

300KB

P1=115KB

10KB

300KB

P1=115KB

10KB

P1=115KB

10KB

350KB

300KB

350KB

P4=200KB

Worst-Fit

(Peor Ajuste)

SO

300KB

600KB

350KB

200KB

750KB

125KB

SO

P1 = 115

P1=115KB

600KB

350KB

200KB

635KB

SO

P2 = 500

350KB

200KB

SO

P3 = 358

350KB

200KB

SO

P4 = 200

P5 = 375

300KB

300KB

300KB

300KB

125KB

600KB

P1=115KB

135KB

P2=500KB

125KB

125KB

P1=115KB

135KB

P2=500KB

242KB

P3=358KB

125KB

135KB

P2=500KB

242KB

P3=358KB

200KB

P1=115KB

150KB

P4=200KB

SO

300KB

125KB

135KB

P2=500KB

242KB

P3=358KB

200KB

P1=115KB

150KB

P4=200KB

P5 = 375 ESPERA

EJEMPLOS - ADMINISTRACION DE MEMORIA

ASIGNACION DE MEMORIA

Contigua

No Conotigua

Particiones Fijas

Particion de igual tamaño

Paginación

Segmentación

Paginacióon +

Segmentación

ADMINISTRACION DE MEMORIA CON EL METODO DE LAS ETIQUETAS LIMITE - BOUNDARY TAG METHOD

El método de "etiquetas límite" es una técnica utilizada en la administración de memoria para proteger y gestionar el acceso a la memoria por parte de los procesos. Esta técnica se basa en el uso de etiquetas o límites que definen el inicio y el final de las áreas de memoria asignadas a cada proceso

ADMINISTRACION DE MEMORIA CON EL METODO DE LAS ETIQUETAS LIMITE - BOUNDARY TAG METHOD

La compactación de bloques libres presenta distintas alternativas

A

B

X

ocupado

libre

1

A

B

X

A

X

B

X

X

2

3

4

ANTES de que termine X

A

B

A

B

DESPUES de que termine X

se convierte en

izq y der ocupados, no se puede compactar

A y B son las direcciones de inicio de los bloques adyacentes a X, que es la direccion de inicio del bloque que se libera y devuelve a la LED

izq ocupado, der libre se compacta

izq libre, der ocupado se compacta

izq y der libre,  se compacta

ADMINISTRACION DE MEMORIA CON EL METODO DE LAS ETIQUETAS LIMITE - BOUNDARY TAG METHOD

configuración de bloques

MAR =1

MAR =1

TAM

MAR =0

MAR =0

TAM

PA

PS

DI

BLOQUE OCUPADO

BLOQUE DISPONIBLE

EJERCICIO

MAR =1

1000

MAR =1

1500

MAR =1

700

MAR =1

900

MAR =1

600

MAR =1

300

P6

P5

P4

P1

P3

P2

1                                   1001                               2501                              3201                                 4101                           4701                                5000

Sea  una  memoria  inicial  de  5000  palabras,  la  que  ha  sido  asignada  en su totalidad.  El  nodo  que  inicializa  la  lista  de  espacios  disponibles  está  en  la dirección 9999, que es DISPO. En la memoria de tamaño 5000 se han realizado las siguientes asignaciones: 

  • Proceso 1 = 300 k
  • Proceso 2 = 600 k
  • Proceso 3 = 900 k
  • Proceso 4 = 700 k
  • Proceso 5 = 1500 k
  • Proceso 6 = 1000 k

MEMORIA

MAR =1

1000

MAR =1

1500

MAR =1

700

MAR =1

900

MAR =1

600

MAR =1

300

P6

P5

P4

P1

P3

P2

  DISPO

9999

0

9999

PA

PS

MAR

9999

1

1001

2501

3201

4101

4701

5000

Situacion Inicial de Memoria y Dispo

TAM

0

MEMORIA

MAR =1

1000

MAR =1

1500

MAR =1

700

MAR =1

900

MAR =1

600

MAR =1

300

P6

P5

P4

P1

P3

P2

1

1001

2501

3201

4101

4701

5000

El primer bloque que se devuelve es el ocupado por el proceso 1

MEMORIA

MAR

1000

1500

700

900

600

P6

P5

P4

L

P3

P2

DISPO

4701

1

4701

PA

PS

MAR

9999

1

1001

2501

3201

4101

4701

5000

1

=

MAR

1

=

MAR

1

=

MAR

1

=

MAR

1

=

PA

9999

MAR

0

=

TAM

300

=

PS

9999

L

PA

9999

MAR

0

=

TAM

300

=

PS

9999

4701

TAM

0

MEMORIA

MAR

1000

1500

700

900

600

P6

P5

P4

L

P3

P2

1

1001

2501

3201

4101

4701

5000

1

=

MAR

1

=

MAR

1

=

MAR

1

=

MAR

1

=

PA

9999

MAR

0

=

TAM

300

=

PS

9999

a) Se libera el proceso 4

MEMORIA

MAR

1000

1500

900

600

P6

P5

L

P3

P2

DISPO

2501

1

4701

PA

PS

MAR

9999

1

1001

2501

3201

4101

4701

5000

1

=

MAR

1

=

MAR

1

=

MAR

1

=

PA

9999

MAR

0

=

TAM

300

=

PS

9999

L

PA

9999

MAR

0

=

TAM

300

=

PS

2501

4701

L

PA

4701

MAR

0

=

TAM

700

=

PS

9999

2501

L

PA

4701

MAR

0

=

TAM

700

=

PS

9999

TAM

0

MEMORIA

MAR

1000

1500

900

600

P6

P5

L

P3

P2

1

1001

2501

3201

4101

4701

5000

1

=

MAR

1

=

MAR

1

=

MAR

1

=

PA

9999

MAR

0

=

TAM

300

=

PS

9999

b) Se libera el proceso 3

L

PA

4701

MAR

0

=

TAM

700

=

PS

9999

MEMORIA

MAR

1000

1500

600

P6

P5

L

P2

DISPO

2501

1

4701

PA

PS

MAR

9999

1

1001

2501

4101

4701

5000

1

=

MAR

1

=

MAR

1

=

PA

9999

MAR

0

=

TAM

300

=

PS

9999

L

PA

9999

MAR

0

=

TAM

300

=

PS

2501

4701

L

PA

4701

MAR

0

=

TAM

1600

=

PS

9999

2501

L

PA

4701

MAR

0

=

TAM

1600

=

PS

9999

0

TAM

MEMORIA

MAR

1000

1500

600

P6

P5

L

P2

DISPO

2501

1

4701

PA

PS

MAR

9999

1

1001

2501

4101

4701

5000

1

=

MAR

1

=

MAR

1

=

PA

9999

MAR

0

=

TAM

300

=

PS

9999

L

PA

9999

MAR

0

=

TAM

300

=

PS

2501

4701

L

PA

4701

MAR

0

=

TAM

1600

=

PS

9999

2501

L

PA

4701

MAR

0

=

TAM

1600

=

PS

9999

0

TAM

MEMORIA

MAR

1000

1500

600

P6

P5

L

P2

1

1001

2501

4101

4701

5000

1

=

MAR

1

=

MAR

1

=

PA

9999

MAR

0

=

TAM

300

=

PS

9999

c) Se libera el proceso 5

L

PA

4701

MAR

0

=

TAM

1600

=

PS

9999

MEMORIA

MAR

1000

600

P6

L

P2

DISPO

1001

1

4701

PA

PS

MAR

9999

1

1001

4101

4701

5000

1

=

MAR

1

=

PA

9999

MAR

0

=

TAM

300

=

PS

9999

L

PA

9999

MAR

0

=

TAM

300

=

PS

1001

4701

L

PA

4701

MAR

0

=

TAM

3100

=

PS

9999

1001

L

PA

4701

MAR

0

=

TAM

3100

=

PS

9999

0

TAM

MEMORIA

MAR

1000

600

P6

L

P2

1

1001

4101

4701

5000

1

=

MAR

1

=

PA

9999

MAR

0

=

TAM

300

=

PS

9999

d) Se libera el proceso 2

L

PA

4701

MAR

0

=

TAM

3100

=

PS

9999

MEMORIA

MAR

1000

P6

DISPO

1001

1

1001

PA

PS

MAR

9999

1

1001

5000

1

=

L

PA

9999

MAR

0

=

TAM

4000

=

PS

9999

1001

L

PA

9999

MAR

0

=

TAM

4000

=

PS

9999

0

MAR

MEMORIA

MAR

1000

P6

DISPO

1001

1

1001

PA

PS

MAR

9999

1

1001

5000

1

=

L

PA

9999

MAR

0

=

TAM

4000

=

PS

9999

1001

e) Requerimiento del Proceso 8 de 1100k

L

PA

9999

MAR

0

=

TAM

4000

=

PS

9999

Utilizar algoritmo First - Fit

0

TAM

MEMORIA

MAR

1000

P6

P8

DISPO

1001

1

1001

PA

PS

MAR

9999

1

1001

3901

5001

1

=

MAR

1

=

1100

L

PA

9999

MAR

0

=

TAM

2900

=

PS

9999

1001

L

PA

9999

MAR

0

=

TAM

2900

=

PS

9999

0

TAM

MEMORIA

constante satisfactoria 

si al asignar un bloque, el espacio que deja es menor que ɛ se asigna el bloque completo, es decir se otorga más del  espacio pedido

HERRAMIENTA

SIMULADOR ETIQUETAS LIMITES

Administracion de Memoria

By mbaquinzay

Administracion de Memoria

  • 569