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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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