PAGINACION
• La paginación permite que la memoria de un proceso no sea contigua, y
que a un proceso se le asigne memoria física donde quiera que ésta esté
disponible. • La paginación evita el gran problema de acomodar trozos de
memoria de tamaño variable en el almacenamiento auxiliar.
• Cuando es necesario intercambiar fragmento de códigos o datos que
residen en la memoria principal, hay que encontrarles espacio en el
almacenamiento auxiliar. Por sus ventajas la
paginación es de uso común en muchos SO.
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. Cada entrada de la tabla de páginas contiene el
número de marco de la página correspondiente en la memoria principal.
Puesto que sólo algunas de las páginas de un proceso pueden estar en la
memoria principal, se necesita un bit en cada entrada de la tabla para
indicar si la página correspondiente está presente (P) en la memoria
principal o no. Si el bit indica que la página está en la memoria, la
entrada incluye también el número de marco para esa página.
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 UsadoRecientemente (LRU,
least recently used). También podrían haber otros bits indicando los
permisos que tiene el proceso sobre la página (leer, escribir,
ejecutar).