You are on page 1of 3

PAGINACION La paginacin consiste en considerar el espacio de direcciones lgicas de cada proceso como un conjunto de bloques de tamao consistente llamados

paginas. Cada direccin lgica manejada para un proceso estar conformada por un par de valores La paginacin permite que la memoria de un proceso no sea contigua, y que a un proceso se le asigne memoria fsica donde quiera que sta est disponible. La paginacin evita el gran problema de acomodar trozos de memoria de tamao variable en el almacenamiento auxiliar. Cuando es necesario intercambiar fragmento de cdigos o datos que residen en la memoria principal, hay que encontrarles espacio en el almacenamiento auxiliar. Por sus ventajas la paginacin es de uso comn en muchos SO. Cada proceso tiene su propia tabla de pginas y cuando carga todas sus pginas en la memoria principal, se crea y carga en la memoria principal una tabla de pginas. Cada entrada de la tabla de pginas contiene el nmero de marco de la pgina correspondiente en la memoria principal. Puesto que slo algunas de las pginas de un proceso pueden estar en la memoria principal, se necesita un bit en cada entrada de la tabla para indicar si la pgina correspondiente est presente (P) en la memoria principal o no. Si el bit indica que la pgina est en la memoria, la entrada incluye tambin el nmero de marco para esa pgina. Tabla de paginacin En cada entrada de la tabla de paginacin (en ingls PTE, Page Table Entry) existe un bit de presencia, que est activado cuando la pgina se encuentra en memoria principal. Otro bit que puede encontrarse es el de modificado, que advierte que la pgina ha sido Modificada desde que fue trada 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 pginas llamado Menos Usado Recientemente (LRU, least recently used). Tambin podran haber otros bits indicando los permisos que tiene el proceso sobre la pgina (leer, escribir, ejecutar).

PAGINACION DE MEMORIA En sistemas operativos de computadoras, los sistemas de paginacin de memoria dividen los programas en pequeas partes o pginas. Del mismo modo, la memoria es dividida en trozos del mismo tamao que las pginas llamados marcos de pgina. De esta forma, la cantidad de memoria desperdiciada por un proceso es el final de su ltima pgina, lo que minimiza la fragmentacin interna y evita la externa. En un momento cualquiera, la memoria se encuentra ocupada con pginas de diferentes procesos, mientras que algunos marcos estn disponibles para su uso. El sistema operativo mantiene una lista de estos ltimos marcos, y una tabla por cada proceso, donde consta en qu marco se encuentra cada pgina del proceso. De esta forma, las pginas de un proceso pueden no estar contiguamente ubicadas en memoria, y pueden intercalarse con las pginas de otros procesos. En la tabla de pginas de un proceso, se encuentra la ubicacin del marco que contiene a cada una de sus pginas. Las direcciones lgicas ahora se forman como un nmero de pgina y de un desplazamiento dentro de esa pgina (conocido comnmente comooffset). El nmero de pgina es usado como un ndice dentro de la tabla de pginas, y una vez obtenida la direccin del marco de memoria, se utiliza el desplazamiento para componer la direccin real o direccin fsica. Este proceso se realiza en una parte del computador especficamente diseada para esta tarea, es decir, es un proceso hardware y no software. De esta forma, cuando un proceso es cargado en memoria, se cargan todas sus pginas en marcos libres y se completa su tabla de pginas.

Veamos un ejemplo: Nmero de marco Programa.#pgina Direccin fsica 0 1 2 3 4 5 6 7 Programa A.0 Programa A.1 Programa A.2 Programa D.0 Programa D.1 Programa C.0 Programa C.1 Programa D.2 1000:0000 1000:1000 1000:2000 1000:3000 1000:4000 1000:5000 1000:6000 1000:7000

La tabla de la De arriba muestra una posible configuracin de la memoria en un momento dado, con pginas de 4Kb. La forma en que se lleg a este estado puede haber sido la siguiente: Se tienen cuatro procesos, llamados A, B, C y D, que ocupan respectivamente 3, 2, 2 y 3 pginas. 1. El programa A se carga en memoria (se le asignan los marcos 0, 1 y 2) 2. El programa B se carga en memoria (se le asignan los marcos 3 y 4) 3. El programa C se carga en memoria (se le asignan los marcos 5 y 6) 4. El programa B termina, liberando sus pginas 5. El programa D se carga en memoria (se le asignan los marcos 3 y 4 que usaba el proceso B y el marco 7 que permaneca libre) De esta forma, las tablas simplificadas de cada proceso se ven de esta forma:

You might also like