PAGINADO


PAGINADO

Un proceso es un programa en ejecución que necesita un espacio de memoria para almacenar instrucciones y datos. Esta memoria se organiza de manera lógica para cada proceso, con direcciones que van desde 0 hasta un valor máximo. Sin embargo, asignar grandes bloques de memoria contigua puede generar fragmentación externa, dificultando un uso eficiente de la RAM. Para resolver este problema, los sistemas operativos implementan la técnica de paginado, que consiste en dividir la memoria lógica del proceso en bloques del mismo tamaño llamados páginas. Simultáneamente, la memoria física también se divide en bloques del mismo tamaño llamados marcos de página. Cada página del proceso puede ubicarse en cualquier marco disponible en la memoria, y esta relación se mantiene en una estructura llamada tabla de páginas. Cuando el proceso accede a una dirección lógica, el sistema operativo traduce esa dirección en una dirección física consultando dicha tabla. Si la página requerida no se encuentra en la RAM, se produce un fallo de página y el sistema operativo la trae desde el disco. Cuando no hay espacio libre, se utiliza un algoritmo de reemplazo de página para decidir cuál eliminar, siendo comunes los algoritmos FIFO, LRU. El paginado permite ejecutar procesos grandes en memorias pequeñas, evita la fragmentación externa y optimiza el uso de la RAM, aunque introduce cierta sobrecarga en la administración de tablas y puede generar múltiples fallos de página si no se gestiona adecuadamente.
PAGINADO


Algoritmo de Reemplazo de Páginas
-
Son técnicas que el sistema operativo usa para decidir qué página eliminar de la memoria cuando ésta está llena.
-
Se aplican en gestión de memoria virtual, donde no todas las páginas pueden permanecer en RAM al mismo tiempo.
-
El objetivo es minimizar los fallos de página y mantener el rendimiento del sistema.
Tipos de algoritmos más comunes
PAGINADO

Simulación de Reemplazo de Página con FIFO


PAGINADO
Simulación de Reemplazo de Página con FIFO
PAGINADO

Simulación de Reemplazo de Página con LRU


PAGINADO

HERRAMIENTA simulación de Reemplazo de Página con FIFO, LRU
Sea el mapa de memoria que se muestra en la figura 2, corresponde a un sistema de paginado. La tabla de páginas comienza en la dirección A0A0 siendo el número de páginas de 16.
FIGURA 2
EJERCICIO - PAGINADO
Descripción de los Registros de la Tabla de Páginas
- El bit 31 indica con un 1 si la página se encuentra en memoria principal
- El bit 30 indica con un 1 si la página fue modificada.
- El bit 29 indica el puntero V del algoritmo FINUFO siendo 1 cuando la página fue convocada más de una vez.
- Los bits del 16 al 27 referencian a memoria secundaria.
- Los bits del 0 al 15 corresponden a la dirección de comienzo de la página en memoria principal.
EJEMPLO DIRECCION A0A0

0 0 0 0
0 0 0 1
1 0 1 0
1 0 1 0
1 0 1 0
1 1 0 1
0 0 0 0
0 0 0 0

La figura 1 muestra la situación de los marcos de páginas
(5 marcos), que corresponden al espacio asignado. Este sistema de paginado permite trabajar tanto con técnicas FINUFO como LRU, para lo cual el registro F0A0 contiene la siguiente información:
Los 16 bits menos significativos corresponden a la dirección de comienzo de la lista (1º nodo) para el algoritmo LRU
Los 16 bits más significativos corresponden a la dirección de la página primero ingresada.
FIGURA 1
Para el caso del Algoritmo LRU
Los registros nodos de la lista contienen la siguiente información:
- Los 16 bits menos significativos corresponden al puntero al siguiente nodo.
- Los 16 bits más significativos corresponden a la dirección de comienzo del marco de página.
El fin de la lista se indica con un 9999.
los 16 bits menos sig siempre corresponde a la dir del 1° nodo LRU
Descripción de la Tabla de Marcos de Páginas
La tabla de marcos de páginas está formada por cinco registros de 32 bits. Cada registro tiene la siguiente información
- Los bits del 0 al 15 indican la dirección de comienzo del marco de página en memoria principal
- El bit 31 indica con un 1 si la página fue modificada.
- El bit 30 indica con un 1 el puntero V del algoritmo FINUFO
- El bit 29 indica con un 0 que el marco de página se encuentra ocupado con una página.
- Los bit del 24 al 27 me indican el número de página que está cargado en ese marco de página.
FIGURA 1

*
PAGINADO

Problema:
Para el enunciado anterior muestre la situación final de los registros que Ud. Considere han cambiado cuando se solicita ingresar la página 3, 5 y 8.
En caso de producirse un reemplazo utilice el criterio LRU
PAGINADO

ARMAR LRU
Analizar información de la direccion F0A0
F0A0
A0A2
A0B0
A0B0
1000
A0B1
A0B1
3000
A0B2
A0B2
2000
F0A1
F0A1
4000
F0A2
F0A2
5000
9999
dir marco pág
ps
ps
ps
ps
fin
LRU = 0,2,6,4,7
16 bit - sig, corresponden a la direccion de comienzo de la lista (1°nodo) para el alg LRU
8 0 A B 1 0 0 0
27 26 25 24
1000
4 2 1 2 3 0 0 0
27 26 25 24
3000
0 6 E C 2 0 0 0
27 26 25 24
2000
C 4 9 8 4 0 0 0
27 26 25 24
4000
4 7 8 7 5 0 0 0
27 26 25 24
5000
dir marco pág
dir marco pág
dir marco pág
dir marco pág
LRU = Algoritmo Menos Recientemente Usada
PAGINADO

A0A3
4 B 9 8 7 5 2 1
0001
0001
0001
0001
0001
0001
0001
0001
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
MS
Primera Instruccion = Ingresar PAG 3
información de TABLA DE PAG
desarrollo del EJERCICIO
se produce lo que se llama falla de pág
Sea el mapa de memoria que se muestra en la figura 2, corresponde a un sistema de paginado. La tabla de páginas comienza en la dirección A0A0 siendo el número de páginas de 16.
FIGURA 2
TABLA DE PAGINAS
Descripción de los Registros de la Tabla de Páginas
- El bit 31 indica con un 1 si la página se encuentra en memoria principal
- El bit 30 indica con un 1 si la página fue modificada.
- El bit 29 indica el puntero V del algoritmo FINUFO siendo 1 cuando la página fue convocada más de una vez.
- Los bits del 16 al 27 referencian a memoria secundaria.
- Los bits del 0 al 15 corresponden a la dirección de comienzo de la página en memoria principal.
EJEMPLO DIRECCION A0A0

PAGINADO


Existe marco de paginas libres ó disponibles para alojar a la PAG 3
PAGINADO


Que se de bebe hacer para llevar PAG 3 a memoria principal
PAGINADO

LRU = 0, 2, 6, 4, 7
MS
Analizar LRU
1°
MP
Pagina candidata o victima
PAGINADO

A0A0
D A A A 1 0 0 0
0000
0000
0000
0001
1010
1010
1010
1101
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
MP
Analizar información de PAG 0, primer elemento del LRU
2°
0101 = 5
A0A0
5 A A A 1 0 0 0
0000
0000
0000
0001
1010
1010
1010
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
MS
0101
Dir. marco pág. donde estaba alojada PAG 0

PAGINADO

A0A3
4 B 9 8 7 5 2 1
0001
0010
0101
0111
1000
1001
1011
1100
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
MP
Analizar información de PAG 3, para llevarla a MP
3°
1100 = C
MS
0100
A0A3
C B 9 8 1 0 0 0
0000
0000
0000
0001
1000
1001
1011
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28

PAGINADO

1000
8 0 A B 1 0 0 0
0000
0000
0000
0001
1011
1010
0000
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
Pág 0
ACTUALIZAR informacion de la Tabla de Marco de Página
4°
1000
1000
8 3 A B 1 0 0 0
0000
0000
0000
0001
1011
1010
0011
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
Pág 3
1000

PAGINADO

ARMAR LRU
Analizar información de la direccion F0A0
F0A0
A0A2
A0B0
A0B0
1000
A0B1
A0B1
3000
A0B2
A0B2
2000
F0A1
F0A1
4000
F0A2
F0A2
5000
9999
pagina = 2
página = 0
ps
ps
ps
ps
pagina = 6
pagina = 4
pagina = 7
fin
LRU = 0,2,6,4,7
5°
A0B1
3000
A0B2
A0B2
2000
F0A1
F0A1
4000
F0A2
F0A2
5000
A0B0
pagina = 2
ps
ps
ps
pagina = 6
pagina = 4
pagina = 7
ps
F0A0
A0A2
A0B1
A0B0
1000
9999
página = 3
fin
LRU = 2,6,4,7,3
9999
FIGURA 2


FIGURA 1
LRU = 2,6,4,7,3
PAGINADO

A0A5
2 C 0 0 0 0 1 1
0001
0001
0000
0000
0000
0000
1100
0010
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
MS
Segunda Instrucción = Ingresar PAG 5
PAGINADO


Existe marco de paginas libres o disponibles para alojar a la PAG 5
PAGINADO


Que se de bebe hacer para llevar PAG 5 a memoria principal
PAGINADO

LRU = 2, 6, 4, 7, 3
MS
Analizar LRU
1°
MP
pagina candidata o victima
PAGINADO

A0A2
B 4 2 C 3 0 0 0
0000
0000
0000
0011
1100
0010
0100
1011
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
MP
Analizar información de PAG 2, primer elemento del LRU
2°
0011 = 3
A0A2
3 4 2 C 3 0 0 0
0000
0000
0000
0011
1100
0010
0100
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
MS
0011
Dir. marco pág. donde estaba alojada PAG 2

PAGINADO

A0A5
2 C 0 0 0 0 1 1
0001
0001
0000
0000
0000
0000
1100
1010
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
MP
Analizar información de PAG 5, para llevarla a MP
3°
1010 = A
MS
0010
A0A5
A C 0 0 3 0 0 0
0000
0000
0000
0011
0000
0000
1100
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28

PAGINADO

3000
4 2 1 2 3 0 0 0
0000
0000
0000
0011
0010
0001
0010
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
Pág 2
ACTUALIZAR informacion de la Tabla de Marco de Página
4°
0100
3000
4 5 1 2 3 0 0 0
0000
0000
0000
0011
0010
0001
0101
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
Pág 5
0100

PAGINADO

ARMAR LRU
Analizar información de la direccion F0A0
5°
A0B1
3000
A0B2
A0B2
2000
F0A1
F0A1
4000
F0A2
F0A2
5000
A0B0
pagina = 2
ps
ps
ps
pagina = 6
pagina = 4
pagina = 7
ps
F0A0
A0A2
A0B1
A0B0
1000
9999
página = 3
fin
LRU = 2,6,4,7,3
A0B1
3000
9999
A0B2
2000
F0A1
F0A1
4000
F0A2
F0A2
5000
A0B0
pagina = 5
fin
ps
ps
pagina = 6
pagina = 4
pagina = 7
ps
F0A0
A0A2
A0B2
A0B0
1000
A0B1
página = 3
ps
LRU = 6,4,7,3,5
FIGURA 2




FIGURA 1
LRU = 6,4,7,3,5
PAGINADO

A0A8
3 4 3 5 A A B B
1011
1011
1010
1010
0101
0011
0100
0011
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
MS
Tercera Instrucción = Ingresar PAG 8

PAGINADO


Existe marco de paginas libres o disponibles para alojar a la PAG 8
PAGINADO


Que se de bebe hacer para llevar PAG 8 a memoria principal
PAGINADO

LRU = 6, 4, 7, 3, 5
MS
Analizar LRU
1°
MP
Página candidata o victima
PAGINADO

A0A6
9 A 4 2 2 0 0 0
0000
0000
0000
0010
0010
0100
1010
1001
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
MP
Analizar información de PAG 6, primer elemento del LRU
2°
0001 = 1
A0A6
1 A 4 2 2 0 0 0
0000
0000
0000
0010
0010
0100
1010
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
MS
0101
Dir. marco pág. donde estaba alojada PAG 6

PAGINADO

A0A8
3 4 3 5 A A B B
1011
1011
1010
1010
0101
0011
0100
1011
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
MP
Analizar información de PAG 8, para llevarla a MP
3°
1011 = B
MS
0011
A0A8
B 4 3 5 2 0 0 0
0000
0000
0000
0010
0101
0011
0100
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28

PAGINADO

2000
0 6 E C 2 0 0 0
0000
0000
0000
0010
1100
1110
0110
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
Pág 6
ACTUALIZAR informacion de la Tabla de Marco de Página
4°
0000
2000
0 8 E C 2 0 0 0
0000
0000
0000
0010
1100
1110
1000
3 2 1 0
7 6 5 4
11 10 9 8
15 14 13 12
19 18 17 16
23 22 21 20
27 26 25 24
31 30 29 28
Pág 8
0000

PAGINADO

ARMAR LRU
Analizar información de la direccion F0A0
5°
A0B1
3000
9999
A0B2
2000
F0A1
F0A1
4000
F0A2
F0A2
5000
A0B0
pagina = 5
fin
ps
ps
pagina = 6
pagina = 4
pagina = 7
ps
F0A0
A0A2
A0B2
A0B0
1000
A0B1
página = 3
ps
LRU = 6,4,7,3,5
A0B1
3000
A0B2
A0B2
2000
9999
F0A1
4000
F0A2
F0A2
5000
A0B0
pagina = 5
ps
fin
ps
pagina = 8
pagina = 4
pagina = 7
ps
F0A0
A0A2
F0A1
A0B0
1000
A0B1
página = 3
ps
LRU = 4,7,3,5,8
FIGURA 2









LRU = 4,7,3,5,8
FIGURA 1
Paginado
By mbaquinzay
Paginado
- 340
