Está en la página 1de 21

SEGMENTACIÓN CON

‣ Sistemas Operativos

PAGINACIÓN
SISTEMAS OPERATIVOS

PAGINACIÓN
▸ La memoria física se divide en bloques de tamaño fijo que llamamos marcos. La memoria
virtual se divide en bloques del mismo tamaño llamados páginas.
▸ El sistema operativo mantiene una tabla de páginas para cada proceso:
▸ 1. Muestra la posición del marco de cada página del proceso.
▸ 2. La dirección de la memoria consta de un número de página y de un desplazamiento
dentro de la página.
▸ Al ejecutar un proceso se cargan sus páginas en los marcos disponibles. La vinculación de
direcciones requiere soporte por hardware (Manejador de Memoria).
SISTEMAS OPERATIVOS

SEGMENTACIÓN
▸ No es necesario que todos los segmentos de todos los programas tengan la misma longitud.
▸ Existe una longitud máxima de segmento.
▸ Un dirección lógica segmentada consta de dos partes, un número de segmento y un
desplazamiento.
▸ Cada entrada de la tabla de segmentos contiene la longitud del segmento.
▸ Se necesita un bit para indicar si el segmento correspondiente está presente en la memoria
principal, también se necesita un bit de modificación que indique si el contenido del
segmento correspondiente ha sido modificado desde que se cargó por última vez en la
memoria principal.
SISTEMAS OPERATIVOS

RESUMEN
▸ La paginación es transparente al programador.
▸ La paginación elimina la fragmentación externa.
▸ La segmentación es visible para el programador.
▸ La segmentación permite gestionar estructuras de datos que pueden crecer, la
modularidad y el soporte de la compartición y la protección.
SEGMENTACIÓ
N CON
SISTEMAS OPERATIVOS

SEGMENTACIÓN CON PAGINACIÓN


▸ Paginación y Segmentación combinadas.
▸ En un sistema combinado de paginación/segmentación, el espacio de direcciones del
usuario se divide en un número de segmentos, a discreción del programador. Cada
segmento es, por su parte, dividido en un número de paginas de tamaño fijo, que son del
tamaño de los marcos de la memoria principal. Si un segmento tiene longitud inferior a
una pagina, el segmento ocupará únicamente una página.
SISTEMAS OPERATIVOS

SEGMENTACIÓN CON PAGINACIÓN


▸ Desde el punto de vista del programador, una dirección lógica sigue conteniendo un
número de segmento y desplazamiento dentro de dicho segmento.
▸ Desde el punto de vista del sistema, el desplazamiento dentro del segmento es visto como
un número de página y un desplazamiento dentro de la página incluida en el segmento.
MULTICS
SISTEMAS OPERATIVOS

MULTICS
▸ MULTICS operaba en las máquinas Honeywell 6000 y sus descendientes; proveía a cada
programa con una memoria virtual de hasta 2^18 segmentos (más de 250,000), cada uno
de los cuales podría ser de hasta 65,536 palabras (36 bits) de longitud.
SISTEMAS OPERATIVOS

DESCRIPTOR
▸ Cada programa de MULTICS tiene una tabla de segmentos, con un descriptor por
segmento.
▸ Un descriptor de segmentos contiene una indicación acerca de si el segmento está en
memoria principal o no. Si cualquier parte del segmento está en memoria, se considera
que el segmento está en memoria y su tabla de páginas estará en memoria.
▸ El descriptor también contiene el tamaño del segmento, los bits de protección y unos
cuantos elementos más.
SISTEMAS OPERATIVOS

DIRECCIÓN
▸ Una dirección en MULTICS consiste en dos partes: el segmento y la dirección dentro del
segmento. La dirección dentro del segmento se divide aún más en un número de página y
en una palabra dentro de la página.
SISTEMAS OPERATIVOS

¿CÓMO FUNCIONA?
▸ 1. El número de segmento se utiliza para encontrar el descriptor de segmentos.
▸ 2. Se realiza una comprobación para ver si la tabla de páginas del segmento está en la
memoria. Si la tabla de páginas está en memoria, se localiza. Si no, ocurre un fallo de
segmento. Si hay una violación a la protección, ocurre un fallo (trap).
▸ 3. La entrada en la tabla de páginas para la página virtual solicitada se examina. Si la
página en sí no está en memoria, se dispara un fallo de página. Si está en memoria, la
dirección de la memoria principal del inicio de la página se extrae de la entrada en la tabla
de páginas.
SISTEMAS OPERATIVOS

¿CÓMO FUNCIONA?
▸ 4. El desplazamiento se agrega al origen de la página para obtener la dirección de
memoria principal en donde se encuentra la palabra.
▸ 5. Finalmente se lleva a cabo la operación de lectura o almacenamiento.
SISTEMAS OPERATIVOS

MULTICS
▸ MULTICS contiene un TLB de 16 palabras de alta velocidad que puede buscar una llave
dada en todas sus entradas en paralelo.
▸ Los programas cuyo conjunto de trabajo sea menor que el tamaño del TLB se equilibrarán
con las direcciones de todo el conjunto de trabajo en el TLB, y por lo tanto se ejecutarán
con eficiencia.
SISTEMAS OPERATIVOS

MULTICS
▸ Si la página no está en el TLB, se hace referencia al descriptor y las tablas de páginas para
encontrar la dirección del marco, el TLB se actualiza para incluir esta página, y la página
de uso menos reciente se descarta.
▸ La razón de usar un TLB es para comparar los números de segmento y de página de todas
las entradas en paralelo.
SISTEMAS OPERATIVOS

BIBLIOGRAFÍA
▸ Sistemas Operativos. 5ta Ed. William Stalling. Pearson Prentice Hall. Madrid. 2006.
▸ Sistemas Operativos Modernos. 3ra Ed.Andrew. S. Tanenbaum. Prentice-Hall.
Interamericana S.A. Madrid, 2009.

También podría gustarte