INSTITUTO TECNOLOGICO DE APIZACOEQUIPO 3:MARIBEL GUZMANKAREN SEDEÑOJULIO CESAR MUÑOZTEMA:*PAGINACION*SEGMENTACION DE LA ME...
PAGINACION<br />Es una técnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones físicas de ig...
De esta forma se puede cargar una página de información en cualquier marco de página.<br />Las paginas<br />              ...
Las páginas de un programa necesitan estar contiguamente en:<br />                                           memoria<br />...
Cada pagina consiste :<br />En z palabras contiguas; un espacio de direcciones N de un programa consiste de n paginas (0,1...
MEMORIA_PRINCIPAL<br />div<br />MARCOS O PAGINAS FISICAS<br />DEL MISMO TAMAÑO<br />
PARA TENER EL CONTROL DE LAS PÁGINAS:<br />Debe mantenerse una tabla en memoria que se denomina tabla de Mapas de Pagina (...
TABLAS DE PÁGINAS<br />CADA PÁGINA TIENE UN NÚMERO QUE SE UTILIZA COMO ÍNDICE EN LA TABLA DE PÁGINAS, LO QUE DA POR RESULT...
SU FINALIDAD DE LAS TABLAS<br />ES ASOCIAR LAS PÁGINAS VIRTUALES CON LOS MARCOS.<br />
EL ESPACIO DE DIRECCIONES LÓGICO DE UN PROCESO PUEDE SER NO CONTIGUO.<br />SE DIVIDE LA MEMORIA FÍSICA EN BLOQUES DE TAMAÑ...
VENTAJAS<br />Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se carg...
DESVENTAJAS<br />El costo de hardware y software se incrementa, por la nueva información que debe manejarse y el mecanismo...
LA DIRECCIÓN GENERADA POR LA CPU SE DIVIDE EN:<br /><ul><li>Numero de pagina (p): utilizado como indice en la tabla de pag...
de la pagina (d): combinado con la dirección base dfine la direccionfisica que será enviada a la unidad de memoria.</li></...
SEGMENTACION DE LA MEMORIA<br />
SEGMENTACIÓN DE MEMORIA<br />DIVIDE LA MEMORIA EN SEGMENTOS, CADA UNO DE LOS CUALES TIENE UNA LONGITUD VARIABLE, QUE ESTÁ ...
LOS ELEMENTOS DENTRO DE UN SEGMENTO<br />SE IDENTIFICAN POR SU DESPLAZAMIENTO<br />ESTO CON RESPECTO AL INICIO DEL SEGMENT...
DEFINICIÓN Y ASPECTOS GENERALE<br />LA SEGMENTACIÓN DE MEMORIA ES UN ESQUEMA DE MANEJO DE MEMORIA MEDIANTE EL CUAL LA ESTR...
OBVIAMENTE ESTE SISTEMA DE GESTIÓN DE MEMORIA ES UTILIZADO<br />EN SISTEMAS OPERATIVOS AVANZADOS<br /> PERO YA EXISTÍAN MU...
OBJETIVOS ALCANZADOS CON LA<br />SEGMENTACIÓN DE MEMORIA<br /><ul><li>MODULARIDAD DE PROGRAMAS: CADA RUTINA DEL PROGRAMA P...
ESTRUCTURAS DE DATOS DE LARGO VARIABLE: DONDE CADA ESTRUCTURA TIENE SU PROPIO TAMAÑO Y ESTE PUEDE VARIAR.
(STACK)</li></li></ul><li><ul><li>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 L...
ENLACE DINÁMICO ENTRE SEGMENTOS: PUEDE EVITARSE REALIZAR TODO EL PROCESO DE ENLACE ANTES DE COMENZAR A EJECUTAR UN PROGRAM...
CADA SEGMENTO PUEDE SER DESCRITO POR SU PROPIA TABLA DE PÁGINAS.</li></li></ul><li>LOS SEGMENTOS SON USUALMENTE MÚLTIPLOS ...
LA SEGMENTACIÓN PAGINADA TIENE SU<br />PROPIO ESQUEMA<br />LAS PÁGINAS DE ALMACENAMIENTO VIRTUAL, QUE SON CONTIGUAS EN EST...
COMPARTICIÓN DE SEGMENTOS<br />En un sistema de segmentación, una vez que un segmento ha sido declarado como compartido, e...
LAS VENTAJAS DE LA SEGMENTACIÓN<br />El programador puede conocer las unidades lógicas de su programa, dándoles un tratami...
Es fácil el compartir segmentos.<br />Es posible que los segmentos crezcan dinámicamente según las necesidades del program...
LAS DESVENTAJAS<br />Hay un incremento en los costos de hardware y de software para llevar a cabo la implantación, así com...
SEGMENTACIÓN<br />FFFFF<br />Dirección lógica<br />Dirección física<br />Registro de segmento<br />SEGMENTO<br />Desplazam...
Segmento de Memoria<br />FFFFF<br /> UN SEGMENTO ES UN ÁREA CONTINUA DE MEMORIA QUE PUEDE TENER HASTA 64K-BYTES, QUE DEBE ...
SEGMENTOS DE MEMORIA<br /><ul><li>El segmento de código(tiene como base el contenido del registro CS).</li></ul>En este se...
SEGMENTOS DE MEMORIA<br /><ul><li>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 ...
El segmento extra (con ES como base).
Próxima SlideShare
Cargando en…5
×

PAGINACION Y SEGMENTACION DE MEMORIA

61.146 visualizaciones

Publicado el

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

Publicado en: Educación

PAGINACION Y SEGMENTACION DE MEMORIA

  1. 1. INSTITUTO TECNOLOGICO DE APIZACOEQUIPO 3:MARIBEL GUZMANKAREN SEDEÑOJULIO CESAR MUÑOZTEMA:*PAGINACION*SEGMENTACION DE LA MEMORIA<br />
  2. 2. PAGINACION<br />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:<br />denominadas páginas que tienen el mismo tamaño que los marcos de páginas.<br />
  3. 3. De esta forma se puede cargar una página de información en cualquier marco de página.<br />Las paginas<br /> sirven<br />Como unidad de almacenamiento de informacion y transferencia<br /> memoria principal memoria secundaria<br />
  4. 4. Las páginas de un programa necesitan estar contiguamente en:<br /> memoria<br /> 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.<br />
  5. 5. Cada pagina consiste :<br />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).<br />
  6. 6. MEMORIA_PRINCIPAL<br />div<br />MARCOS O PAGINAS FISICAS<br />DEL MISMO TAMAÑO<br />
  7. 7. PARA TENER EL CONTROL DE LAS PÁGINAS:<br />Debe mantenerse una tabla en memoria que se denomina tabla de Mapas de Pagina (PMT) para cada uno de los procesos.<br />
  8. 8. TABLAS DE PÁGINAS<br />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.<br />
  9. 9. SU FINALIDAD DE LAS TABLAS<br />ES ASOCIAR LAS PÁGINAS VIRTUALES CON LOS MARCOS.<br />
  10. 10. EL ESPACIO DE DIRECCIONES LÓGICO DE UN PROCESO PUEDE SER NO CONTIGUO.<br />SE DIVIDE LA MEMORIA FÍSICA EN BLOQUES DE TAMAÑO FIJO LLAMADOS MARCOS (FRAMES).<br />SE DIVIDE LA MEMORIA EN BLOQUES DE TAMAÑO LLAMADOS PAGINAS.<br />SE MANTIENE INFORMACIÓN EN LOS MARCOS LIBRES.<br />PARA CORRER UN PROGRAMA DE N PAGINAS DE TAMAÑO, SE NECESITAN ENCONTRARA N MARCOS Y CARGAR EL PROGRAMA.<br />SE ESTABLECE UNA TABLA DE PAGINAS PARA TRASLADAR LAS DIRECCIONES LÓGICAS A FÍSICAS.<br />SE PRODUCE FRAGMENTACIÓN INTERNA.<br />CARACTERISTICAS DE LA PAGINACION<br />
  11. 11. VENTAJAS<br />Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se cargara bajo la solicitud.<br />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.<br />Es fácil controlar todas las páginas, ya que tienen el mismo tamaño.<br />
  12. 12. DESVENTAJAS<br />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.<br />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).<br />
  13. 13. LA DIRECCIÓN GENERADA POR LA CPU SE DIVIDE EN:<br /><ul><li>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.
  14. 14. de la pagina (d): combinado con la dirección base dfine la direccionfisica que será enviada a la unidad de memoria.</li></li></ul><li>PAGINACION<br />EXISTEN 2 FUNCIONES<br />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.<br />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.<br />
  15. 15.
  16. 16. SEGMENTACION DE LA MEMORIA<br />
  17. 17. SEGMENTACIÓN DE MEMORIA<br />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. <br />
  18. 18. LOS ELEMENTOS DENTRO DE UN SEGMENTO<br />SE IDENTIFICAN POR SU DESPLAZAMIENTO<br />ESTO CON RESPECTO AL INICIO DEL SEGMENTO<br />
  19. 19. DEFINICIÓN Y ASPECTOS GENERALE<br />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.<br /><ul><li>LLEVÁNDOSE A CABO UNA AGRUPACIÓN LÓGICA DE LA INFORMACIÓN EN BLOQUES DE TAMAÑO VARIABLE DENOMINADOS SEGMENTOS.</li></li></ul><li>CADA UNO DE ELLOS TIENEN INFORMACIÓN LÓGICA DEL PROGRAMA: <br />subrutina, arreglo, etc. <br />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.<br />
  20. 20. OBVIAMENTE ESTE SISTEMA DE GESTIÓN DE MEMORIA ES UTILIZADO<br />EN SISTEMAS OPERATIVOS AVANZADOS<br /> PERO YA EXISTÍAN MUESTRAS DE SU ACTIVIDAD DESDELOS S.O.’S UNIX Y D.O.S.<br />
  21. 21. OBJETIVOS ALCANZADOS CON LA<br />SEGMENTACIÓN DE MEMORIA<br /><ul><li>MODULARIDAD DE PROGRAMAS: CADA RUTINA DEL PROGRAMA PUEDE SER UN BLOQUE SUJETO A CAMBIOS Y RECOPILACIONES, SIN AFECTAR POR ELLO AL RESTO DELPROGRAMA.
  22. 22. ESTRUCTURAS DE DATOS DE LARGO VARIABLE: DONDE CADA ESTRUCTURA TIENE SU PROPIO TAMAÑO Y ESTE PUEDE VARIAR.
  23. 23. (STACK)</li></li></ul><li><ul><li>PROTECCIÓN: SE PUEDE PROTEGER LOS MÓDULOS DEL SEGMENTO CONTRA ACCESOS NO AUTORIZADOS.
  24. 24. COMPARTICIÓN: DOS O MÁS PROCESOS PUEDEN SER UN MISMO SEGMENTO, BAJO REGLAS DE PROTECCIÓN; AUNQUE NO SEAN PROPIETARIOS DE LOS MISMOS.
  25. 25. 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</li></li></ul><li>LA SEGMENTACIÓN PAGINADA AYUDA AL<br />PROCESO DE GESTIÓN DE MEMORIA<br /><ul><li>PUEDE HACERSE UNA COMBINACIÓN DE SEGMENTACIÓN Y PAGINACIÓN PARA OBTENER LAS VENTAJAS DE AMBAS.
  26. 26. CADA SEGMENTO PUEDE SER DESCRITO POR SU PROPIA TABLA DE PÁGINAS.</li></li></ul><li>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;<br />ADEMÁS LAS PÁGINAS DE UN MISMO SEGMENTO, AUNQUE SE ENCUENTREN CONTIGUAS EN MEMORIA VIRTUAL; NO NECESITAN ESTARLO EN MEMORIA REAL.<br />
  27. 27. LA SEGMENTACIÓN PAGINADA TIENE SU<br />PROPIO ESQUEMA<br />LAS PÁGINAS DE ALMACENAMIENTO VIRTUAL, QUE SON CONTIGUAS EN ESTE ALMACENAMIENTO, NO NECESITAN SER CONTIGUAS EN EL ALMACENAMIENTO REAL.<br />EL DIRECCIONAMIENTO ES TRIDIMENSIONAL CON UNA DIRECCIÓN DE ALMACENAMIENTO VIRTUAL “V=(S,P,D)”. S= núm.. Segmento , P= num.pag.<br />D= desplazamiento.<br />
  28. 28. COMPARTICIÓN DE SEGMENTOS<br />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.<br />Dos procesos pueden compartir un segmento con solo tener entradas en sus tablas generales que apunten al mismo segmento delalmacenamiento primario.<br />
  29. 29. LAS VENTAJAS DE LA SEGMENTACIÓN<br />El programador puede conocer las unidades lógicas de su programa, dándoles un tratamiento particular.<br />Es posible compilar módulos separados como segmentos el enlace entre los segmentos puede suponer hasta tanto se haga una referencia entre segmentos.<br />
  30. 30. Es fácil el compartir segmentos.<br />Es posible que los segmentos crezcan dinámicamente según las necesidades del programa en ejecución.<br />
  31. 31. LAS DESVENTAJAS<br />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.<br />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.<br />
  32. 32. SEGMENTACIÓN<br />FFFFF<br />Dirección lógica<br />Dirección física<br />Registro de segmento<br />SEGMENTO<br />Desplazamiento <br />Dirección de segmento<br />CPU<br />0<br />Memoria<br />
  33. 33. Segmento de Memoria<br />FFFFF<br /> 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. <br />SEGMENTO<br />0<br />Memoria<br />
  34. 34. SEGMENTOS DE MEMORIA<br /><ul><li>El segmento de código(tiene como base el contenido del registro CS).</li></ul>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.<br /><ul><li>El segmento de datos(que tiene como base el registro DS).</li></ul>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.<br />
  35. 35. SEGMENTOS DE MEMORIA<br /><ul><li>El segmento de pila (con SS como base).
  36. 36. 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.
  37. 37. El segmento extra (con ES como base).
  38. 38. 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.</li></li></ul><li>CS<br />SEGMENTO DE CÓDIGO<br />DS<br />SEGMENTO DE DATOS<br />ES<br />SEGMENTO EXTRA DE DATOS<br />SS<br />STACK<br />SEGMENTACIÓN<br />TRASLAPE DE SEGMENTOS<br />CS<br />PROGRAMA<br />SEGMENTO DE CÓDIGO<br />OTRO SEGMENTO <br />MEMORIA <br />MEMORIA <br />
  39. 39. SEGMENTACIÓN<br />RELOCALIZACIÓN DE UN PROGRAMA USANDO EL REGISTRO CS<br />02000<br />600<br />PROGRAMA<br />SEGMENTO DE CÓDIGO EN CURSO<br /> nuevo (CS)=1A30<br />1A300<br />600<br />PROGRAMA<br />SEGMENTO DE CÓDIGO RELOCALIZADO<br />MEMORIA <br />
  40. 40. BIBLIOGRAFIA<br />Sistemas Operativos, 2da Edición (1997) William Stallings, Prentice Hall España<br />Sistemas Operativos, conceptos fundamentales , 3ra. Edición (1994) A. Silberschatz, J. Peterson, P. Galvin, Addison-Wesley Publishing Company USA<br />Sistemas Operativos, 2da Edición (1993), H. M. Deitel, Addison-Wesley Publishing Company USA<br />

×