TEMA: PAGINACION
Contestar las siguientes preguntas:
1.- En que consiste la paginacion?
Es el espacio de direcciones lógicas de cada proceso como bloques de tamaño consistente llamados paginas.
La memoria física se administra implementando bloques de tamaño consistente denominados marcos (frames). Por lo general el tamaño designado para los marcos y páginas es pequeño.
El SO internamente mantiene una tabla de páginas donde relaciona cada página cargada en memoria principal con el frame que la contenga. Utilizando el número de página el sistema recorrerá toda la tabla de páginas hasta localizarla, sumará el desplazamiento a la dirección de carga y obtendrá la dirección real. Cada programa se subdivide en páginas, que se cargan en frames libres que no tienen porque ser seguidos.
Existen distintos niveles de paginación y a su vez distintos modelos de computadoras han trabajado con ellas.
Paginación de nivel 1: PDP-11
Paginación de 2 niveles: la VAX
Paginación de 3 niveles: la SPARC
Paginación de 4 niveles: la 68030
Las páginas se transfieren del almacenamiento secundario al primario en bloques llamados marcos de páginas. Algunas de sus características son:
* Tienen el mismo tamaño que las páginas.
* Comienzan en direcciones del almacenamiento real que son múltiplos enteros del tamaño fijo de la página.
* Podrá colocarse una nueva página dentro de cualquier “marco de página” o “celda de página” disponible.
2.- Cuando sucede un fallo de pagina y como se resuelve?
Un fallo de página es la secuencia de eventos que ocurren cuando un programa intenta acceder a datos (o código) que está en su espacio de direcciones, pero que no está actualmente ubicado en la RAM del sistema. El sistema operativo debe manejar los fallos de página haciendo residentes en memoria los datos accedidos, permitiendo de esta manera que el programa continue la operación como que si el fallo de página nunca ocurrió.
El manejador de fallos de página determina lo que se debe hacer para resolver esta falla de página. El mismo puede:
* Encontrar dónde reside la página deseada en disco y la lee (este es usualmente el caso si el fallo de página es por una página de código)
* Determina que la página deseada ya está en RAM (pero no está asignada al proceso actual) y reconfigura el MMU para que apunte a el
* Apunta a una página especial que solamente contiene ceros y asigna una nueva página para el proceso solamente si este intenta alguna vez escribir a la página especial (esto se llama una página de copia en escritura y es utilizada a menudo por páginas que contienen datos inicializados a cero)
* Obtener la página deseada desde otro lugar