Una direccion logica en segmentacion se divide en dos partes S y D donde S es el en numero de segmento y D el desplazamiento dentro del segmento.
Para cada uno de los segmentos es guardado una entrada en la tabla de segmentos la cual contendra los campos numero de segmento, base y longitud, a continuacion se muestra una grafica en la cual podemos analizar la traduccion de direcciones S,D a direcciones fisicas o reales:
imagen tomada de: http://es.scribd.com/doc/2879619/25/Requisitos-para-la-gestion-de-memoria
Objetivos de la segmentacion de memoria
- Modularidad de programas: cada runtina del programa puede ser un bloque sujeto a cambios y recopilaciones, sin afectar por ello al resto del programa.
- Estructuras de largo variable: donde cada estructura tiene su propio tamaño y este puede variar
- El programador puede conocer las unidades lógicas de su programa, dándoles un tratamiento particular.
- Es posible compilar módulos separados como segmentos, el enlace entre los segmendos puede suponer hasta tanto se haga una referencia de segmentos.
- Facil comparticion de los segmentos
- Los segmentos crecen dinamicamente segun las necesidades del programa en ejecucion.
- Incremento en los costos de HW y SW
- Al tener los segmentos un tamaño variable se pueden presentar problemas de fragmentacion externo, lo que amerita un plan de reubicacion de segmentos en memoria principal.
imagen tomada de: http://www.slideshare.net/menes21/paginacion-y-segmentacion-de-memoria
fuentes consultadas: http://www.slideshare.net/menes21/paginacion-y-segmentacion-de-memoria
http://es.scribd.com/doc/2879619/25/Requisitos-para-la-gestion-de-memoria
No hay comentarios.:
Publicar un comentario