SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
SISTEMAS OPERATIVOS
Administración de
Memoria
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
Administración de la memoria en los sistemas
monoprogramados
Programa de
usuario
Sistema Operativo
en RAM
OxFF…
‫ﻝ‬
Programa de
usuario
Sistema Operativo
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
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
Administración de la memoria en los sistemas
multiprogramados
Sistema operativo
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. Que 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
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
Asignación de memoria contigua
Sistema operativo
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.
Sistema operativo
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)
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
Asignación de memoria contigua
Sistema operativo
512
512 k
512 k
512 k
512 k
512 k
512 k
512 k
Procesos
nuevos
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
Sistema operativo
512
512 k
512 k
512 k
512 k
512 k
512 k
512 k
Procesos
nuevos
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
●
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
Informacion
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).
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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.
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computació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.
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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.
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
Administración de memoria particiones estáticas
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
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
Administración de memoria particiones estáticas
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
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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.
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computació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
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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.
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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.
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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.
INSTITUTO TECNOLOGICO DE CIUDAD MADERO
Sistemas OperativosDepartamento de Sistemas y Computación
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

Estructura física y lógica del disco duro
Estructura física y lógica del disco duroEstructura física y lógica del disco duro
Estructura física y lógica del disco duro
gematic
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
adriel91
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
Isaí Beto Matz Mijes
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
sueich
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windows
omfib123
 

La actualidad más candente (20)

Estructura física y lógica del disco duro
Estructura física y lógica del disco duroEstructura física y lógica del disco duro
Estructura física y lógica del disco duro
 
GESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas OperativosGESTION DE PROCESOS Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 
Entrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas OperativosEntrada/Salida de Sistemas Operativos
Entrada/Salida de Sistemas Operativos
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
 
Sistemas de archivo - FAT - NTFS
Sistemas de archivo - FAT - NTFSSistemas de archivo - FAT - NTFS
Sistemas de archivo - FAT - NTFS
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Sistema Operativo Distribuido
Sistema Operativo DistribuidoSistema Operativo Distribuido
Sistema Operativo Distribuido
 
Sistemas de archivos
Sistemas de archivosSistemas de archivos
Sistemas de archivos
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
 
Conceptos de software
Conceptos de softwareConceptos de software
Conceptos de software
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salida
 
SO Unidad 3: Administración de memoria y sistemas de archivos
SO Unidad 3: Administración de memoria y sistemas de archivosSO Unidad 3: Administración de memoria y sistemas de archivos
SO Unidad 3: Administración de memoria y sistemas de archivos
 
Estructura del sistema operativo windows
Estructura del sistema operativo windowsEstructura del sistema operativo windows
Estructura del sistema operativo windows
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesos
 
Administración de Memoria
Administración de MemoriaAdministración de Memoria
Administración de Memoria
 

Destacado

Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
manyu1
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
yurihils
 
Trabajo memoria virtual.
Trabajo memoria virtual.Trabajo memoria virtual.
Trabajo memoria virtual.
velazqes
 
Paginación y segmentación de memoria virtual
Paginación y segmentación de memoria virtualPaginación y segmentación de memoria virtual
Paginación y segmentación de memoria virtual
Gloria Salamanca
 
Asignación de memoria continua
Asignación de memoria continuaAsignación de memoria continua
Asignación de memoria continua
Edgar Pauta
 
IntroduccióN A La InformáTica
IntroduccióN A La InformáTicaIntroduccióN A La InformáTica
IntroduccióN A La InformáTica
Pedro Dueñas
 
Procesos en windows
Procesos en windowsProcesos en windows
Procesos en windows
luis
 
Mantenimiento preventivo de hardware copia (2)
Mantenimiento preventivo  de hardware   copia (2)Mantenimiento preventivo  de hardware   copia (2)
Mantenimiento preventivo de hardware copia (2)
Juanaalfaro15
 
Actividad numero 1 ofimática
Actividad numero 1   ofimáticaActividad numero 1   ofimática
Actividad numero 1 ofimática
Natalia
 

Destacado (20)

Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas Operativos
 
Fernando rincon s.o memoria virtual
Fernando rincon s.o memoria virtualFernando rincon s.o memoria virtual
Fernando rincon s.o memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Trabajo memoria virtual.
Trabajo memoria virtual.Trabajo memoria virtual.
Trabajo memoria virtual.
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Paginación y segmentación de memoria virtual
Paginación y segmentación de memoria virtualPaginación y segmentación de memoria virtual
Paginación y segmentación de memoria virtual
 
Memory[1]
Memory[1]Memory[1]
Memory[1]
 
CompactacióN De Memoria Fer
CompactacióN De Memoria FerCompactacióN De Memoria Fer
CompactacióN De Memoria Fer
 
Modulo 3 Unidad 1: Introducción a la Gestión por Procesos
Modulo 3 Unidad 1: Introducción a la Gestión por ProcesosModulo 3 Unidad 1: Introducción a la Gestión por Procesos
Modulo 3 Unidad 1: Introducción a la Gestión por Procesos
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Asignación de memoria continua
Asignación de memoria continuaAsignación de memoria continua
Asignación de memoria continua
 
IntroduccióN A La InformáTica
IntroduccióN A La InformáTicaIntroduccióN A La InformáTica
IntroduccióN A La InformáTica
 
Procesos en windows
Procesos en windowsProcesos en windows
Procesos en windows
 
Introduccion informatica-basica-2013
Introduccion informatica-basica-2013Introduccion informatica-basica-2013
Introduccion informatica-basica-2013
 
Procesos en windows
Procesos en windowsProcesos en windows
Procesos en windows
 
Mantenimiento preventivo de hardware copia (2)
Mantenimiento preventivo  de hardware   copia (2)Mantenimiento preventivo  de hardware   copia (2)
Mantenimiento preventivo de hardware copia (2)
 
Actividad numero 1 ofimática
Actividad numero 1   ofimáticaActividad numero 1   ofimática
Actividad numero 1 ofimática
 

Similar a Gestion de Memoria

Administracion de memoria
Administracion de memoriaAdministracion de memoria
Administracion de memoria
Elias Rosales
 
1. introduccion a_los_sistemas_informaticos
1. introduccion a_los_sistemas_informaticos1. introduccion a_los_sistemas_informaticos
1. introduccion a_los_sistemas_informaticos
lauriskzs
 
S.O Una Visión Aplicada - Capitulo IV
S.O Una Visión Aplicada - Capitulo IVS.O Una Visión Aplicada - Capitulo IV
S.O Una Visión Aplicada - Capitulo IV
Oscar Eduardo
 
Ensayo registros
Ensayo registrosEnsayo registros
Ensayo registros
ERICA2c3
 

Similar a Gestion de Memoria (20)

Administracion de memoria
Administracion de memoriaAdministracion de memoria
Administracion de memoria
 
Procea
ProceaProcea
Procea
 
Unidades 3,4,y 5
Unidades 3,4,y 5Unidades 3,4,y 5
Unidades 3,4,y 5
 
Microcontrolador
MicrocontroladorMicrocontrolador
Microcontrolador
 
Procesador sparc, memoria virtual
Procesador sparc, memoria virtualProcesador sparc, memoria virtual
Procesador sparc, memoria virtual
 
1. introduccion a_los_sistemas_informaticos
1. introduccion a_los_sistemas_informaticos1. introduccion a_los_sistemas_informaticos
1. introduccion a_los_sistemas_informaticos
 
Gestion de dispositivos de entrada y salida
Gestion de dispositivos de entrada y salidaGestion de dispositivos de entrada y salida
Gestion de dispositivos de entrada y salida
 
Gestion de dispositivos es
Gestion de dispositivos esGestion de dispositivos es
Gestion de dispositivos es
 
Solemne 3 (con pauta)
Solemne 3 (con pauta)Solemne 3 (con pauta)
Solemne 3 (con pauta)
 
Procesos
ProcesosProcesos
Procesos
 
MICROCONTROLADOR
MICROCONTROLADORMICROCONTROLADOR
MICROCONTROLADOR
 
MICROCONTROLADOR
MICROCONTROLADORMICROCONTROLADOR
MICROCONTROLADOR
 
Jerarquia de la memoria dos
Jerarquia de la memoria dosJerarquia de la memoria dos
Jerarquia de la memoria dos
 
Jerarquía de la memoria
Jerarquía de la memoria Jerarquía de la memoria
Jerarquía de la memoria
 
S.O Una Visión Aplicada - Capitulo IV
S.O Una Visión Aplicada - Capitulo IVS.O Una Visión Aplicada - Capitulo IV
S.O Una Visión Aplicada - Capitulo IV
 
Cap04
Cap04Cap04
Cap04
 
Diagrama de bloque procesador intel
Diagrama de bloque procesador intelDiagrama de bloque procesador intel
Diagrama de bloque procesador intel
 
Sistemas operativos 1
Sistemas operativos 1Sistemas operativos 1
Sistemas operativos 1
 
Ensayo registros
Ensayo registrosEnsayo registros
Ensayo registros
 
Arquitectura de una computadora
Arquitectura de una computadoraArquitectura de una computadora
Arquitectura de una computadora
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 

Último (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

Gestion de Memoria

  • 2. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación Administración de la memoria en los sistemas monoprogramados Programa de usuario Sistema Operativo en RAM OxFF… ‫ﻝ‬ Programa de usuario Sistema Operativo 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
  • 3. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación Administración de la memoria en los sistemas multiprogramados Sistema operativo 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. Que 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
  • 4. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación Asignación de memoria contigua Sistema operativo 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. Sistema operativo 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)
  • 5. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación Asignación de memoria contigua Sistema operativo 512 512 k 512 k 512 k 512 k 512 k 512 k 512 k Procesos nuevos 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 Sistema operativo 512 512 k 512 k 512 k 512 k 512 k 512 k 512 k Procesos nuevos
  • 6. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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
  • 7. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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
  • 8. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación ● 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 Informacion 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).
  • 9. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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
  • 10. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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.
  • 11. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computació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.
  • 12. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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.
  • 13. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación Administración de memoria particiones estáticas 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
  • 14. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación Administración de memoria particiones estáticas 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
  • 15. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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.
  • 16. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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
  • 17. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computació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
  • 18. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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
  • 19. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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.
  • 20. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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
  • 21. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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.
  • 22. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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
  • 23. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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.
  • 24. INSTITUTO TECNOLOGICO DE CIUDAD MADERO Sistemas OperativosDepartamento de Sistemas y Computación 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.