Вы находитесь на странице: 1из 2

SNTESIS PAGINACIN Y SEGMENTACIN.

La paginacin y la segmentacin puras son mtodos de manejo de


memoria bastante efectivos, aunque la mayora de los sistemas
operativos modernos implantan esquemas combinados, es decir,
combinan la paginacin y la segmentacin. La idea de combinar estos
esquemas se debe a que de esta forma se aprovechan los conceptos
de la divisin lgica de los programas (segmentos) con la granularidad
de las pginas. De esta forma, un proceso estar repartido en la
memoria real en pequeas unidades (pginas) cuya liga son los
segmentos. Tambin es factible as el compartir segmentos a medida
que las partes necesitadas de los mismos se van referenciando
(pginas). Para comprender este esquema, nuevamente se ver cmo
se traduce una direccin virtual en una localidad de memoria real. Para
la paginacin y segmentacon puras se puede decir que el
direccionamiento es `bidimensional' porque se necesitan dos valores
para hallar la direccin real. Para el caso combinado, se puede decir
que se tiene un direccionamiento `tridimensional'. En la figura 4.8 [
Deitel93] se muestran las partes relevantes para lograr la traduccin de
direcciones. El sistema debe contar con una tabla de procesos (TP). Por
cada rengln de esa tabla se tiene un nmero de proceso y una
direccin a una tabla de segmentos. Es decir, cada proceso tiene una
tabla de segmentos. Cuando un proceso hace alguna referencia a
memoria, se consulta TP para encontrar la tabla de segmentos de ese
proceso. En cada tabla de segmentos de proceso (TSP) se tienen los
nmeros de los segmentos que componen a ese proceso. Por cada
segmento se tiene una direccin a una tabla de pginas. Cada tabla
de pginas tiene las direcciones de las pginas que componen a un
solo segmento. Por ejemplo, el segmento `A' puede estar formado por
las pginas reales `a','b','c','p' y `x'. El segmento `B' puede estar
compuesto de las pginas `f','g','j','w' y `z'.
Para traducir una direccin virtual v=(s,p,d) donde `s' es el segmento, `p'
es la pgina y `d' el desplazamiento en la pgina se hace lo siguiente.
Primero se ubica de qu proceso es el segmento y se localiza la tabla
de segmentos de ese proceso en la TP. Con `s' como ndice se
encuentra un rengln ( registro) en la tabla de segmentos de ese
proceso y en ese rengln est la direccin de la tabla de pginas que
componen al segmento. Una vez en la tabla de pginas se usa el valor
`p' como ndice para encontrar la direccin de la pgina en memoria
real. Una vez en esa direccin de memoria real se encuentra el byte (o
palabra) requerido por medio del valor de `d'.
Ahora, en este esquema pueden haber dos tipos de fallos: por fallo de
pgina y por fallo de segmento. Cuando se hace referencia a una
direccin y el segmento que la contiene no est en RAM ( aunque sea
parcialmente ), se provoca un fallo por falta de segmento y lo que se
hace es traerlo del medio de almacenamiento secundario y crearle una
tabla de pginas. Una vez caragado el segmento se necesita localizar
la pgina correspondiente, pero sta no existe en RAM, por lo cual se
provoca un fallo de pgina y se carga de disco y finalmente se puede
ya traer la direccin deseada por medio del desplazamiento de la
direccin virtual.
La eficiencia de la traduccin de direcciones tanto en paginacin pura,
segmentacin pura y esquemas combinados se mejora usando
memorias asociativas para las tablas de pginas y segmentos, as como
memorias cache para guardar los mapeos ms solicitados.
Otro aspecto importante es la estrategia para cargar pginas ( o
segmentos ) a la memoria RAM. Se usan ms comunmente dos
estrategias: cargado de pginas por demanda y cargado de pginas
anticipada. La estrategia de caragdo por demanda consiste en que las
pginas solamente son llevadas a RAM si fueron solicitadas, es decir, si
se hizo referencia a una direccin que cae dentro de ellas. La carga
anticipada consiste en tratar de adivinar qu pginas sern solicitadas
en el futuro inmediato y cargarlas de antemano, para que cuando se
pidan ya no ocurran fallos de pgina. Ese `adivinar' puede ser que se
aproveche el fenmeno de localidad y que las pginas que se cargan
por anticipado sean aquellas que contienen direcciones contiguas a la
direccin que se acaba de refenciar. De hecho, el sistema operativo
VMS usa un esquema combinado para cargar pginas: cuando se
hace referencia a una direccin cuya pgina no est en RAM, se
provoca un fallo de pgina y se carga esa pgina junto con algunas
pginas adyacentes. En este caso la pgina solicitada se carg por
demanda y las adyacentes se cargaron por anticipacin.