Download - Administración de memorias actuales
ADMINISTRACIÓN DE LA MEMORIA
SISTEMAS ACTUALES
Ing. Walter Cubilla FP - UNA - Sistemas Operativos 1
FP - UNA - Sistemas Operativos 2
Introducción
Las técnicas de administración de memoria actuales o más recientes tienen la característica principal que eliminan la necesidad de almacenar los programas de manera contigua y de que todo el programa resida en la memoria durante su ejecución.
Ing. Walter Cubilla
FP - UNA - Sistemas Operativos 3
Introducción
Ing. Walter Cubilla
Asignación de la memoria en páginas
Asignación de memoriaen segmentos
Asignación de memoriaen paginación por demanda
Asignación de memoriapor segmentación con
paginación por demanda
FP - UNA - Sistemas Operativos 4
Tipos de esquemas de asignación de memoria
Paginación Paginación por demanda Segmentación Segmentación con paginación por
demanda
Ing. Walter Cubilla
FP - UNA - Sistemas Operativos 5
Paginación
El administrador de memoria utiliza tablas para llevar el control.
En esencia hay tres tablas: Tabla de tareas (JT) Tabla de mapa de páginas (PMT) Tabla de mapa de memoria (MMT)
Ing. Walter Cubilla
FP - UNA - Sistemas Operativos 6
Paginación
Antes de ejecutar un programa, el administrador de la memoria realiza: La determinación del número de páginas del
programa. La ubicación de suficientes marcos de páginas
vacíos en la memoria principal. La carga de todas las páginas del programa
en los mismos.
Ing. Walter Cubilla
FP - UNA - Sistemas Operativos 7
Asignación de la memoria en páginas
Ing. Walter Cubilla
Primeras 100 líneas
Segundas 100 líneas
Terceras 100 líneas
50 líneas restantesEspacio desperdiciado
Sistema OperativoPágina 0
Página 1
Página 2
Página 3
Tarea 1- Página 2
Tarea 1- Página 0
Tarea 1- Página 1
Tarea 1- Página 3
0
1
2
3
4
5
6
7
8
9
10
11
12
Tarea 1 Memoria principal
Número deMarco depágina
FP - UNA - Sistemas Operativos 8
Paginación por demandaCaracterísticas generales
Introdujo la idea de cargar nada más una porción del programa en la memoria para su procesamiento.
Fue el primer esquema que eliminó la necesidad de colocar toda la tarea en la memoria desde el principio hasta el final de su proceso.
Las tareas siguen divididas en páginas del mismo tamaño, que inicialmente residen en almacenamiento secundario. Una vez iniciada la ejecución, estas páginas pasan a la memoria conforme se necesitan.
Aprovecha que los programas se escriben de manera secuencial, mientras un módulo está en proceso, los demás están ociosos.
Así como el anterior esquema, utiliza tablas para controlar cómo y con qué frecuencia las páginas entran o salen de la memoria.
Ing. Walter Cubilla
FP - UNA - Sistemas Operativos 9
Paginación por demanda
Tarea 3 - P0
Tarea 1 - P0
Tarea 4 - P0
Tarea 1 – P2
Tarea 3 – P1
0
1
2
3
4
5
6
7
8
9
Memoria principal
Sistema Operativo
Tarea 1 – P1
Tarea 2 - P0 10
11
12
13
14
15
Tarea 3 – P2
Tarea 1 – P3
Tarea 4 – P1
Tarea 2 – P1
Tarea 4 – P2
Pagina 0
Pagina 1
Pagina 2
Pagina 3
Tarea 1 Tarea 1 PMT
P0 S 5
P1 S 9
P2 S 7
P3 S 12
Nro de marco de página
referenciamodificación
estado
Pagina 0
Pagina 1
Tarea 2 Tarea 2 PMT
P0 S 10
P1 S 14
Pagina 0
Pagina 1
Pagina 2
Tarea 3 Tarea 3 PMT
P0 S 4
P1 S 8
P2 S 11
Pagina 0
Pagina 1
Pagina 2
Tarea 4 Tarea 4 PMT
P0 S 6
P1 S 13
P2 S 15
Pagina 3
Pagina 4
P3 N
P4 N
Pagina 5 P5 N
Ing. Walter Cubilla
FP - UNA - Sistemas Operativos 10
SegmentaciónCaracterísticas generales
Cada tarea se divide en varios segmentos de tamaños diferentes.
Cuando se compila un programa, los segmentos se conforman de acuerdo con los módulos estructurales del programa. Por ejemplo: el programa principal, la subrutina A, la subrutina B.
Cada segmento está numerado y para cada tarea se genera una tabla de mapa de segmentos (SMT) que contiene: número de segmento, longitud y localización en la misma.
Para controlar los segmentos, utiliza tres tablas que combinan aspectos de particiones dinámicas y de paginación por demanda.
Igual que en la paginación por demanda, las instrucciones dentro de cada segmento están ordenadas en secuencia, pero los segmentos no necesitan almacenarse juntos en la memoria.
Ing. Walter Cubilla
FP - UNA - Sistemas Operativos 11
Asignación en segmentos
Segmento 0
0 Programa principal
349
Segmento 1
0 Subrutina A
199
Segmento 2
0 Subrutina B
99
Asignación de memoria en segmentos
Ing. Walter Cubilla
FP - UNA - Sistemas Operativos 12
Asignación en segmentos
0 Programa principal
349
0 Subrutina A
199
0Subrutina B
99
Número de segmento
Tamaño Estado AccesoDirección
de lamemoria
0
1
2
350
200
100
S
S
N
E
E
E
4000
7000Sistema
Operativo
0
3000
Vacío
Programaprincipal
Otrosprogramas
Subrutina A
Otrosprogramas
4000
7000
Tabla de mapa de segmentos para la tarea 1
Memoria principal
S = sí (en memoria)
N = no ( no en memoria)
S = sólo ejecutar
Ing. Walter Cubilla
FP - UNA - Sistemas Operativos 13
Segmentación con paginación por demanda – Características generales
Es una combinación de la segmentación y de la paginación por demanda.
Ofrece los beneficios lógicos de la segmentación y las ventajas físicas de la paginación.
No conserva cada segmento en una unidad única contigua, sino que lo subdivide en páginas de igual tamaño, más pequeñas que la mayor parte de los segmentos y más fáciles de manipular.
Requiere de cuatro tablas: la tabla de tareas (JT) la tabla de mapa de segmentos (SMT) la tabla de mapa de páginas (PMT) la tabla de mapa de memoria (MMT)
Ing. Walter Cubilla
FP - UNA - Sistemas Operativos 14
Segmentación con paginación por demanda
Númerodetarea
Puntero a tabla demapa de segmentos
0
1
2
.
.
.
.
N
Númerodesegmento
Puntero a tabla demapa de páginas
0
1
2
0
1
2
3
Tarea 1
Tarea 0
0
1
2
3
Tarea N
Tabla de tareas activas Tabla de mapa de segmentos Tabla de mapa de páginas
Númerodepágina
Número demarco de página
0
1
7
4
Tarea 0/segmento 0
0
1
2
3
11
-
Tarea 0/segmento 1
0
1
8
13
Tarea 0/segmento 2
0
1
2
Tarea 1/segmento 0
0
1
Tarea 1/segmento 1
0
1
2
Tarea 1/segmento 3
Sistemaoperativo
0
1
2
Tarea0/seg1/pag0
Tarea0/seg0/pag1
3
4
5
Tarea0/seg0/pag0
Tarea0/seg2/pag0
Tarea0/seg1/pag1
6
7
8
9
10
11
12
13 Tarea0/seg2/pag1
14
Memoria principal
Ing. Walter Cubilla
FP - UNA - Sistemas Operativos 15
Memoria Virtual
La capacidad de mover a voluntad las páginas de un programa entre la memoria principal y el almacenamiento secundario dio entrada a un nuevo concepto, bien llamado memoria virtual.
A partir de la paginación por demanda se hizo posible que un programa se ejecutara, aún cuando sólo parte del mismo estuviera en la memoria principal, eliminando la restricción impuesta al tamaño máximo de programa.
Ing. Walter Cubilla
FP - UNA - Sistemas Operativos 16
Memoria VirtualPaginación y Segmentación
Memoria virtual con paginación Memoria virtual con segmentación
Permite la fragmentación interna dentro de los marcos de página
No permite la fragmentación externa
Los programas se dividen en páginasde tamaño igual
La dirección absoluta se calcula utilizando el número de página y el desplazamiento
Requiere PMT
No permite la fragmentación interna
Permite la fragmentación externa
Los programas se dividen en segmentos desiguales
La dirección absoluta se calcula usando el número de segmento y el desplazamiento
Requiere SMT
Ing. Walter Cubilla
FP - UNA - Sistemas Operativos 17
Administrador de MemoriaConclusión
El administrador de la memoria tiene la tarea de asignar la memoria a cada trabajo que se va ejecutar y recuperarla cuando se haya terminado la ejecución.
Ing. Walter Cubilla