Anda di halaman 1dari 14

PAGINACION

PAGINACION Qu es? Los sistemas de gestin de memoria basados en asignacin continua presentan numerosas restricciones a la hora de satisfacer los requisitos que debe cumplir el gestor de memoria del sistema operativo. La paginacin surge como un intento de reducir estos problemas sofisticando el hardware de gestin de memoria del procesador y aumentando considerablemente la cantidad de informacin de traduccin. La pgina que es la unidad bsica del esquema de paginacin, corresponde a una zona de memoria contigua de un determinado tamao, este tamao debe de ser potencia de dos. El mapa de memoria de cada proceso se considera divido en pginas, al mismo tiempo la memoria principal se considera dividida en zonas del mismo tamao que se denominan marcos de pgina. La tabla de pginas es la estructura de datos que relaciona cada pgina con el marco donde esta almacenada. El hardware de gestin de memoria usa estas tablas para realizar la traduccin de las direcciones creadas por un programa, esta traduccin se hace por la deteccin de la direccin lgica de cada pgina y as obtener el nmero de marco donde se encuentra almacenada. Utiliza dos tablas las cuales pueden usarse cuando el procesador esta en modo privilegiado.: Una tabla de pginas de usuario para traducir las direcciones lgicas del espacio de usuario y otra del sistema para las direcciones lgicas del espacio del sistema.

JOSE SANTIAGO AGUILLON OLVERA

PAGINACION

Cmo y Cundo? Se le asigna a cada proceso un nmero entero de marcos de pgina, aunque en general, su mapa no tendr un tamao mltiplo de tamao del marco. Por consecuencia se desperdiciara parte del ltimo marco asignado al proceso, a este fenmeno se le llama fragmentacin interna, que conlleva que por cada proceso se desperdiciara el marco, cada entrada de la tabla de pginas, contiene informacin adicional como: -Informacin de proteccin: se controla el acceso de lectura, ejecucin y escritura. -indicacin de pgina valida: utilizado en los esquemas de memoria virtual para dar la indicacin de que la pgina no est disponible en memoria principal. El hardware consulta esta informacin cada vez que realiza una traduccin para verificar si ese acceso es correcto, en caso contrario generara una excepcin que activa el sistema operativo. En la entrada de tabla de pginas puede haber informacin adicional: -Indicacin de pgina accedida -indicacin de pgina modificada -indicacin de cache El tamao de la pgina en un sistema de paginacin, puede ser un factor importante para su rendimiento. Su tamao debe de ser potencia de 2 y como este sirve de base a la memoria virtual, tambin debe de ser mltiplo del tamao del bloque de discos. El tamao tpico puede ser de 2kb y 16 kb. Los factores que influyen para la determinacin del tamao ptimo son: -Un tamao pequeo reduce la fragmentacin -Un tamao grande implica tablas ms pequeas.

JOSE SANTIAGO AGUILLON OLVERA

PAGINACION

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 como offset). 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. Valoracin de la Paginacin: Espacios lgicos independientes: La tabla es una funcin de traduccin que hace corresponder a las pginas del mapa de memoria del proceso con los marcos que tiene asignados. Proteccin: La tabla de pginas de un proceso restringe que parte de la memoria puede ser accedida por el mismo. Compartir memoria: Bajo la supervisin del SO que es el nico que puede modificar las tablas. Esto asegura que los procesos usan espacios disjuntos. Soporte de las regiones del proceso: La informacin de proteccin permite controlar que los accesos sean de los tipos requeridos. -Maximizar el rendimiento: Cualquier marco que este libre, se puede usar como contenedor de cualquier pgina de cualquier proceso.
3

JOSE SANTIAGO AGUILLON OLVERA

PAGINACION

Dnde? La paginacin se lleva a cabo en el procesador, la cual puede ser usada por el Sistema operativo, ya que mantendr una tabla de pginas para cada proceso y se encargara de notificar al hardware en cada cambio de proceso que tabla tiene que usar dependiendo del proceso que este ejecutando. El sistema operativo es el encargado de definir la funcin correspondiente entre pginas y marcos mediante la tabla de pginas, y el hardware es el encargado de aplicarlas. El sistema operativo mantiene una nica tabla de pginas para s mismo, de esta forma todos los procesos comparten el sistema operativo, cuando el sistema operativo est ejecutando una llamada del sistema invocada puede acceder directamente a su propio mapa o al del proceso en ejecucin. La tabla de marcos de pginas: permite conocer que marcos estn libres y cuales estn ocupados. Hay que resaltar que si se trata de un procesador con mapa comn de I/O y de memoria, las direcciones de I/O tambin se accedern a travs de la tabla de pginas. Para impedir que los procesos de usuario puedan acceder a ellas, estas direcciones de I/O estarn asociadas a direcciones lgicas del sistema. El esquema d paginacin requiere que el sistema operativo tenga una serie de estructuras de datos de tamao considerable para poder mantener la informacin requerida por el mismo. Ventajas: -El tamao pequeo de la pgina reduce la fragmentacin, ya que cuando se usa para implementar memoria virtual, permite ajustarse mejor al conjunto de trabajo del proceso. -Se obtiene un mejor rendimiento en los accesos a discos, gracias a que a tamaos grandes de la pgina, las tablas son ms pequeas y estas se usan para implementar memoria virtual.
4

JOSE SANTIAGO AGUILLON OLVERA

PAGINACION

-Obtiene un buen aprovechamiento de la memoria, ya que elimina la necesidad de que el mapa de memoria se almacene de forma contigua en memoria principal. -sirve como base para construir un esquema de memoria virtual. -permite construir mapas de memorias muy grandes para cada procesos en ejecucin. -cuenta con una memoria asociativa: Translacin Buffer (TLB) se encuentra en la MMU mantiene informacin sobre las ltimas pginas accedidas. -Cuenta con pginas multinivel: enfocada a eliminar el problema de gasto de memoria, ya que en vez de tener una nica tabla de pginas por proceso, hay una jerarqua de tablas .Esta jerarqua se limita a dos o tres niveles. Desventajas: -La paginacin permite que cada pgina del mapa de un proceso se pueda corresponder a cualquier marco de memoria. -La paginacin no proporciona un aprovechamiento ptimo de la memoria como lo hara un esquema que permitiese que cada palabra del mapa de memoria de un proceso pudiera corresponder con cualquier direccin de memoria. -Problemas de eficiencia: surge debido a la necesidad de mantener las tablas pginas en memoria principal. Dado que para acceder a la posicin de memoria solicitada, la MMU (hardware de gestin de memoria) debe consultar la entrada correspondiente de la tabla de pginas, se producirn dos accesos a memoria por cada acceso real solicitado por el programa. -Gasto de memoria: Las tablas de pginas son muy grandes y hay una por cada proceso activo, la paginacin nos brinda grandes mapas de memoria debido a que los huecos no ocupan espacio, pero si se usa todo el espacio de direccionamiento, como es deseable para conseguir que los procesos no tengan problemas de memoria durante su ejecucin, la tabla de pginas debe
5

JOSE SANTIAGO AGUILLON OLVERA

PAGINACION

tener tantas entradas como paginas hay en el espacio lgico, aunque muchas de ellas estn marcadas como invalidas al corresponder con huecos. PAGINIACION EN WINDOWS Windows XP utiliza el archivo de paginacin para intercambiar informacin entre la memoria RAM y el disco duro. Cuando se apaga el ordenador el archivo de intercambio o paginacin queda guardada en el disco duro, as que lo mejor es eliminar el contenido de este fichero, ya que podra ser utilizado por otros usuarios para corromper el sistema. El archivo de paginacin (Pagefile.sys) es un archivo oculto situado en el disco duro del equipo que Windows utiliza como si fuera memoria de acceso aleatorio (RAM). El archivo de paginacin y la memoria fsica conforman la memoria virtual. De manera predeterminada, Windows almacena el archivo de paginacin en la particin de inicio, que es la particin que contiene el sistema operativo y sus archivos auxiliares. El tamao predeterminado del archivo de paginacin es 1,5 veces la cantidad total de memoria RAM. Sin embargo, puede que esta configuracin predeterminada no sea ptima en todos los casos. Para mejorar el rendimiento, es conveniente poner el archivo de paginacin en una particin diferente y en una unidad de disco duro fsica distinta. De esta forma, Windows puede administrar ms rpidamente varias solicitudes de E/S. Cuando el archivo de paginacin est en la particin de inicio, Windows debe realizar las solicitudes de lectura y escritura del disco tanto en la carpeta del sistema como en el archivo de paginacin. Cuando el archivo de paginacin se mueve a una particin diferente, hay menos competencia entre las solicitudes de lectura y de escritura. Sin embargo, si quita el archivo de paginacin de la particin de inicio, Windows no puede crear un archivo de volcado (Memory.dmp) en el que escribir informacin de depuracin en caso de que se produzca un mensaje de error Stop en modo de ncleo. Esto puede hacer que se prolongue el tiempo de

JOSE SANTIAGO AGUILLON OLVERA

PAGINACION

inactividad si es necesario un procedimiento de depuracin para solucionar el mensaje de error Stop. La mejor solucin consiste en crear un archivo de paginacin que se almacene en la particin de inicio y, a continuacin, crear un archivo de paginacin en otra particin a la que se tenga acceso con menos frecuencia en un disco duro fsico diferente, si hay alguno disponible. Tambin resulta ptimo crear un segundo archivo de paginacin que resida en su propia particin, sin datos ni archivos especficos del sistema operativo. Por diseo, Windows utiliza el archivo de paginacin de la particin a la que se tiene acceso con menos frecuencia en vez del archivo de la particin de inicio, a la que se tiene acceso con ms asiduidad. Se utiliza un algoritmo interno para determinar qu archivo de paginacin debe utilizarse para administrar la memoria virtual. Cuando se coloca un archivo de paginacin en su propia particin, ste no se fragmenta, lo que supone otra ventaja decisiva. Si un archivo de paginacin reside en una particin que contiene otros datos, puede que se fragmente al ampliarse para satisfacer la necesidad de memoria virtual adicional. Un archivo de paginacin sin fragmentar supone un acceso ms rpido a la memoria virtual y una mayor probabilidad de capturar el archivo de volcado sin ningn error importante. PAGINACION EN LINUX Los procesos de Linux usan bibliotecas de cdigo comn, como por ejemplo rutinas de manejo de ficheros. No tendra sentido que cada proceso tenga su propia copia de la biblioteca, as pues Linux usa bibliotecas compartidas que varios procesos pueden usar al mismo tiempo. El cdigo y los datos de estas bibliotecas compartidas tienen que estar unidos al espacio virtual de direccionamiento de un proceso y tambin al espacio virtual de

direccionamiento de los otros procesos que comparten la biblioteca.

JOSE SANTIAGO AGUILLON OLVERA

PAGINACION

Un proceso no utiliza todo el cdigo y datos contenidos en su memoria virtual dentro de un perodo de tiempo determinado. La memoria virtual del proceso puede que tenga cdigo que slo se usa en ciertas ocasiones, como en la inicializacin o para procesar un evento particular. Puede que slo haya usado unas pocas rutinas de sus bibliotecas compartidas. Sera superfluo cargar todo su cdigo y datos en la memoria fsica donde podra terminar sin usarse. El sistema no funcionara eficientemente si multiplicamos ese gasto de memoria por el nmero de procesos en el sistema. Para solventar el problema, Linux usa una tcnica llamada Paginacin por Demanda (demanda pgina) que slo copia una pgina de memoria virtual de un proceso en la memoria fsica del sistema cuando el proceso trata de usarla. De esta manera, en vez de cargar el cdigo y los datos en la memoria fsica de inmediato, el ncleo de Linux altera la tabla de pginas del proceso, designando las reas virtuales como existentes, pero no en memoria. Linux necesita saber de dnde viene esa memoria virtual y cmo ponerla en memoria para arreglar los fallos de pgina. Como estas reas de memoria virtual vienen de varias fuentes, Linux introduce un nivel de abstraccin en la interfaz haciendo que la estructura apunte a un grupo de rutinas de manejo de memoria virtual. De esta manera, toda la memoria virtual de un proceso se puede gestionar de una manera consistente sin que importe las diferentes maneras de gestionar esa memoria por parte de distintos servicios de gestin. Cuando un proceso reserva memoria virtual, en realidad Linux no reserva memoria fsica para el proceso. Lo que hace es describir la memoria virtual creando una nueva estructura. Esta se une a la lista de memoria virtual del proceso. Cuando el proceso intenta escribir en una direccin virtual dentro de la nueva regin de memoria virtual, el sistema crear un fallo de pgina. El procesador tratar de decodificar la direccin virtual, pero dado que no existe ninguna entrada de tabla de pginas para esta memoria, no lo intentar ms, y crear una excepcin de fallo de pgina, dejando al ncleo de Linux la tarea de reparar el fallo. Linux mira a ver si la direccin virtual que se trat de usar est en el espacio de direccionamiento virtual del proceso en curso. Si as es, Linux
8

JOSE SANTIAGO AGUILLON OLVERA

PAGINACION

crea los PTEs (entrada en la tabla de pginas) apropiados y reserva una pgina de memoria fsica para este proceso. Linux utiliza en un sistema Intel x86 utiliza pginas de 4 Kbytes. Cada una de estas pginas tiene asociado un nico nmero; el nmero de marco de pgina (PFN). En este modelo de paginacin, una direccin virtual est compuesta de dos partes: un desplazamiento y un nmero de pgina virtual. Si el tamao de pgina es de 4Kbytes, los bits 11:0 de la direccin de memoria virtual contienen el desplazamiento y los restantes bits desde el bit 12 son el nmero de marco de pgina virtual. CONCLUSIONES El nico inconveniente de paginacin es que todas las pginas de un proceso deben estar en memoria para que se pueda ejecutar. Esto hace que si los programas son de tamao considerable, no puedan cargarse muchos a la vez, disminuyendo el grado de multiprogramacin del sistema. Para evitar esto, y aprovechando el principio de cercana de referencias donde se puede esperar que un programa trabaje con un conjunto cercano de referencias a memoria (es decir con un conjunto residente ms pequeo que el total de sus pginas), se permitir que algunas pginas del proceso sean guardadas en un espacio de intercambio (en memoria secundaria) mientras no se necesiten. Cuando la paginacin se utiliza junto con memoria virtual, el sistema operativo mantiene adems el conocimiento sobre qu pginas estn en memoria principal y cules no, usando la tabla de paginacin. Si una pgina buscada est marcada como no disponible (tal vez porque no est presente en la memoria principal, pero s en el rea de intercambio), cuando la CPU intenta referenciar una direccin de memoria en esa pgina, la MMU responde levantando una excepcin (comnmente llamada fallo de pgina). Si la pgina se encuentra en el espacio de intercambio, el sistema operativo invocar una operacin llamada intercambio de pgina, para traer a memoria principal la pgina requerida. La operacin lleva varios pasos. Primero se selecciona una pgina en memoria, por ejemplo una que no haya sido usada recientemente (para ms detalles ver algoritmos de reemplazo de pginas). Si la pgina fue
JOSE SANTIAGO AGUILLON OLVERA 9

PAGINACION

modificada, se escribe la misma en el espacio de intercambio. El siguiente paso en el proceso es leer la informacin en la pgina necesitada desde el espacio de intercambio. Cuando esto sucede, las tablas para traduccin de direcciones virtuales a reales son actualizadas para reflejar los contenidos de la memoria fsica. Entonces el intercambio de pgina sale, y el programa que us la direccin que caus la excepcin es vuelto a ejecutar desde el punto en que se dio la misma y contina como si nada hubiera pasado. Tambin es posible que una direccin virtual sea marcada como no disponible porque no fue localizada previamente. En estos casos, una pgina de memoria es localizada y llenada con ceros, la tabla de paginacin es modificada para mostrar los cambios y el programa se reinicia como en el otro caso. CITAS BIBLIOGRAFICAS

CITA 1
Datos de la fuente

Autor (es): Jess Carretero Prez Ao de publicacin: 2001 Libro : Sistemas Operativos Da de Consulta: 11 de Noviembre de 2011

Secciones relevantes del documento que contribuyen a sustentar y conceptualizar. Qu es paginacin? En qu consiste la valoracin de la paginacin?

Breve sinopsis de los contenidos enlistados y su contribucin a la comprensin de la investigacin. 10

JOSE SANTIAGO AGUILLON OLVERA

PAGINACION

Este libro me ayudo a comprender sobre los elementos de paginacin que existen.ad Valoracin de la Paginacin: Espacios lgicos independientes: La tabla es una funcin de traduccin que hace corresponder a las pginas del mapa de memoria del proceso con los marcos que tiene asignados. Proteccin: La tabla de pginas de un proceso restringe que parte de la memoria puede ser accedida por el mismo. Compartir memoria: Bajo la supervisin del SO que es el nico que puede modificar las tablas. Esto asegura que los procesos usan espacios disjuntos. Soporte de las regiones del proceso: La informacin de proteccin permite controlar que los accesos sean de los tipos requeridos. -Maximizar el rendimiento: Cualquier marco que este libre, se puede usar como contenedor de cualquier pgina de cualquier proceso.

Ttulo de investigacin:
PAGINACION

Enfoque: Sistemas Operativos Nombre: Aguillon Olvera Jos Santiago

Fecha: 17/Nov./2011 Grupo: 6A Paginas: 188-197

JOSE SANTIAGO AGUILLON OLVERA

11

PAGINACION

CITA 2
Datos de la fuente

Autor (es): Fernando Prez Costilla Ao de publicacin: 2003 Libro : Sistemas Operativos

Flix Garca Caballera

Da de Consulta: 11 de Noviembre de 2011

Secciones relevantes del documento que contribuyen a sustentar y conceptualizar. -Qu es paginacin? -Implementacin de las tablas de paginas -Tablas de Marcos de Pagina Breve sinopsis de los contenidos enlistados y su contribucin a la comprensin de la investigacin.

Las tablas de pginas son muy grandes y hay una por cada proceso activo, la paginacin nos brinda grandes mapas de memoria debido a que los huecos no ocupan espacio, pero si se usa todo el espacio de direccionamiento, como es deseable para conseguir que los procesos no tengan problemas de memoria durante su ejecucin, la tabla de pginas debe tener tantas entradas como paginas hay en el espacio lgico, aunque muchas de ellas estn marcadas como invalidas al corresponder con huecos. Ttulo de investigacin:
PAGINACION

Enfoque: Sistemas Operativos Nombre: Aguillon Olvera Jos Santiago

Fecha: 17/Nov./2011 Grupo: 6A paginas: 192-195

JOSE SANTIAGO AGUILLON OLVERA

12

PAGINACION

CITA 3
Datos de la fuente

Autor (es): Pedro De Miguel Alva Sagasti Ao de publicacin: 2007 Libro : Sistemas Operativos Da de Consulta: 11 de Noviembre de 2011

Secciones relevantes del documento que contribuyen a sustentar y conceptualizar. -Paginacin -Tablas de Paginacin -Segmentacin Breve sinopsis de los contenidos enlistados y su contribucin a la comprensin de la investigacin. Gestin de memoria El subsistema de gestin de memoria es una de las partes ms importantes del sistema operativo. Ya desde los tiempos de los primeros ordenadores, existi la necesidad de disponer de ms memoria de la que fsicamente exista en el sistema. Entre las diversas estrategias desarrolladas para resolver este problema, la de mayor xito ha sido la memoria virtual. La memoria virtual hace que el sistema parezca disponer de ms memoria de la que realmente tiene compartindola entre los distintos procesos conforme la necesitan. Ttulo de investigacin:
PAGINACION

Enfoque: Sistemas Operativos Nombre: Aguillon Olvera Jos Santiago

Fecha: 17/Nov./2011 Grupo: 6A paginas: 144-152 13

JOSE SANTIAGO AGUILLON OLVERA

PAGINACION

PAGINAS DE INTERNET CONSULTADAS 1.-

2.-

3.-

4.-

5.-

6.-

JOSE SANTIAGO AGUILLON OLVERA

14

Anda mungkin juga menyukai