SEGMENTACIÓN
Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica; llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos. Cada uno de ellos tienen información lógica del programa: subrutina, arreglo, etc. Luego, cada espacio de direcciones de programa consiste de una colección de segmentos, que generalmente reflejan la división lógica del programa. La segmentación permite alcanzar los siguientes objetivos:
1. Modularidad de programas: cada rutina del programa puede ser un bloque sujeto a cambios y recopilaciones, sin afectar por ello al resto del programa.
2. Estructuras de datos de largo variable: ejm. Stack, donde cada estructura tiene su propio tamaño y este puede variar.
3. Protección: se puede proteger los módulos del segmento contra accesos no autorizados.
4. Comparición: dos o más procesos pueden ser un mismo segmento, bajo reglas de protección; aunque no sean propietarios de los mismos.
5. Enlace dinámico entre segmentos: puede evitarse realizar todo el proceso de enlace antes de comenzar a ejecu
La paginación por demanda introdujo la idea de cargar más una porción delprograma en la memoria para su procesamiento.
Con la paginación pordemanda, las tareas siguen divididas en páginas de tamaño igual queinicialmente residen en almacenamiento secundarios.
Cuando se empieza aejecutar la tarea, sus páginas pasan a la memoria solo conforme se necesitan.La paginación pro demanda aprovecha el hecho que los programas seescriben de manera secuencial, de manera que mientras una sección omodulo esta en proceso, los demás están ocioso (madnick & donovan, 1974).Una de las innovaciones de mayor importancia en la paginación por demandaes que hizo posible el amplio uso de la memoria virtual, el esquema depaginación por demanda permite al usuario ejecuta tareas con menosmemoria principal de lo que se requería si el sistema operativo estuviera utilizando el esquema de asignación de memoria paginada que ya se describió.
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
En el caso de nuestra aplicación hipotética, el CPU primeramente presenta la dirección deseada (12374) al MMU. Sin embargo, el MMU no tiene traducción para esta dirección. Por tanto, interrumpe al CPU y causa que se ejecute un software, conocido como el manejador de fallos de página. 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 (lo que se discute en detalle más adelante)
Mientras que las primeras tres acciones son relativamente sencillas, la última no lo es. Por eso necesitamos cubrir algunos tópicos adicionales.
Paginación y segmentación son técnicas diferentes, cada una de las cuales busca brindar las ventajas enunciadas anteriormente.
SMT (tabla de mapas de segmentos): una para cada proceso. En cada entrada de
PMT (tabla de mapas de páginas): una por segmento; cada entrada de
TBM (tabla de bloques de memoria): para controlar asignación de páginas por parte del sistema operativo.
JT (tabla de Jobs): que contiene las direcciones de comienzo de cada una de las SMT de los procesos que se ejecutan en memoria.
En el caso, de que un segmento sea de tamaño inferior o igual al de una pagina, no se necesita tener la correspondiente PMT, actuándose en igual forma que bajo segmentación pura; puede arreglarse un bit adicional (S) a cada entrada de
Ventajas de la segmentación paginada
El esquema de segmentación paginada tiene todas las ventajas de la segmentación y la paginación:
Debido a que los espacios de memorias son segmentados, se garantiza la facilidad de implantar la comparticion y enlace.
Como los espacios de memoria son paginados, se simplifican las estrategias de almacenamiento.
Se elimina el problema de la fragmentación externa y la necesidad de compactación.
Suscribirse a:
Entradas (Atom)
Gracias!!! muy completo e interesante el tema
ResponderEliminarcomo que completo si acaba en mitad de una frase colega
Eliminar