1.- ¿En que consiste la paginacion?
La paginación consiste en considerar el espacio de direcciones lógicas de cada proceso como un conjunto de bloques de tamaño consistente llamados paginas. Cada dirección lógica manejada para un proceso estará conformada por un par de valores [pagina: desplazamiento].
La memoria física se administra implementando bloques de tamaño consistente denominados 'marcos'. Obviamente el tamaño de un 'marco' debe ser igual al tamaño de una pagina.
2.-¿COMO SUCEDE UN FALLO DE PAGINACION Y COMO SE RESUELVE?
El espacio de direcciones virtuales se divide en unidades llamadas “páginas”. Las unidades correspondientes en el disco duro se denominan “marcos de página”. Las páginas y los marcos tienen el mismo tamaño.
Así sería el proceso de la paginación, pero leyendo lo anterior podemos pensar, ¿que ocurriría si el programa trata de usar una página que no tiene corespondencia?.
La MMU ( memory management unit) ve que la página no tiene correspondencia y hace que la CPU salte al SO. Esta interrupción se llama ‘fallo de página’. El SO escoge un marco de página que no se esté usando mucho y vuelve a escribir su contenido en el disco, después de lo cual trae la página a la que se acaba de hacer referencia y la coloca en el marco recién desocupado, modificael mapa y reinicia la instrucción interrumpida.
Y ahora nos surge otra duda, dicho desalojo cuando se produce el fallo de página, ¿se realiza al azar?, ya que si esto se hiciera mal, el SO estaría continuamente reescribiendo el mapa, por lo que se perdería mucho tiempo.
Veamos, cuando se produce un fallo de página, el SO examina todas las páginas y las divide en cuatro grupos dependiendo del estado de sus bits R (página solicitada) y M (página modificada).
* Clase 0: no solicitada, no modificada.
* Clase 1: no solicitada, modificada.
* Clase 2: solicitada, no modificada.
* Clase 3: solicitada, modificada.