Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 58

UNIDAD IV

GESTIÓN DE
MEMORIA
¿QUÉ ES LA MEMORIA?

La memoria es uno de los


componentes principales de
un computador.
ENTORNO DE ENTORNO DE
TRABAJO IDEAL TRABAJO REAL
 Registros
 Velocidad y van de 4 bits a 64 bits
tamaño  Memoria caché
infinitos pocos MB, veloz, costosa,
volátil
 No volátil  Memoria principal
 Económica velocidad media, volátil,
costo medio
 Almacenamiento en disco
lento, no volátil, costo bajo
 Almacenamiento
removible
CDs, DVDs, Memorias USB
JERARQUÍA DE LA MEMORIA

Registros
¿QUÉ ES LA GESTIÓN DE
MEMORIA?

La gestión de memoria es un PROCESO


que está a cargo del GESTOR DE
MEMORIA que se encarga de:

 Asignar memoria a los procesos cuando


la necesiten y liberarla cuando terminen.
 Controlarlas partes de la memoria que
están o no asignadas.
 Evitar
que un proceso acceda a la zona
de memoria asignada a otro proceso.
 Gestionar el intercambio entre memoria
principal y memoria secundaria en los
casos en que la memoria principal está
completamente ocupada.
OBJETIVOS DEL GESTOR
DE MEMORIA

 Protección

 Reubicación

 Compartición

 Maximización del rendimiento


TÉCNICAS DE GESTIÓN

Las técnicas de gestión de la memoria


se clasifican en:

 sin intercambio.

 con intercambio.
GESTIÓN DE MEMORIA
SIN INTERCAMBIO
La idea básica consiste en cargar el
programa a ejecutar en algún lugar
de la memoria principal, donde
permanece hasta que finaliza su
ejecución, momento en el que
abandona el espacio de memoria
utilizado.
TÉCNICAS MÁS HABITUALES

Algunas de las técnicas más habituales


son:
 Monoprogramación.
 Multiprogramación con particiones
fijas.
 Multiprogramación con particiones
variables.
MONOPROGRAMACIÓN

0 Sistema 0 0 Sistema
Operativo Operativo
en RAM Programa de en RAM
usuario en
RAM Programa de
usuario en
Programa RAM
de usuario
en RAM Sistema Drivers de
Operativo en dispositivos en
ROM ROM
(a) (b) (c)
MULTIPROGRAMACIÓN
CON PARTICIONES FIJAS
 CASO 1: N particiones del mismo
tamaño

Sistema
256 kb 256 kb 256 kb
Operativo

P0 P1 P2 P3
 CASO 2: N particiones de distinto
tamaño

Sistema 128
384 kb 256 kb
Operativo kb

P0 P1 P2 P3
ASIGNACIÓN DE PARTICIONES

 Una cola por partición

 Una cola para todas las particiones


Ejemplo: Sistema
Operativo

….. 70 100 128 kb

….. 350 300 384 kb

….. 250 200 256 kb


Ejemplo: Sistema
Operativo

128 kb

…. 250 70 100 350 384 kb

256 kb
Ejemplo

Memoria Principal (1024k)

Sistema 128
384 kb 256 kb
Operativo kb

P0 P1 P2 P3
1. Llegada del proceso A de 300 kb

PA
300kb

Memoria Principal (1024k)

Sistema 128 PA 84
256 kb
Operativo kb 300kb kb

P0 P1 P2 P3
2. Llegada del proceso B de 150 kb

PB
150kb

Memoria Principal (1024k)

Sistema 128 PA 84 PB 106


Operativo kb 300kb kb 150kb kb

P0 P1 P2 P3
Memoria Principal (1024k)
P0 P1 P2 P3

Sistema 128 PA 84 PB 106


Operativo kb 300kb kb 150kb kb

FRAGMENTACIÓN
INTERNA
ALGORITMOS DE
UBICACIÓN

 Algoritmo del primer ajuste (first-fit)


 Algoritmo del mejor ajuste (best-fit)
 Algoritmo del peor ajuste (worst-fit)
ALGORITMO DEL
PRIMER AJUSTE

Consiste en asignar el primer espacio


disponible que tenga el tamaño
suficiente para albergar el proceso.
ALGORITMO DEL MEJOR
AJUSTE

Consiste en asignar el espacio más


pequeño que tenga el tamaño
suficiente para albergar el proceso.
ALGORITMO DEL PEOR
AJUSTE

Consiste en asignar el espacio más


grande al proceso.
Ejemplo: Asignación de memoria con
Particiones Variables utilizando el
algoritmo del mejor ajuste.
Memoria Principal (1024k)

SO P1 P2 P3 P4
64k 512k 128k 64k 256k
1. Llegada del proceso A de 512 k

PA
512k

Memoria Principal (1024k)

SO P1 P2 P3 P4
64k 512k 128k 64k 256k
Memoria Principal (1024k)

SO PA P2 P3 P4
64k 512k 128k 64k 256k
2. Llegada del proceso B de 200 k

PB
200k

Memoria Principal (1024k)

SO PA P2 P3 P4
64k 512k 128k 64k 256k
Memoria Principal (1024k)
L
SO PA P2 P3 PB i
b
64k 512k 128k 64k 200k r
e

56k
3. Llegada del proceso C de 120 k

PC
120k

Memoria Principal (1024k)


L
SO PA i
P2 P3 PB
b
64k 512k 128k 64k 200k r
e
Memoria Principal (1024k)
L L
SO PA PC i PB i
P3
b b
64k 512k 120k r 64k 200k r
e e

FRAGMENTACIÓN
EXTERNA
4. Llegada del proceso D de 220 k
Al no haber particiones del tamaño
PD necesario el proceso D se queda en espera
220k de que se libere la partición más adecuada.

Memoria Principal (1024k)


L L
SO PA PC i PB i
P3
b b
64k 512k 120k r 64k 200k r
e e
Tarea Nº 1
1. Dada la siguiente información:
Memoria Bloque de
Proceso Tamaño
Solicitada Memoria
A 840k P1 610k
B 500k P2 850k
C 600k P3 700k
D 400k P4 500k
Use los algoritmos del:
 primer ajuste
 mejor ajuste y
 peor ajuste

para indicar que bloques de memoria son


asignados a los trabajos que llegan al
procesador.
2. Dada la siguiente información:
Memoria Bloque de
Proceso Tamaño
Solicitada Memoria
A 600k P1 610k

B 500k P2 850k

C 740k P3 700k

D 800k P4 550k
Use los algoritmos del:
 primer ajuste
 mejor ajuste y
 peor ajuste

para indicar que bloques de memoria son


asignados a los trabajos que llegan al
procesador.
MULTIPROGRAMACIÓN CON
PARTICIONES VARIABLES

El objetivo es crear las particiones


dinámicamente, conforme llegan los
procesos y en función de los tamaños
de éstos.
Ejemplo:

Memoria Principal (1024k)

SO HUECO
64k 960k
1. Llegada del proceso A de 400 k

PA
400k

Memoria Principal (1024k)

SO PA HUECO
64k 400k 560k
2. Llegada del proceso B de 200 k

PB
200K

Memoria Principal (1024k)

SO PA PB HUECO
64k 400k 200k 360k
3. Llegada del proceso C de 180k

PC
180K

Memoria Principal (1024k)

SO PA PB PC Hueco

64k 180k 180k


400k 200k
4. Termina el proceso B

Memoria Principal (1024k)

SO PA Hueco PC Hueco

64k 180k
400k 200k 180k

FRAGMENTACIÓN
EXTERNA
5. Llegada del proceso D de 360k

PD
360k

Memoria Principal (1024k)

SO PA Hueco PC Hueco
180k
64k 400k 200k 180k

No entra D
COMPACTACIÓN

El objetivo de la compactación es
conseguir que haya suficiente
memoria libre contigua para ubicar
un nuevo proceso.
Existen dos algoritmos de compactación:

 Compactar fragmentos hasta


conseguir un hueco de memoria lo
suficientemente grande para el
nuevo proceso.
 Compactar fragmentos hasta
conseguir que toda la memoria
libre se quede de forma
consecutiva en un único hueco.
Ejemplo:
Memoria Principal (1024k)

SO PA PC Hueco
64k 400k 180k 380k

Luego de la
compactación
Llegada del proceso D de 360k

PD
360k

Memoria Principal (1024k)


H
SO PA PC PD U
E
64k 400k 180k 360k C
O
TABLA DE DESCRIPCIÓN
DE PARTICIONES
La TDP es una estructura de datos que
almacena la siguiente información:
 dirección física de inicio o dirección
base de la partición
 tamaño de la misma, y el
 estado (si está libre o ocupada)
Ejemplo
TABLA DE DESCRIPCIÓN DE
PARTICIONES
Número de Dirección Tamaño de Estado de la
la Partición Base la Partición Partición

0 0 25600B Asignada
1 25600 4404B Asignada
2 30004 12090B Libre
3 42094 45906B Asignada
4 88000 14400B Asignada
TRADUCCIÓN DE
DIRECCIONES
Ejemplo Calcular la dirección física de la función
Leer().
Dirección Dirección
Base Límite

Dirección Dirección
lógica física
CONTINUARÁ…
Dios Mediante…

También podría gustarte