





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