SlideShare una empresa de Scribd logo
1 de 28
Instituto Tecnológico Superior
de El Mante
Sistemas Operativos
Unidad III: Administración de
memoria
ISC. Roberto Rangel Anguiano
Cd. Mante, Tamaulipas A 30 de Septiembre de 2013
Memoria
• La memoria es un recurso importante que se
debe administrar con cuidado.
• La parte del sistema operativo que administra
la jerarquía de memoria se denomina
administrador de memoria.
Programador
• Idealmente, lo que a todo programador le
gustaría es una memoria infinitamente grande
y rápida que además no sea volátil, es decir,
que no pierda su contenido cuando se
interrumpa la alimentación eléctrica.
Administración de la memoria en los sistemas monoprogramados
Programa de
usuario
Núcleo en RAM
OxFF…
Programa de
usuario
Núcleo en ROM
OxFF…
Programa de
usuario
Sistema Operativo
en RAM
OxFF…Controladores de
dispositivos en ROM
Tres formas de organización de la memoria RAM, con un sistema operativo y un proceso de usuario. Todo el
programa es cargado a memoria para su ejecución
Programa de
usuario
Sistema Operativo
Dirección del registro
limite
CPU
Registro
limite
Protección de la Memoria
PC de IBM
BIOS
Administración de la memoria en los sistemas multiprogramados
Núcleo del S.O
512
Proceso 1
Proceso 2
Proceso 3
Proceso n
d1
d2
d3
d4
dm
Los problemas que aparecen en los
sistemas multiprogramados y/o
multiusuarios son:
1. Llevar un recuento de las zonas de
memoria ocupadas por los procesos.
¿Qué proceso ocupa cual espacio?.
2. El momento de escribir un programa
no se sabe en qué zona de memoria
se ubicará, siendo posible que durante
la vida de un proceso éste cambie
varias veces de lugar.
3. La protección de las zonas de
memoria ocupadas por los procesos,
máxime en sistemas multiusuario
donde los procesos pueden pertenecer
a distintos usuarios.
Direcciones
de
memoria
Gestión de Memoria
Los requisitos que se intentan satisfacer en la gestión de la memoria en los
sistemas donde se emplea la multiprogramación o los sistemas multiusuarios
son:
1. Reubicación.
2. Protección.
3. Compartición.
4. Organización lógica.
5. Organización física.
Memoria Principal
Reubicación
Compartición
Protección,
organización física y lógica
Memoria Virtual
Asignación de memoria contigua
Núcleo del S.O
512
512 k
512 k
512 k
512 k
512 k
512 k
512 k
Particiones estáticas
Organización de la memoria:
La memoria se divide en regiones con
límites fijos, con dos alternativas:
1. particiones igual tamaño o
2. particiones de diferentes tamaños.
Núcleo del S.O
512
128 k
256 K
320 k
512 k
576 k
768 k
1 M
Asignación de procesos a la
memoria:
Se pueden tener dos esquemas de
asignación de memoria en particiones
estáticas utilizando colas de procesos:
1. Colas de planificación para cada
partición.
2. Una cola de planificación para la
memoria (mayor eficiencia)
Asignación de memoria contigua
Sistema operativo
512
512 k
512 k
512 k
512 k
512 k
512 k
512 k
Proceso A
128 K
Particiones
estáticas
Una vez introducido un proceso en una partición, permanece en ella hasta su finalización aunque se
encuentren libres otras particiones. Esto provoca una pérdida de eficiencia
Los trabajos se traducían mediante compiladores y ensambladores
absolutos, para ejecutarse en una partición específica
Proceso B
256 K
Proceso C
640 K
Listos
Bloqueados Ejecución
Espera
eventoTermina
evento
Interrupción
de reloj
384 k
256 k
384 k
Proceso del
S.O. 128 K
Solicitud
para entrar
al sistemas
Bloqueados
Suspendidos
Listos
Suspendidos
Interrupción
de reloj
Memoria
secundaria
¿Cuántos procesos
Pueden colocarse en
memoria secundaria?
1024 K
Asignación de memoria contigua
Particiones estáticas
Sistema operativo
Procesos
nuevos
Cuando un proceso se introduce en una partición, lo más probable es que su tamaño no
sea el mismo (es decir, sea algo menor) que el de la partición. Esto origina un problema
de desperdicio de memoria conocido como fragmentación interna.
Algunas colas estarán
saturadas por procesos que
tienen un tamaño similar a la
partición mientras que otras
estarán vacías o semivacías.
Sistema operativo
Procesos
nuevos
Asignación de memoria contigua
Particiones
estáticas
Se minimiza la partición interna porque cada proceso es
asignado a la partición más pequeña. Para ello se
supone que se conoce el tamaño de la cantidad de
memoria que ocupa un proceso lo cual no siempre es
cierto.
Procesos
nuevos
Sistema operativo
512
128 k
256 K
320 k
512 k
576 k
768 k
1 M
Procesos
nuevos
Sistema operativo
512
128 k
256 K
320 k
512 k
576 k
768 k
1 M
●
PROCESO
10000
10100
Memoria
RAM
Askdlkelirlekrlkerklerlkerlkerlkertlk
ertlertlertjlekrtlekrtlkertletjl
Askdlkelirlekrlkerklerlkerlkerlkertlk
ertlertlertjlekrtlekrtlkertletjl
Askdlkelirlekrlkerklerlkerlkerlkertlk
ertlertlertjlekrtlekrtlkertletjl
Askdlkelirlekrlkerklerlkerlkerlkertlk
ertlertlertjlekrtlekrtlkertletjl
Proceso
Askdlkelirlekrlkerklerlkerlkerlkertlk
ertlertlertjlekrtlekrtlkertletjl
Askdlkelirlekrlkerklerlkerlkerlkertlk
ertlertlertjlekrtlekrtlkertletjl
Askdlkelirlekrlkerklerlkerlkerlkertlk
ertlertlertjlekrtlekrtlkertletjl
Askdlkelirlekrlkerklerlkerlkerlkertlk
ertlertlertjlekrtlekrtlkertletjl
0
100
Dirección relativa
Dirección real
Registro Base (RB)
10000
Acumulador (A)
100
MMU
RB + A
CPU
Ejecución de la
instrucción del
proceso
BCP
Información
sobre las
direcciones
reales
Enviado por el BUS
Programa
Pila
Datos
La traducción de las direcciones virtuales
a reales es implementada por una
Unidad de Manejo de Memoria (MMU).
A A
F
A
B
C
D
C
E
C
E
Asignación de memoria contigua
Particiones dinámicas
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
G
Memoria Virtual
A, F, C o E
Pasar temporalmente un proceso para dar
oportunidad a un nuevo proceso para ejecutarse
No hay espacio
A A
F
A
B
C
D
C
E
C
E
Asignación de memoria contigua
Particiones dinámicas
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
El continuo ingreso y salida de los procesos
producen huecos en la memoria demasiado
pequeños para que un proceso pueda
colocarse. A este tipo de fragmentación se
le conoce como fragmentación externa.
La recuperación de los huecos de memoria
puede llevarse a cabo por medio de la técnica de
compactación donde los espacios disponibles de
memoria son colocados en la parte inferior y los
procesos en la parte superior. Sin embargo, este
proceso es demasiado lento y posiblemente no
justifique el consumo de recursos, debido a que
el sistema debe estar inactivo para poder
realizar la compactación.
A
F
G
C
E
Asignación de memoria contigua
Particiones dinámicas
H
Estrategias de colocación
Primer ajuste. Primera partición de memoria que
se encuentre libre.
Mejor ajuste. Busca y asigna la partición de
memoria que mejor se ajuste al
tamaño del proceso tratando de
dejar libre la menor cantidad de
memoria
Peor ajuste. Se busca y asigna la partición de
mayor tamaño para dejar libre la
mayor cantidad de memoria para
que pueda colocarse otro proceso
en ella.
Administración de memoria particiones estáticas
Partición estática.
Es suficiente con guardar en una tabla la
información sobre la partición que está libre o
que está ocupada y qué proceso se encuentra
en ella, así como la direcciones de comienzo y
fin de la partición.
¿Cómo se lleva el control de la memoria que se encuentra
disponible y aquella que esta ocupada?
No. de
partición
Libre/
ocupada
Id del
Proceso
Inicio de
la
partición
Fin de la
partición
Tabla de administración de la memoria
Partición dinámica pueden ser
implementada por
1. Mapa de bits.
2. Listas enlazadas.
3. Sistema de los asociados.
Administración de memoria particiones dinámicas
Mapas de bits
Se divide la memoria en bloques de
cierto tamaño y se mantiene en
memoria una tabla donde cada bit
se utiliza para identificar un bloque
ocupado (1) o libre (0).
Si las particiones son muy pequeñas
se tendrá un mapa de bits muy
grande y viceversa.
Listas enlazadas
La lista esta compuesta por los siguientes campos:
 Bit que representa un proceso o una partición disponible.
 Numero de bloque de inicio.
 Numero de bloques utilizados.
 Puntero al siguiente nodo en la lista.
Ventajas:
La actualización de la lista enlazada es directa.
Desventaja:
La búsqueda del un hueco que pueda satisfacer la solicitud de memoria para un proceso es
lento. La solución puede ser la creación de dos listas enlazadas, una para los procesos y otra
para los espacios libres. Esto provoca que se dé mantenimiento a dos listas cuando un
proceso termina y cuando se otorga memoria a otro proceso.
A B C D E
P 0 5 ● H 5 3 ● P 8 6 ● P 14 4 ●
H 18 2 ● P 20 6 ● P 26 3 ● H 29 3 XHueco o proceso
Inicio
Longitud
Administración de memoria particiones dinámicas
Sistemas asociados
Consiste en tener la memoria inicialmente
como un gran espacio libre que se irá
particionando en múltiplos de potencia de 2
cada vez que un proceso haga la solicitud de
memoria.
P
B
1 MB
512 KB
256 KB
128 KB
P
56 K
512 K 512 K
256 K 256 K256 K 256 K
128 K 128 K 128 K 128 K 128 K 128 K 128 K 128 K
64
K
64
K
64
K
64
K
64
K
64
K
64
K
64
K
64
K
64
K
64
K
64
K
64
K
64
K
64
K
64
K
1 M
Bloque de control
de Proceso
Código
Datos
Pila
Dirección Relativa o
lógica
Sumador
Comparador
Registro
Base
Registro
Límite
Interrupción al Sistema
Operativo
Dirección
Absoluta,
física o real
Imagen de un
Proceso en
Memoria Principal
Soporte del Hardware para la reubicación.
AcumuladorMemoryManagementUnit
Para el intercambio de procesos
entre la memoria real y la memoria
virtual se requiere un mecanismo
que reubique los procesos sin perder
las referencias que se hacen dentro
de él. Los programas que emplean
direcciones relativas se cargan
mediante cargadores dinámicos
durante la ejecución.
La Unidad Manejadora de Memoria
(MMU) realiza la traducción de las
direcciones relativas en direcciones
físicas en la memoria principal.
Palabra 0
Palabra z
Palabra 0
Palabra z
Palabra 0
Página 0
Palabra z
Página 1
Palabra 1
Palabra z
Página n-1
Programa
XYZ
1 11 0 1 1 10 1 0 1 1 10 1 1
1 2
Los ordenadores modernos normalmente tienen un
tamaño de palabra de 16, 32 ó 64 bits.
3 4 5 6 7 8 9 10 11 12 13 14 15 16
palabra
Marco n-1
Página 0
Página n-1
Página
Marco 0
Página
Memoria
Programa
XYZ
1. Cada página
consiste en z
palabras contiguas
2. Un espacio de direcciones N de un
programa consiste de n páginas
(0,1,2,3…n-1) (n*z direcciones virtuales)
3. el espacio de memoria consiste de m
marcos de paginas (0,z,2z,…,(m-
1)z)(m*z posiciones)
La técnica de paginación simple es
similar a la partición estática.
Las diferencias están en que, con
paginación las particiones son más
pequeñas, un programa puede
ocupar más de una partición y
éstas no tienen por qué estar
contiguas.
Memoria virtual
Paginación
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A.0
A.1
A.2
A.3
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A.0
A.1
A.2
A.3
B.0
B.1
B.2
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A.0
A.1
A.2
A.3
B.0
B.1
B.2
C.0
C.1
C.2
C.3
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A.0
A.1
A.2
A.3
C.0
C.1
C.2
C.3
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A.0
A.1
A.2
A.3
D.0
D.1
D.2
C.0
C.1
C.2
C.3
D.3
D.4
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(a) 15 páginas
libres
b) Carga del
proceso A
c) Carga del
proceso B
d) Carga del
proceso C
e) Expulsión del
proceso B
f) Carga del
proceso D
0
1
2
3
--
--
--
0
1
2
4
5
6
11
12
0
1
2
3
4
7
8
9
10
0
1
2
3
13
14
Tablas del
páginas del
Proceso A
Tablas del
páginas del
Proceso B
Tablas del
páginas del
Proceso C
0
1
2
3
Tablas del
páginas del
Proceso D
Listas de
marcos libres
Una dirección virtual a es equivalente a una dirección dada como una dupla (p, d), en la cual p es el
número de la página y d el número de la palabra dentro de la página
Palabra 0
Palabra z
Palabra 0
Palabra z
Palabra 0
Página 0
Palabra z
Página 1
Palabra 1
Palabra z
Página n-1
),(a = dp
Marco 0
Palabra de 16 bits
0000010111011110
Página de
1024 bits = 1
K
0 10 0 0 0 10 1 1 0 1 11 1 0
Dirección lógica de bits
No. de página
de 6 bits
000101
000110
000101
0
1
2
0 10 0 0 1 01 1 1 0 1 11 1 0
Desplazamiento de 10 bits
Dirección física de 16 bits
Memoria
Asociativa
En la práctica es necesario que la
mayoría de los accesos a memoria no
impliquen una consulta a la tabla de
páginas, sino que únicamente requieran
el acceso a la posición solicitada. Esto
se logra mediante el uso de una
memoria asociativa interna en la MMU
que mantiene información sobre las
últimas páginas accedidas.
Esta memoria asociativa es considerada
memoria cache especial de alta
velocidad.
Páginas
compartidas
Otra ventaja de la paginación es la
posibilidad de compartir programas de
uso común. Esta técnica resulta
sumamente importante en un entorno de
tiempo compartido. Se pueden compartir
desde editores como compiladores,
ensambladores y sistemas de base de
datos. Para que sean compartibles, el
código debe ser reentrante (no
automodificable), es decir, el código es
sólo de búsqueda o sólo lectura.
ed1
ed1
ed1
Datos 1
ed1
ed1
ed1
Datos 1
ed1
ed1
ed1
Datos 1
3
4
6
1
3
4
6
7
3
4
6
2
Proceso
P1
Proceso
P2
Proceso
P3
Tabla de
Páginas P1
Tabla de
Páginas P2
Tabla de
Páginas P3
Datos 1
Datos 3
ed1
ed2
ed3
Datos 2
0
1
2
3
4
5
6
7
8
9
10
Memoria virtual
Segmentación subrutina
pila
Tabla de
símbolos
Programa
principal
Sqrt
Segmento 0
Segmento 1
Segmento 2
Segmento 4
Segmento 3
Límite
1000
400
400
1100
1000
Base
1400
6300
4300
3200
4700
0
1
2
3
4
Tabla de segmentos
Segmento 0
Segmento 3
Segmento 2
Segmento 4
Segmento 1
1400
2400
3200
6700
6300
5700
4700
4300
La segmentación es un esquema de
administración de la memoria que soporta
la visión que el usuario tiene de la misma.
Un espacio de direcciones lógicas es una
colección de segmentos. Cada segmento
tiene un nombre y una longitud.
Las direcciones especifican tanto el
nombre del segmento como el
desplazamiento dentro del segmento. Por
lo tanto, el usuario especifica cada
dirección mediante dos cantidades: un
nombre de segmento y un desplazamiento.
Memoria virtual
Segmentación
La segmentación simple siempre hace uso
de una tabla de segmentos para cada
proceso y una tabla de segmentos en la
memoria principal. La tabla de segmentos
para un proceso contiene la dirección física
de comienzo del segmento y la longitud
máxima de éste (como medida de
protección, para evitar referencias a
segmentos que no corresponda).
Tabla de
segmentos
Limite Bases d
CPU
< +
Memoria
interrupción
sí
no
s
0
1 00 0 0 1 00 1 1 1 1 00 0 0
Dirección lógica de 16 bits
No. de
página
de 4 bits
Desplazamiento de 12 bits
001011101110
011110011110
0
1
0 1 10 1 0 00 0 0 0 1 00 0 0
0000010000000000
0010000000100000 +
Longitud Base
Tabla de segmentos del proceso
En forma análoga a la paginación, el proceso
de traducción de direcciones en la
segmentación, consiste en los siguientes
pasos:
1. Extraer el número de segmentos de los n
bits más significativos de la dirección
lógica.
2. Emplear el número de segmentos como
índice en la tabla de segmentos del
proceso para obtener la dirección física
de comienzo del segmento.
3. Comparar el desplazamiento expresado
en los m bits menos significativos de la
dirección lógica con la longitud del
segmento, si es mayor, la dirección no es
válida.
4. La dirección física buscada es la suma de
la dirección física del inicio del segmento
más el desplazamiento.
Cuando un proceso se introduce en memoria, se cargan
todos sus segmentos en regiones de memoria libres y se
crea la tabla de segmentos.
1. Generalmente, el programador no conoce realmente el tamaño que
utilizará una estructura de datos, luego si ésta tiene asignado un segmento
podrá ser expandido o reducido según sus necesidades.
2. Los programas pueden ser compilados de manera independiente aunque
sean módulos de otros programas.
3. Varios procesos pueden compartir segmentos, por si desean compartir
datos.
4. Se pueden proteger los programas o datos asignando privilegios de acceso
a los segmentos.
Ventajas de la segmentación
Combinación entre paginación y segmentación
Las combinaciones entre paginación y segmentación son las
siguientes:
1.Memoria no segmentada y no paginación: La dirección virtual es la
misma que la dirección física.
2.Memoria paginada no segmentada: La memoria es un espacio de
direcciones paginado.
3.Memoria segmentada no paginada: La memoria es un conjunto de
direcciones lógicas.
4.Memoria segmentada paginada: La segmentación define
particiones lógicas de memoria y la paginación gestiona la
asignación de memoria dentro de las particiones.

Más contenido relacionado

La actualidad más candente

Segunda unidas open suse
Segunda unidas open suseSegunda unidas open suse
Segunda unidas open suseMiguel Magaña
 
Asignación de memoria contigua
Asignación de memoria contiguaAsignación de memoria contigua
Asignación de memoria contiguaflromero_s
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosPablo Macon
 
Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.Juliannys Requena
 
administración de memoria y archivos
administración de memoria y archivosadministración de memoria y archivos
administración de memoria y archivosSamir Barrios
 
Historia y evolución de los sistemas operativos
Historia y evolución de los sistemas operativosHistoria y evolución de los sistemas operativos
Historia y evolución de los sistemas operativosPablo Macon
 
Administracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemasAdministracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemasANIUX77
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoriacaredimaria
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de MemoriaLuis Eraso
 

La actualidad más candente (20)

Segunda unidas open suse
Segunda unidas open suseSegunda unidas open suse
Segunda unidas open suse
 
Asignación de memoria contigua
Asignación de memoria contiguaAsignación de memoria contigua
Asignación de memoria contigua
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas Operativos
 
Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.
 
administración de memoria y archivos
administración de memoria y archivosadministración de memoria y archivos
administración de memoria y archivos
 
Historia y evolución de los sistemas operativos
Historia y evolución de los sistemas operativosHistoria y evolución de los sistemas operativos
Historia y evolución de los sistemas operativos
 
Jerarquia de memorias
Jerarquia de memoriasJerarquia de memorias
Jerarquia de memorias
 
Tc2 paso3
Tc2 paso3Tc2 paso3
Tc2 paso3
 
Administracion de Memoria
Administracion de MemoriaAdministracion de Memoria
Administracion de Memoria
 
Capitulo3
Capitulo3Capitulo3
Capitulo3
 
Microprosesador
MicroprosesadorMicroprosesador
Microprosesador
 
Eesi prac4
Eesi prac4Eesi prac4
Eesi prac4
 
Sistemas Operativos Gestión de memoria
Sistemas Operativos Gestión de memoriaSistemas Operativos Gestión de memoria
Sistemas Operativos Gestión de memoria
 
ADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIAADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIA
 
Administracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemasAdministracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemas
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de Memoria
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Gestion-de-memoria
 Gestion-de-memoria Gestion-de-memoria
Gestion-de-memoria
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 

Destacado

Particiones EstáTicas
Particiones EstáTicasParticiones EstáTicas
Particiones EstáTicasdanielchecar
 
Scotland - Cycling
Scotland - Cycling Scotland - Cycling
Scotland - Cycling Danny Cowe
 
Expo soluciones
Expo solucionesExpo soluciones
Expo solucionescarito1905
 
FAGERHULT | I-TRACK
FAGERHULT | I-TRACKFAGERHULT | I-TRACK
FAGERHULT | I-TRACKPaulo Chong
 
Eco experience uruguay - An alternative way of life
Eco experience uruguay - An alternative way of lifeEco experience uruguay - An alternative way of life
Eco experience uruguay - An alternative way of lifeMichelle Raymond
 
Accessible Learning - UDL
Accessible Learning - UDLAccessible Learning - UDL
Accessible Learning - UDLlaurelbeaton
 
La teoria de la terapia regresiva
La teoria de la terapia regresivaLa teoria de la terapia regresiva
La teoria de la terapia regresivaAlejandro Tébar
 
Katalog d1 spas | Wanny SPA, minibaseny | Koperfam.pl
Katalog d1 spas | Wanny SPA, minibaseny | Koperfam.plKatalog d1 spas | Wanny SPA, minibaseny | Koperfam.pl
Katalog d1 spas | Wanny SPA, minibaseny | Koperfam.plKoperfam Sp. z o.o.
 
II Estudio de formatos publicitarios display
II Estudio de formatos publicitarios displayII Estudio de formatos publicitarios display
II Estudio de formatos publicitarios displayAdpv
 
Ispirazioni e idee per un nuovo look: Bridge, la collezione primavera-estate ...
Ispirazioni e idee per un nuovo look: Bridge, la collezione primavera-estate ...Ispirazioni e idee per un nuovo look: Bridge, la collezione primavera-estate ...
Ispirazioni e idee per un nuovo look: Bridge, la collezione primavera-estate ...Helen Seward
 
Calendario Euskolabel Egutegia 2013
Calendario Euskolabel Egutegia 2013Calendario Euskolabel Egutegia 2013
Calendario Euskolabel Egutegia 2013pablo solano
 
Linkfluence China Ecommerce 6.18 Festival Report
Linkfluence China Ecommerce 6.18 Festival ReportLinkfluence China Ecommerce 6.18 Festival Report
Linkfluence China Ecommerce 6.18 Festival ReportLinkfluence APAC
 
Guia del hogar digital (asociacion)
Guia del hogar digital (asociacion)Guia del hogar digital (asociacion)
Guia del hogar digital (asociacion)artorius1968
 
Segmentación Memoria Virtual
Segmentación Memoria VirtualSegmentación Memoria Virtual
Segmentación Memoria VirtualAna Brooks
 
Album constitucion politica
Album constitucion politicaAlbum constitucion politica
Album constitucion politicapaolaerira
 

Destacado (20)

Particiones EstáTicas
Particiones EstáTicasParticiones EstáTicas
Particiones EstáTicas
 
Scotland - Cycling
Scotland - Cycling Scotland - Cycling
Scotland - Cycling
 
Expo soluciones
Expo solucionesExpo soluciones
Expo soluciones
 
FAGERHULT | I-TRACK
FAGERHULT | I-TRACKFAGERHULT | I-TRACK
FAGERHULT | I-TRACK
 
Why OptiFer® heme iron supplements are good for the planet
Why OptiFer® heme iron supplements are good for the planetWhy OptiFer® heme iron supplements are good for the planet
Why OptiFer® heme iron supplements are good for the planet
 
Eco experience uruguay - An alternative way of life
Eco experience uruguay - An alternative way of lifeEco experience uruguay - An alternative way of life
Eco experience uruguay - An alternative way of life
 
Accessible Learning - UDL
Accessible Learning - UDLAccessible Learning - UDL
Accessible Learning - UDL
 
La teoria de la terapia regresiva
La teoria de la terapia regresivaLa teoria de la terapia regresiva
La teoria de la terapia regresiva
 
Presentación brochure 2013 web
Presentación brochure 2013 webPresentación brochure 2013 web
Presentación brochure 2013 web
 
Katalog d1 spas | Wanny SPA, minibaseny | Koperfam.pl
Katalog d1 spas | Wanny SPA, minibaseny | Koperfam.plKatalog d1 spas | Wanny SPA, minibaseny | Koperfam.pl
Katalog d1 spas | Wanny SPA, minibaseny | Koperfam.pl
 
II Estudio de formatos publicitarios display
II Estudio de formatos publicitarios displayII Estudio de formatos publicitarios display
II Estudio de formatos publicitarios display
 
Hair and Beauty - Labor Pro - Catalog produse 2013
Hair and Beauty - Labor Pro - Catalog produse 2013Hair and Beauty - Labor Pro - Catalog produse 2013
Hair and Beauty - Labor Pro - Catalog produse 2013
 
Ispirazioni e idee per un nuovo look: Bridge, la collezione primavera-estate ...
Ispirazioni e idee per un nuovo look: Bridge, la collezione primavera-estate ...Ispirazioni e idee per un nuovo look: Bridge, la collezione primavera-estate ...
Ispirazioni e idee per un nuovo look: Bridge, la collezione primavera-estate ...
 
Calendario Euskolabel Egutegia 2013
Calendario Euskolabel Egutegia 2013Calendario Euskolabel Egutegia 2013
Calendario Euskolabel Egutegia 2013
 
Huerta casera 5
Huerta casera 5Huerta casera 5
Huerta casera 5
 
Linkfluence China Ecommerce 6.18 Festival Report
Linkfluence China Ecommerce 6.18 Festival ReportLinkfluence China Ecommerce 6.18 Festival Report
Linkfluence China Ecommerce 6.18 Festival Report
 
Guia del hogar digital (asociacion)
Guia del hogar digital (asociacion)Guia del hogar digital (asociacion)
Guia del hogar digital (asociacion)
 
Segmentación Memoria Virtual
Segmentación Memoria VirtualSegmentación Memoria Virtual
Segmentación Memoria Virtual
 
Album constitucion politica
Album constitucion politicaAlbum constitucion politica
Album constitucion politica
 
Alhuda CIBE - Presentation on Takaful by Tariq saeed ch
Alhuda CIBE - Presentation on Takaful by Tariq saeed chAlhuda CIBE - Presentation on Takaful by Tariq saeed ch
Alhuda CIBE - Presentation on Takaful by Tariq saeed ch
 

Similar a Administracion de memoria

Similar a Administracion de memoria (20)

Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Memoria en los SO
Memoria en los SOMemoria en los SO
Memoria en los SO
 
Procesador sparc, memoria virtual
Procesador sparc, memoria virtualProcesador sparc, memoria virtual
Procesador sparc, memoria virtual
 
Gestiond memoria-pnfi
Gestiond memoria-pnfiGestiond memoria-pnfi
Gestiond memoria-pnfi
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
semana 1.pdf
semana 1.pdfsemana 1.pdf
semana 1.pdf
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 
Equipo1
Equipo1Equipo1
Equipo1
 
Equipo1
Equipo1Equipo1
Equipo1
 
4679923.ppt
4679923.ppt4679923.ppt
4679923.ppt
 
Administración de la memoria
Administración de la memoriaAdministración de la memoria
Administración de la memoria
 
Unidad A Aministración de la Memoria
Unidad A Aministración de la MemoriaUnidad A Aministración de la Memoria
Unidad A Aministración de la Memoria
 
Unidades 3,4,y 5
Unidades 3,4,y 5Unidades 3,4,y 5
Unidades 3,4,y 5
 
Expo Sistemas Operativos
Expo Sistemas OperativosExpo Sistemas Operativos
Expo Sistemas Operativos
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Gestion de particiones de memoria.ppt
Gestion de particiones de memoria.pptGestion de particiones de memoria.ppt
Gestion de particiones de memoria.ppt
 
Unidad3
Unidad3Unidad3
Unidad3
 
Luis lozano
Luis   lozanoLuis   lozano
Luis lozano
 

Administracion de memoria

  • 1. Instituto Tecnológico Superior de El Mante Sistemas Operativos Unidad III: Administración de memoria ISC. Roberto Rangel Anguiano Cd. Mante, Tamaulipas A 30 de Septiembre de 2013
  • 2. Memoria • La memoria es un recurso importante que se debe administrar con cuidado. • La parte del sistema operativo que administra la jerarquía de memoria se denomina administrador de memoria.
  • 3. Programador • Idealmente, lo que a todo programador le gustaría es una memoria infinitamente grande y rápida que además no sea volátil, es decir, que no pierda su contenido cuando se interrumpa la alimentación eléctrica.
  • 4. Administración de la memoria en los sistemas monoprogramados Programa de usuario Núcleo en RAM OxFF… Programa de usuario Núcleo en ROM OxFF… Programa de usuario Sistema Operativo en RAM OxFF…Controladores de dispositivos en ROM Tres formas de organización de la memoria RAM, con un sistema operativo y un proceso de usuario. Todo el programa es cargado a memoria para su ejecución Programa de usuario Sistema Operativo Dirección del registro limite CPU Registro limite Protección de la Memoria PC de IBM BIOS
  • 5. Administración de la memoria en los sistemas multiprogramados Núcleo del S.O 512 Proceso 1 Proceso 2 Proceso 3 Proceso n d1 d2 d3 d4 dm Los problemas que aparecen en los sistemas multiprogramados y/o multiusuarios son: 1. Llevar un recuento de las zonas de memoria ocupadas por los procesos. ¿Qué proceso ocupa cual espacio?. 2. El momento de escribir un programa no se sabe en qué zona de memoria se ubicará, siendo posible que durante la vida de un proceso éste cambie varias veces de lugar. 3. La protección de las zonas de memoria ocupadas por los procesos, máxime en sistemas multiusuario donde los procesos pueden pertenecer a distintos usuarios. Direcciones de memoria
  • 6. Gestión de Memoria Los requisitos que se intentan satisfacer en la gestión de la memoria en los sistemas donde se emplea la multiprogramación o los sistemas multiusuarios son: 1. Reubicación. 2. Protección. 3. Compartición. 4. Organización lógica. 5. Organización física. Memoria Principal Reubicación Compartición Protección, organización física y lógica Memoria Virtual
  • 7. Asignación de memoria contigua Núcleo del S.O 512 512 k 512 k 512 k 512 k 512 k 512 k 512 k Particiones estáticas Organización de la memoria: La memoria se divide en regiones con límites fijos, con dos alternativas: 1. particiones igual tamaño o 2. particiones de diferentes tamaños. Núcleo del S.O 512 128 k 256 K 320 k 512 k 576 k 768 k 1 M Asignación de procesos a la memoria: Se pueden tener dos esquemas de asignación de memoria en particiones estáticas utilizando colas de procesos: 1. Colas de planificación para cada partición. 2. Una cola de planificación para la memoria (mayor eficiencia)
  • 8. Asignación de memoria contigua Sistema operativo 512 512 k 512 k 512 k 512 k 512 k 512 k 512 k Proceso A 128 K Particiones estáticas Una vez introducido un proceso en una partición, permanece en ella hasta su finalización aunque se encuentren libres otras particiones. Esto provoca una pérdida de eficiencia Los trabajos se traducían mediante compiladores y ensambladores absolutos, para ejecutarse en una partición específica Proceso B 256 K Proceso C 640 K Listos Bloqueados Ejecución Espera eventoTermina evento Interrupción de reloj 384 k 256 k 384 k Proceso del S.O. 128 K Solicitud para entrar al sistemas Bloqueados Suspendidos Listos Suspendidos Interrupción de reloj Memoria secundaria ¿Cuántos procesos Pueden colocarse en memoria secundaria? 1024 K
  • 9. Asignación de memoria contigua Particiones estáticas Sistema operativo Procesos nuevos Cuando un proceso se introduce en una partición, lo más probable es que su tamaño no sea el mismo (es decir, sea algo menor) que el de la partición. Esto origina un problema de desperdicio de memoria conocido como fragmentación interna. Algunas colas estarán saturadas por procesos que tienen un tamaño similar a la partición mientras que otras estarán vacías o semivacías. Sistema operativo Procesos nuevos
  • 10. Asignación de memoria contigua Particiones estáticas Se minimiza la partición interna porque cada proceso es asignado a la partición más pequeña. Para ello se supone que se conoce el tamaño de la cantidad de memoria que ocupa un proceso lo cual no siempre es cierto. Procesos nuevos Sistema operativo 512 128 k 256 K 320 k 512 k 576 k 768 k 1 M Procesos nuevos Sistema operativo 512 128 k 256 K 320 k 512 k 576 k 768 k 1 M
  • 11. ● PROCESO 10000 10100 Memoria RAM Askdlkelirlekrlkerklerlkerlkerlkertlk ertlertlertjlekrtlekrtlkertletjl Askdlkelirlekrlkerklerlkerlkerlkertlk ertlertlertjlekrtlekrtlkertletjl Askdlkelirlekrlkerklerlkerlkerlkertlk ertlertlertjlekrtlekrtlkertletjl Askdlkelirlekrlkerklerlkerlkerlkertlk ertlertlertjlekrtlekrtlkertletjl Proceso Askdlkelirlekrlkerklerlkerlkerlkertlk ertlertlertjlekrtlekrtlkertletjl Askdlkelirlekrlkerklerlkerlkerlkertlk ertlertlertjlekrtlekrtlkertletjl Askdlkelirlekrlkerklerlkerlkerlkertlk ertlertlertjlekrtlekrtlkertletjl Askdlkelirlekrlkerklerlkerlkerlkertlk ertlertlertjlekrtlekrtlkertletjl 0 100 Dirección relativa Dirección real Registro Base (RB) 10000 Acumulador (A) 100 MMU RB + A CPU Ejecución de la instrucción del proceso BCP Información sobre las direcciones reales Enviado por el BUS Programa Pila Datos La traducción de las direcciones virtuales a reales es implementada por una Unidad de Manejo de Memoria (MMU).
  • 12. A A F A B C D C E C E Asignación de memoria contigua Particiones dinámicas 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 G Memoria Virtual A, F, C o E Pasar temporalmente un proceso para dar oportunidad a un nuevo proceso para ejecutarse No hay espacio
  • 13. A A F A B C D C E C E Asignación de memoria contigua Particiones dinámicas 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 El continuo ingreso y salida de los procesos producen huecos en la memoria demasiado pequeños para que un proceso pueda colocarse. A este tipo de fragmentación se le conoce como fragmentación externa. La recuperación de los huecos de memoria puede llevarse a cabo por medio de la técnica de compactación donde los espacios disponibles de memoria son colocados en la parte inferior y los procesos en la parte superior. Sin embargo, este proceso es demasiado lento y posiblemente no justifique el consumo de recursos, debido a que el sistema debe estar inactivo para poder realizar la compactación.
  • 14. A F G C E Asignación de memoria contigua Particiones dinámicas H Estrategias de colocación Primer ajuste. Primera partición de memoria que se encuentre libre. Mejor ajuste. Busca y asigna la partición de memoria que mejor se ajuste al tamaño del proceso tratando de dejar libre la menor cantidad de memoria Peor ajuste. Se busca y asigna la partición de mayor tamaño para dejar libre la mayor cantidad de memoria para que pueda colocarse otro proceso en ella.
  • 15. Administración de memoria particiones estáticas Partición estática. Es suficiente con guardar en una tabla la información sobre la partición que está libre o que está ocupada y qué proceso se encuentra en ella, así como la direcciones de comienzo y fin de la partición. ¿Cómo se lleva el control de la memoria que se encuentra disponible y aquella que esta ocupada? No. de partición Libre/ ocupada Id del Proceso Inicio de la partición Fin de la partición Tabla de administración de la memoria Partición dinámica pueden ser implementada por 1. Mapa de bits. 2. Listas enlazadas. 3. Sistema de los asociados.
  • 16. Administración de memoria particiones dinámicas Mapas de bits Se divide la memoria en bloques de cierto tamaño y se mantiene en memoria una tabla donde cada bit se utiliza para identificar un bloque ocupado (1) o libre (0). Si las particiones son muy pequeñas se tendrá un mapa de bits muy grande y viceversa. Listas enlazadas La lista esta compuesta por los siguientes campos:  Bit que representa un proceso o una partición disponible.  Numero de bloque de inicio.  Numero de bloques utilizados.  Puntero al siguiente nodo en la lista. Ventajas: La actualización de la lista enlazada es directa. Desventaja: La búsqueda del un hueco que pueda satisfacer la solicitud de memoria para un proceso es lento. La solución puede ser la creación de dos listas enlazadas, una para los procesos y otra para los espacios libres. Esto provoca que se dé mantenimiento a dos listas cuando un proceso termina y cuando se otorga memoria a otro proceso. A B C D E P 0 5 ● H 5 3 ● P 8 6 ● P 14 4 ● H 18 2 ● P 20 6 ● P 26 3 ● H 29 3 XHueco o proceso Inicio Longitud
  • 17. Administración de memoria particiones dinámicas Sistemas asociados Consiste en tener la memoria inicialmente como un gran espacio libre que se irá particionando en múltiplos de potencia de 2 cada vez que un proceso haga la solicitud de memoria. P B 1 MB 512 KB 256 KB 128 KB P 56 K 512 K 512 K 256 K 256 K256 K 256 K 128 K 128 K 128 K 128 K 128 K 128 K 128 K 128 K 64 K 64 K 64 K 64 K 64 K 64 K 64 K 64 K 64 K 64 K 64 K 64 K 64 K 64 K 64 K 64 K 1 M
  • 18. Bloque de control de Proceso Código Datos Pila Dirección Relativa o lógica Sumador Comparador Registro Base Registro Límite Interrupción al Sistema Operativo Dirección Absoluta, física o real Imagen de un Proceso en Memoria Principal Soporte del Hardware para la reubicación. AcumuladorMemoryManagementUnit Para el intercambio de procesos entre la memoria real y la memoria virtual se requiere un mecanismo que reubique los procesos sin perder las referencias que se hacen dentro de él. Los programas que emplean direcciones relativas se cargan mediante cargadores dinámicos durante la ejecución. La Unidad Manejadora de Memoria (MMU) realiza la traducción de las direcciones relativas en direcciones físicas en la memoria principal.
  • 19. Palabra 0 Palabra z Palabra 0 Palabra z Palabra 0 Página 0 Palabra z Página 1 Palabra 1 Palabra z Página n-1 Programa XYZ 1 11 0 1 1 10 1 0 1 1 10 1 1 1 2 Los ordenadores modernos normalmente tienen un tamaño de palabra de 16, 32 ó 64 bits. 3 4 5 6 7 8 9 10 11 12 13 14 15 16 palabra Marco n-1 Página 0 Página n-1 Página Marco 0 Página Memoria Programa XYZ 1. Cada página consiste en z palabras contiguas 2. Un espacio de direcciones N de un programa consiste de n páginas (0,1,2,3…n-1) (n*z direcciones virtuales) 3. el espacio de memoria consiste de m marcos de paginas (0,z,2z,…,(m- 1)z)(m*z posiciones) La técnica de paginación simple es similar a la partición estática. Las diferencias están en que, con paginación las particiones son más pequeñas, un programa puede ocupar más de una partición y éstas no tienen por qué estar contiguas. Memoria virtual Paginación
  • 20. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A.0 A.1 A.2 A.3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A.0 A.1 A.2 A.3 B.0 B.1 B.2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A.0 A.1 A.2 A.3 B.0 B.1 B.2 C.0 C.1 C.2 C.3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A.0 A.1 A.2 A.3 C.0 C.1 C.2 C.3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 A.0 A.1 A.2 A.3 D.0 D.1 D.2 C.0 C.1 C.2 C.3 D.3 D.4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 (a) 15 páginas libres b) Carga del proceso A c) Carga del proceso B d) Carga del proceso C e) Expulsión del proceso B f) Carga del proceso D 0 1 2 3 -- -- -- 0 1 2 4 5 6 11 12 0 1 2 3 4 7 8 9 10 0 1 2 3 13 14 Tablas del páginas del Proceso A Tablas del páginas del Proceso B Tablas del páginas del Proceso C 0 1 2 3 Tablas del páginas del Proceso D Listas de marcos libres
  • 21. Una dirección virtual a es equivalente a una dirección dada como una dupla (p, d), en la cual p es el número de la página y d el número de la palabra dentro de la página Palabra 0 Palabra z Palabra 0 Palabra z Palabra 0 Página 0 Palabra z Página 1 Palabra 1 Palabra z Página n-1 ),(a = dp Marco 0 Palabra de 16 bits 0000010111011110 Página de 1024 bits = 1 K 0 10 0 0 0 10 1 1 0 1 11 1 0 Dirección lógica de bits No. de página de 6 bits 000101 000110 000101 0 1 2 0 10 0 0 1 01 1 1 0 1 11 1 0 Desplazamiento de 10 bits Dirección física de 16 bits
  • 22. Memoria Asociativa En la práctica es necesario que la mayoría de los accesos a memoria no impliquen una consulta a la tabla de páginas, sino que únicamente requieran el acceso a la posición solicitada. Esto se logra mediante el uso de una memoria asociativa interna en la MMU que mantiene información sobre las últimas páginas accedidas. Esta memoria asociativa es considerada memoria cache especial de alta velocidad.
  • 23. Páginas compartidas Otra ventaja de la paginación es la posibilidad de compartir programas de uso común. Esta técnica resulta sumamente importante en un entorno de tiempo compartido. Se pueden compartir desde editores como compiladores, ensambladores y sistemas de base de datos. Para que sean compartibles, el código debe ser reentrante (no automodificable), es decir, el código es sólo de búsqueda o sólo lectura. ed1 ed1 ed1 Datos 1 ed1 ed1 ed1 Datos 1 ed1 ed1 ed1 Datos 1 3 4 6 1 3 4 6 7 3 4 6 2 Proceso P1 Proceso P2 Proceso P3 Tabla de Páginas P1 Tabla de Páginas P2 Tabla de Páginas P3 Datos 1 Datos 3 ed1 ed2 ed3 Datos 2 0 1 2 3 4 5 6 7 8 9 10
  • 24. Memoria virtual Segmentación subrutina pila Tabla de símbolos Programa principal Sqrt Segmento 0 Segmento 1 Segmento 2 Segmento 4 Segmento 3 Límite 1000 400 400 1100 1000 Base 1400 6300 4300 3200 4700 0 1 2 3 4 Tabla de segmentos Segmento 0 Segmento 3 Segmento 2 Segmento 4 Segmento 1 1400 2400 3200 6700 6300 5700 4700 4300 La segmentación es un esquema de administración de la memoria que soporta la visión que el usuario tiene de la misma. Un espacio de direcciones lógicas es una colección de segmentos. Cada segmento tiene un nombre y una longitud. Las direcciones especifican tanto el nombre del segmento como el desplazamiento dentro del segmento. Por lo tanto, el usuario especifica cada dirección mediante dos cantidades: un nombre de segmento y un desplazamiento.
  • 25. Memoria virtual Segmentación La segmentación simple siempre hace uso de una tabla de segmentos para cada proceso y una tabla de segmentos en la memoria principal. La tabla de segmentos para un proceso contiene la dirección física de comienzo del segmento y la longitud máxima de éste (como medida de protección, para evitar referencias a segmentos que no corresponda). Tabla de segmentos Limite Bases d CPU < + Memoria interrupción sí no s
  • 26. 0 1 00 0 0 1 00 1 1 1 1 00 0 0 Dirección lógica de 16 bits No. de página de 4 bits Desplazamiento de 12 bits 001011101110 011110011110 0 1 0 1 10 1 0 00 0 0 0 1 00 0 0 0000010000000000 0010000000100000 + Longitud Base Tabla de segmentos del proceso En forma análoga a la paginación, el proceso de traducción de direcciones en la segmentación, consiste en los siguientes pasos: 1. Extraer el número de segmentos de los n bits más significativos de la dirección lógica. 2. Emplear el número de segmentos como índice en la tabla de segmentos del proceso para obtener la dirección física de comienzo del segmento. 3. Comparar el desplazamiento expresado en los m bits menos significativos de la dirección lógica con la longitud del segmento, si es mayor, la dirección no es válida. 4. La dirección física buscada es la suma de la dirección física del inicio del segmento más el desplazamiento. Cuando un proceso se introduce en memoria, se cargan todos sus segmentos en regiones de memoria libres y se crea la tabla de segmentos.
  • 27. 1. Generalmente, el programador no conoce realmente el tamaño que utilizará una estructura de datos, luego si ésta tiene asignado un segmento podrá ser expandido o reducido según sus necesidades. 2. Los programas pueden ser compilados de manera independiente aunque sean módulos de otros programas. 3. Varios procesos pueden compartir segmentos, por si desean compartir datos. 4. Se pueden proteger los programas o datos asignando privilegios de acceso a los segmentos. Ventajas de la segmentación
  • 28. Combinación entre paginación y segmentación Las combinaciones entre paginación y segmentación son las siguientes: 1.Memoria no segmentada y no paginación: La dirección virtual es la misma que la dirección física. 2.Memoria paginada no segmentada: La memoria es un espacio de direcciones paginado. 3.Memoria segmentada no paginada: La memoria es un conjunto de direcciones lógicas. 4.Memoria segmentada paginada: La segmentación define particiones lógicas de memoria y la paginación gestiona la asignación de memoria dentro de las particiones.