Paginación de Memoria
La paginación es realizada por
el sistema operativo que no es más que dividir a los programas en partes como
si se tratara de simples páginas por lo tanto la memoria también es dividida en
partes del mismo tamaño de la página lo cual se denomina marcos de página, es
muy útil ya que la cantidad de memoria desperdiciada por un proceso es el final
de su última página, lo que minimiza la fragmentación interna y evita la
externa.
Ejemplo de asignación de procesos (páginas) a marcos de página
Número de Marco
|
Programa (Número de Página)
|
Dirección Física
|
0
|
Programa A.0
|
1000:0000
|
1
|
Programa A.1
|
1000:1000
|
2
|
Programa A.2
|
1000:2000
|
3
|
Programa D.0
|
1000:3000
|
4
|
Programa D.1
|
1000:4000
|
5
|
Programa C.0
|
1000:5000
|
6
|
Programa C.1
|
1000:6000
|
7
|
Programa D.2
|
1000:7000
|
La memoria se encuentra
ocupada por páginas de procesos y algunos marcos pueden estar libres para su
uso.
También se dice que la
paginación es uno de los esquemas de manejo de memoria en donde un computador
puede almacenar y recuperar datos de un dispositivo de almacenamiento
secundario para su uso en la memoria principal. En el esquema de manejo de
memoria de paginación, el sistema operativo recupera datos desde un dispositivo
de almacenamiento secundario en bloques de un mismo tamaño llamados páginas. La
principal ventaja de paginación sobre la segmentación de memoria es que permite
al espacio de dirección física de un proceso ser no contiguo. Antes de la
paginación, los sistemas debían poner programas en almacenamiento de forma
contigua, lo que causaba varios problemas de almacenamiento y fragmentación.
Esquema de Memoria
Física y Lógica
Cada
proceso tiene su propia tabla de páginas y cuando carga todas sus páginas en la
memoria principal, se crea y carga en la memoria principal una tabla de
páginas.
La
paginación es de uso común en muchos sistemas operativos porque permite reducir
la fragmentación, dividir el programa en partes mejorando la usabilidad y
rapidez del mismo.
El sistema operativo crea tablas de paginación o tablas de páginas que son
una parte integral del Sistema de Memoria Virtual en sistemas operativos,
cuando se utiliza paginación. Son usadas para realizar las traducciones de
direcciones de memoria virtual (o lógica) a memoria real (o física) y en
general el sistema operativo mantiene una por cada proceso corriendo en el
sistema.
Tabla de Paginación
En
cada entrada de la tabla de paginación (en inglés PTE, Page Table Entry) existe
un bit de presencia, que está activado cuando la página se encuentra en memoria
principal. Otro bit que puede encontrarse es el de modificado, que advierte que
la página ha sido modificada desde que fue traída del disco, y por lo tanto
deberá guardarse si es elegida para abandonar la memoria principal; y el bit de
accedido, usado en el algoritmo de reemplazo de páginas llamado Menos Usado
Recientemente (LRU, least recently used). También podría haber otros bits
indicando los permisos que tiene el proceso sobre la página (leer, escribir,
ejecutar).
Comentarios
Publicar un comentario