paginacion y segmentacion de memoria

37
INSTITUTO TECNOLOGICO DE APIZACO EQUIPO 3: MARIBEL GUZMAN KAREN SEDEÑO JULIO CESAR MUÑOZ TEMA: *PAGINACION *SEGMENTACION DE LA MEMORIA

Upload: instituto-tecnologico-de-apizaco

Post on 13-Jun-2015

30.243 views

Category:

Education


4 download

DESCRIPTION

EXPO.... DE SISTEMAS OPERATIVOS Y AVER K PASA Y YA......................

TRANSCRIPT

Page 1: PAGINACION Y SEGMENTACION DE MEMORIA

INSTITUTO TECNOLOGICO DE APIZACO

EQUIPO 3:

MARIBEL GUZMANKAREN SEDEÑO

JULIO CESAR MUÑOZ

TEMA:

*PAGINACION

*SEGMENTACION DE LA MEMORIA

Page 2: PAGINACION Y SEGMENTACION DE MEMORIA

PAGINACION

Es una técnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones físicas de igual tamaño, denominadas marcos de página. Los programas se dividen en unidades lógicas:

denominadas páginas que tienen el mismo tamaño que los marcos de páginas.

Page 3: PAGINACION Y SEGMENTACION DE MEMORIA

De esta forma se puede cargar una página de información en cualquier marco de página.

Las paginas

sirven

Como unidad de almacenamiento de informacion y transferencia

memoria principal memoria secundaria

Page 4: PAGINACION Y SEGMENTACION DE MEMORIA

Las páginas de un programa necesitan estar contiguamente en:

memoria

Los mecanismos de paginación permiten la correspondencia correcta entre las direcciones virtuales (dadas por los programas) y las direcciones reales de la memoria que se reverencien.

Page 5: PAGINACION Y SEGMENTACION DE MEMORIA

Cada pagina consiste :

En z palabras contiguas; un espacio de direcciones N de un programa consiste de n

paginas (0,1,2,3…n-1) (n*z direcciones virtuales) y el espacio de memoria consiste de m marcos de paginas (0,z,2z,…,(m-1)z)

(m*z posiciones).

Page 6: PAGINACION Y SEGMENTACION DE MEMORIA

MEMORIA_PRINCIPAL

div

MARCOS O PAGINAS FISICAS

DEL MISMO TAMAÑ

O

Page 7: PAGINACION Y SEGMENTACION DE MEMORIA

PARA TENER EL CONTROL DE LAS PÁGINAS:

Debe mantenerse una tabla en memoria que se denomina tabla de Mapas de Pagina (PMT) para cada uno de los procesos.

Page 8: PAGINACION Y SEGMENTACION DE MEMORIA

TABLAS DE PÁGINAS

CADA PÁGINA TIENE UN NÚMERO QUE SE UTILIZA COMO ÍNDICE EN LA TABLA DE PÁGINAS, LO QUE DA POR RESULTADO EL NÚMERO DEL MARCO CORRESPONDIENTE A ESA PÁGINA VIRTUAL. SI EL BIT PRESENTE / AUSENTE ES 0, SE PROVOCA UN SEÑALAMIENTO (TRAP) HACIA EL SISTEMA OPERATIVO. SI EL BIT ES 1, EL NÚMERO DE MARCO QUE APARECE EN LA TABLA DE PÁGINAS SE COPIA EN LOS BITS DE MAYOR ORDEN DEL REGISTRO DE SALIDA.

Page 9: PAGINACION Y SEGMENTACION DE MEMORIA

SU FINALIDAD DE LAS TABLAS

ES ASOCIAR LAS PÁGINAS

VIRTUALES CON LOS MARCOS.

Page 10: PAGINACION Y SEGMENTACION DE MEMORIA

EL ESPACIO DE DIRECCIONES LÓGICO DE UN PROCESO PUEDE SER NO CONTIGUO.SE DIVIDE LA MEMORIA FÍSICA EN BLOQUES DE TAMAÑO FIJO LLAMADOS MARCOS (FRAMES).SE DIVIDE LA MEMORIA EN BLOQUES DE TAMAÑO LLAMADOS PAGINAS.SE MANTIENE INFORMACIÓN EN LOS MARCOS LIBRES.PARA CORRER UN PROGRAMA DE N PAGINAS DE TAMAÑO, SE NECESITAN ENCONTRARA N MARCOS Y CARGAR EL PROGRAMA.SE ESTABLECE UNA TABLA DE PAGINAS PARA TRASLADAR LAS DIRECCIONES LÓGICAS A FÍSICAS.SE PRODUCE FRAGMENTACIÓN INTERNA.

CARACTERISTICAS DE LA PAGINACION

Page 11: PAGINACION Y SEGMENTACION DE MEMORIA

VENTAJAS

Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se cargara bajo la solicitud.No es necesario que las paginas estén contiguas en memoria, por lo que no se necesitan procesos de compactación cuando existen marcos de paginas libres dispersos en la memoria.Es fácil controlar todas las páginas, ya que tienen el mismo tamaño.

Page 12: PAGINACION Y SEGMENTACION DE MEMORIA

DESVENTAJAS

El costo de hardware y software se incrementa, por la nueva información que debe manejarse y el mecanismo de traducción de direcciones necesario. Se consume mucho mas recursos de memoria, tiempo en el CPU para su implantación.Se deben reservar áreas de memoria para las PMT de los procesos. Al no ser fija el tamaño de estas, se crea un problema semejante al de los programas (como asignar un tamaño óptimo sin desperdicio de memoria, u "ovearhead" del procesador).

Page 13: PAGINACION Y SEGMENTACION DE MEMORIA

LA DIRECCIÓN GENERADA POR LA CPU SE DIVIDE EN:

Numero de pagina (p): utilizado como indice en la tabla de pagins que contiene la dirección base de cada pagina en la memoria fisica.

de la pagina (d): combinado con la dirección base dfine la direccion fisica que será enviada a la unidad de memoria.

Page 14: PAGINACION Y SEGMENTACION DE MEMORIA

PAGINACION

EXISTEN 2 FUNCIONES

LLEVAR A CABO LA TRANSFORMACIÓN DE

UNA DIRECCIÓN VIRTUAL A FÍSICA, O

SEA, LA DETERMINACIÓN DE LA

PÁGINA A LA QUE CORRESPONDE UNA

DETERMINADA DIRECCIÓN DE UN

PROGRAMA.

TRANSFERIR, CUANDO HAGA FALTA, PÁGINAS

DE LA MEMORIA SECUNDARIA A LA

MEMORIA PRINCIPAL, Y DE LA MEMORIA PRINCIPAL A LA

MEMORIA SECUNDARIA CUANDO YA NO SEAN

NECESARIAS.

Page 15: PAGINACION Y SEGMENTACION DE MEMORIA
Page 16: PAGINACION Y SEGMENTACION DE MEMORIA

SEGMENTACION DE

LA MEM

ORIA

Page 17: PAGINACION Y SEGMENTACION DE MEMORIA

SEGMENTACIÓN DE MEMORIA

DIVIDE LA MEMORIA EN SEGMENTOS, CADA UNO DE LOS CUALES TIENE UNA

LONGITUD VARIABLE, QUE ESTÁ DEFINIDA INTRÍNSECAMENTE POR EL

TAMAÑO DE ESE SEGMENTO DEL PROGRAMA.

Page 18: PAGINACION Y SEGMENTACION DE MEMORIA

LOS ELEMENTOS DENTRO DE UN SEGMENTO

SE IDENTIFICAN POR SU

DESPLAZAMIENTO

ESTO CON RESPECTO AL

INICIO DEL SEGMENTO

Page 19: PAGINACION Y SEGMENTACION DE MEMORIA

DEFINICIÓN Y ASPECTOS GENERALE

LA SEGMENTACIÓN DE MEMORIA 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.

Page 20: PAGINACION Y SEGMENTACION DE MEMORIA

CADA UNO DE ELLOS TIENEN INFORMACIÓN LÓGICA DEL PROGRAMA:

subrutina, arreglo, etc.

DESPUÉS CADA ESPACIO DE DIRECCIONES DE PROGRAMA CONSISTE DE UNA COLECCIÓN DE SEGMENTOS, QUE GENERALMENTE REFLEJAN LA DIVISIÓN LÓGICA DEL PROGRAMA.

Page 21: PAGINACION Y SEGMENTACION DE MEMORIA

OBVIAMENTE ESTE SISTEMA DE GESTIÓN DE MEMORIA ES UTILIZADO

EN SISTEMAS OPERATIVOS AVANZADOS

PERO YA EXISTÍAN MUESTRAS DE SU ACTIVIDAD DESDELOS S.O.’S UNIX Y D.O.S.

Page 22: PAGINACION Y SEGMENTACION DE MEMORIA

OBJETIVOS ALCANZADOS CON LASEGMENTACIÓN DE MEMORIA

MODULARIDAD DE PROGRAMAS: CADA RUTINA DEL PROGRAMA PUEDE SER UN BLOQUE SUJETO A CAMBIOS Y RECOPILACIONES, SIN AFECTAR POR ELLO AL RESTO DELPROGRAMA.ESTRUCTURAS DE DATOS DE LARGO VARIABLE: DONDE CADA ESTRUCTURA TIENE SU PROPIO TAMAÑO Y ESTE PUEDE VARIAR. (STACK)

Page 23: PAGINACION Y SEGMENTACION DE MEMORIA

PROTECCIÓN: SE PUEDE PROTEGER LOS MÓDULOS DEL SEGMENTO CONTRA ACCESOS NO AUTORIZADOS.COMPARTICIÓN: DOS O MÁS PROCESOS PUEDEN SER UN MISMO SEGMENTO, BAJO REGLAS DE PROTECCIÓN; AUNQUE NO SEAN PROPIETARIOS DE LOS MISMOS.ENLACE DINÁMICO ENTRE SEGMENTOS: PUEDE EVITARSE REALIZAR TODO EL PROCESO DE ENLACE ANTES DE COMENZAR A EJECUTAR UN PROGRAMA. LOS ENLACES SE ESTABLECERÁN SOLO CUANDO SEA NECESARIO

Page 24: PAGINACION Y SEGMENTACION DE MEMORIA

LA SEGMENTACIÓN PAGINADA AYUDA AL

PROCESO DE GESTIÓN DE MEMORIA

PUEDE HACERSE UNA COMBINACIÓN DE SEGMENTACIÓN Y PAGINACIÓN PARA OBTENER LAS VENTAJAS DE AMBAS.

CADA SEGMENTO PUEDE SER DESCRITO POR SU PROPIA TABLA DE PÁGINAS.

Page 25: PAGINACION Y SEGMENTACION DE MEMORIA

LOS SEGMENTOS SON USUALMENTE MÚLTIPLOS DE PÁGINAS EN TAMAÑO, Y NO ES NECESARIO QUE TODAS LAS PÁGINAS SE ENCUENTREN EN MEMORIA PRINCIPAL ALA VEZ;

ADEMÁS LAS PÁGINAS DE UN MISMO SEGMENTO, AUNQUE SE ENCUENTREN CONTIGUAS EN MEMORIA VIRTUAL; NO NECESITAN ESTARLO EN MEMORIA REAL.

Page 26: PAGINACION Y SEGMENTACION DE MEMORIA

LA SEGMENTACIÓN PAGINADA TIENE SU

PROPIO ESQUEMA

LAS PÁGINAS DE ALMACENAMIENTO VIRTUAL, QUE SON CONTIGUAS EN ESTE ALMACENAMIENTO, NO NECESITAN SER CONTIGUAS EN EL ALMACENAMIENTO REAL.

EL DIRECCIONAMIENTO ES TRIDIMENSIONAL CON UNA DIRECCIÓN DE ALMACENAMIENTO VIRTUAL “V=(S,P,D)”. S= núm.. Segmento , P= num.pag.D= desplazamiento.

Page 27: PAGINACION Y SEGMENTACION DE MEMORIA

COMPARTICIÓN DE SEGMENTOS

1. En un sistema de segmentación, una vez que un segmento ha sido declarado como compartido, entonces las estructuras que lo integran pueden cambiar de tamaño.

2. Dos procesos pueden compartir un segmento con solo tener entradas en sus tablas generales que apunten al mismo

segmento delalmacenamiento primario.

Page 28: PAGINACION Y SEGMENTACION DE MEMORIA

LAS VENTAJAS DE LA SEGMENTACIÓN

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 segmentos puede suponer hasta tanto se haga una referencia entre segmentos.

Page 29: PAGINACION Y SEGMENTACION DE MEMORIA

Es fácil el compartir segmentos.

Es posible que los segmentos crezcan dinámicamente según las necesidades del programa en ejecución.

Page 30: PAGINACION Y SEGMENTACION DE MEMORIA

LAS DESVENTAJAS

Hay un incremento en los costos de hardware y de software para llevar a cabo la implantación, así como un mayor consumo de recursos: memoria, tiempo de CPU, etc.

Debido a que los segmentos tienen un tamaño variable se pueden presentar problemas de fragmentación externas, lo que puede ameritar un plan de reubicación de segmentos en memoria principal.

Page 31: PAGINACION Y SEGMENTACION DE MEMORIA

SEGMENTACIÓN

Dirección lógica

Registro de segmentoDesplazamiento

Dirección de segmento

Dirección física

CPU

SEGMENTO

Memoria

0

FFFFF

Page 32: PAGINACION Y SEGMENTACION DE MEMORIA

Segmento de Memoria

UN SEGMENTO ES UN ÁREA CONTINUA DE MEMORIA QUE PUEDE TENER HASTA 64K-BYTES, QUE DEBE COMENZAR EN UNA LOCALIDAD DE MEMORIA CUYA DIRECCIÓN SEA LÍMITE DE 16 BYTES (CANTIDAD DENOMINADA PÁRRAFO) Y QUE PUEDE TRASLAPARSE CON OTROS SEGMENTOS.

SEGMENTO

Memoria

0

FFFFF

Page 33: PAGINACION Y SEGMENTACION DE MEMORIA

El segmento de código (tiene como base el contenido del registro CS).En este segmento se encuentran las instrucciones que forman el programa. Para acceder a los datos contenidos en él, se usa el registro IP como desplazamiento.

El segmento de datos (que tiene como base el registro DS). Contiene los datos que utiliza el programa (variables, etc.) Para acceder a los datos contenidos en él, se suele utilizar los registros SI y DI como desplazamiento.

SEGMENTOS DE MEMORIA

Page 34: PAGINACION Y SEGMENTACION DE MEMORIA

SEGMENTOS DE MEMORIA

-El segmento de pila (con SS como base). -En él se desarrolla la pila del programa, utilizada para almacén temporal de datos, llamadas a funciones, etc. Debe estar presente en todos los programas EXE de forma obligada. Se utiliza el registro SP para acceder a los datos de este segmento.

-El segmento extra (con ES como base). -Su uso es opcional, y en él se encuentra un segmento definido por el usuario y que, regularmente, contiene datos adicionales. Al igual que ocurre con el segmento de datos, para acceder a los datos contenidos en él, se suelen utilizar los registros SI y DI.

Page 35: PAGINACION Y SEGMENTACION DE MEMORIA

SEGMENTACIÓN

CS

DS

SS

ES

STACK

SEGMENTO EXTRA DE DATOS

SEGMENTO DE DATOS

SEGMENTO DE CÓDIGO

CS

OTRO SEGMENTO

SEGMENTO DE CÓDIGO

PROGRAMA

MEMORIA MEMORIA

TRASLAPE DE SEGMENTOS

Page 36: PAGINACION Y SEGMENTACION DE MEMORIA

SEGMENTACIÓN

02000

SEGMENTO DE CÓDIGO RELOCALIZADO

SEGMENTO DE CÓDIGO EN CURSO

PROGRAMA

MEMORIA

RELOCALIZACIÓN DE UN PROGRAMA USANDO EL REGISTRO CS

PROGRAMA

600

1A300600

nuevo (CS)=1A30

Page 37: PAGINACION Y SEGMENTACION DE MEMORIA

BIBLIOGRAFIA1. Sistemas Operativos, 2da Edición (1997) William

Stallings, Prentice Hall España

2. Sistemas Operativos, conceptos fundamentales , 3ra. Edición (1994) A. Silberschatz, J. Peterson, P. Galvin, Addison-Wesley Publishing Company USA

3. Sistemas Operativos, 2da Edición (1993), H. M. Deitel, Addison-Wesley Publishing CompanyUSA