Tanto la paginación como la segmentación tienen sus
ventajas:
La paginación elimina la
fragmentación externa y de este modo, aprovecha la memoria principal de forma
eficiente. Además, puesto que los fragmentos que se cargan y descargan de la
memoria principal son de tamaño fijo e iguales, es posible construir algoritmos
se gestión de memoria sofisticados que aprovechen mejor el comportamiento de
los programas.
La segmentación tiene las
ventajas antes citadas, incluida la capacitación de gestionar estructuras de
datos que puedan crecer, la modularidad y el soporte de la compartición y la
protección. Para combinar las ventajas de ambas, algunos sistemas están
equipados con hardware del procesador y software del S.O.
En un sistema con paginación
y segmentación combinadas, el espacio de direcciones de un usuario se divide en
varios segmentos según el criterio del programador. Cada segmento se vuelve a
dividir en varias páginas de tamaño fijo, que tienen la misma longitud que un
marco de memoria principal. Si el segmento tiene menor longitud que la página,
el segmento ocupará sólo una página. Desde el punto de vista del programador,
una dirección lógica todavía está formada por un número de segmento y un
desplazamiento en el segmento. Desde el punto de vista de sistema, el
desplazamiento del segmento se ve como un número de página dentro del segmento
y un desplazamiento dentro de la página.
La entrada de la tabla de
segmentos contiene la longitud del segmento. Los bits de presencia y
modificación no son necesarios, puesto que estos elementos se gestionan en la
página. Pueden usarse otros bits de control para compartición y protección. La
entrada de la tabla de páginas es, la misma que se usa en un sistema de
paginación pura. Cada número de página se convierte en el número de marco
correspondiente si la página está presente en la memoria. El bit de
modificación indica si se necesita escribir la página en el disco cuando se
asigna el marco a otra página.
No hay comentarios:
Publicar un comentario