Sei sulla pagina 1di 15

Ctedra: Fundamentos De Sistemas Operativos Semestre: Tercero B Integrantes: Luis Agualongo. 119 Edgar Granda. 194 Alex Cofre.

219

Tablas De Paginacin
y Las tablas de paginacin o tablas de pginas son una

parte integral del Sistema de Memoria Virtual en sistemas operativos, cuando se utiliza paginacin. Son usadas para realizar las traducciones de direcciones de memoria virtual (o lgica) a memoria real (o fsica) y en general el sistema operativo mantiene una por cada proceso corriendo en el sistema.

y Dado que las tablas de paginacin pueden ocupar un

espacio considerable de la memoria principal, estas tambin podran estar sujetas a paginacin, lo que da lugar a una organizacin paginada de mltiples niveles (o tabla de pginas multinivel). En los sistemas con un tamao de direcciones muy grande ( 64 bits ), podra usarse una tabla de paginas invertidas, la cual utiliza menos espacio, aunque puede aumentar el tiempo de bsqueda de la pgina.

y Las tablas son mantenidas por el sistema operativo y

utilizadas por la Unidad de Gestin De Memoria (MMU) para realizar las traducciones. Para evitar un acceso a las tablas de paginacin, hay un dispositivo llamado Buffer de Traduccin Adelantada (TLB, Translation Lookaside Buffer), acelerando el proceso de traduccin.

y Cada pgina tiene un nmero que se utiliza como ndice en la tabla de pginas, lo que da por resultado el nmero del marco correspondiente a esa pgina virtual. Si el bit presente / ausente es 0, se provoca un sealamiento (trap) hacia el sistema operativo. Si el bit es 1, el nmero de marco que aparece en la tabla de pginas se copia en los bits de mayor orden del registro de salida, junto con el ajuste (offset) de 12 bits, el cual se copia sin modificaciones de la direccin virtual de entrada. Juntos forman una direccin fsica de 15 bits

y En teoria, la asociacin de las direcciones virtuales con

las fsicas se efecta segn lo descrito. El nmero de pgina virtual se divide en un nmero de pgina virtual (los bits superiores)y un ajuste (los bits inferiores). El nmero de pgina virtual se utiliza como un ndice en la tabla de pginas para encontrar la entrada de esa pgina virtual. El nmero de marco (si existe) se determina a partir de la tabla de pginas. El nmero de marco se asocia al extremo superior del ajuste y reemplaza al nmero de pgina virtual para formar una direccin fsica que se puede enviar a la memoria. La finalidad de la tabla de pginas es asociar las pginas virtuales con los marcos

Caractersticas de la paginacin:
y El espacio de direcciones lgico de un proceso puede ser no contiguo. y Se divide la memoria fsica en bloques de tamao fijo llamados marcos (frames). y Se divide la memoria en bloques de tamao llamados paginas. y Se mantiene informacin en los marcos libres. y Para correr un programa de n paginas de tamao, se necesitan encontrara n marcos y cargar el programa. y Se establece una tabla de paginas para trasladar las direcciones lgicas a fsicas. y Se produce fragmentacin interna

Ventajas De la Paginacin
y Es posible comenzar a ejecutar un programa, cargando solo una parte del y y y y y y

mismo en memoria, y el resto se cargara bajo la solicitud. No es necesario que las paginas estn contiguas en memoria, por lo que no se necesitan procesos de compactacin cuando existen marcos de paginas libres dispersos en la memoria. Es fcil controlar todas las pginas, ya que tienen el mismo tamao. El mecanismo de traduccin de direcciones (DAT) permite separar los conceptos de espacio de direcciones y espacios de memoria. Todo el mecanismo es transparente al usuario. Se libera al programador de la restriccin de programar para un tamao fsico de memoria, con lo que s e aumenta su productividad. Se puede programar en funcin de una memoria mucho ms grande a la existente. Al no necesitarse cargar un programa completo en memoria para su ejecucin, se puede aumentar el numero de programas multiprogramndose. Se elimina el problema de fragmentacin externa.

Desventajas de la paginacin

y El costo de hardware y software se incrementa, por la nueva informacin que debe y y

y y y

manejarse y el mecanismo de traduccin de direcciones necesario. Se consume mucho mas recursos de memoria, tiempo en el CPU para su implantacin. Se deben reservar reas de memoria para las PMT de los procesos. Al no ser fija el tamao de estas, se crea un problema semejante al de los programas (como asignar un tamao ptimo sin desperdicio de memoria, u "ovearhead" del procesador). Aparece el problema de fragmentacin interna. As, si se requieren 5K para un programa, pero las paginas son de 4K, debern asignrseles 2 paginas (8k), con lo que quedan 3K sin utilizar. La suma de los espacios libres dejados de esta forma puede ser mayor que el de varias paginas, pero no podr ser utilizados. Debe asignarse un tamao promedio a las pginas, evitando que si son muy pequeas, se necesiten TABLAS BMT y PMT muy grandes, y si son muy grandes, se incremente el grado de fragmentacin interna. Traduccin de Direcciones La direccin generada por la CPU se divide en: Numero de pagina (p): utilizado como ndice en la tabla de paginas que contiene la direccin base de cada pagina en la memoria fsica. Offset de la pagina (d): combinado con la direccin base define la direccin fsica que ser enviada a la unidad de memoria.

Paginacin
y Es una forma de disminuir la fragmentacin externa. y Adems, hasta ahora el swapping deba hacerse con los procesos

y y y y

completos. Con paginacin, un proceso puede ser llevado parcialmente al disco. Regla del 90/10: Un proceso ocupa el 90% del tiempo accediendo a 10% de su memoria. Es usada por casi todas las arquitecturas de hardware y por los SO. Las direcciones lgicas no se disponen continuamente en la memoria fsica. Consiste en dividir la memoria fsica en secciones de memoria, llamadas marcos, y dividir la memoria lgica en secciones del mismo tamao, llamadas pginas. El tamao es fijo, y determinado por el hardware (4kb, 2Mb y 4Mb en i386)

y Cua y

y y y
y

se crea un r ces , se le asi na el nmer e inas y frames necesari s. as irecci nes l icas el r ces s n un rango continuo e nmeros, ero estas se ma ean e forma ( robablemente) iscontinua en memoria fsica. Cual uier marco ue e ser asigna o a cual uier gina. e elimina la fragmentaci n externa. e acota la fragmentaci n interna (~1/2 gina or roceso). jemplos extremos. rafico e pginas y marcos: signaciones no continuas.

Ejemplos de Paginacin
y Datos: RAM: 256bytes. Tamao pgina:

16bytes.Direccionamiento por byte.

y La direccin fsica tiene 8 bits (suficientes para mapear 256bytes y y y y y y y y

planos). 16 marcos de 16 bytes. 4 bits de offset para direcciones 16 bytes dentro de cada pgina 4 bits para seleccionar la pgina: entre 16 pginas. 4+4 = 8 bits de direccin lgica. dado un proceso de 64bytes -> 4 pginas -> la tabla tiene 4 entradas. p: los '4' ms significativos. 'd' los menos. dada un direccin: 0x18 (24) -> 0x1 es la pgina, y 0x8 es el offset. dada un direccin: 0x2A (42) -> 0x2 es la pgina, y 0xA es el offset.

Datos: RAM: 512bytes. Tamao pgina: 16bytes.Direccionamiento por Word (2 bytes).


y direccin fsica: 9 bytes. y 32 marcos de 16 bytes. y 5bits para seleccionar la pgina y 3 bits para el offset. (porque son 16bytes = 8 Word por

pgina) y 5+3 = 8 bits de direccin lgica. y 'p': los 5 ms significativos, 'n' los 3 menos. y dada una direccin: 0xD (13d 1101b)-> p=1b-> 1d , n=101b> 5d

y Dnde se guarda la tabla de pginas. Dos opciones:


y registros y mas rpidos y si mucha RAM -> la tabla tendr muchas entradas y no se puede ponerla en registros y cada cambio de contexto hay que modificar el valor de todos los registros y memoria y un registro (CR3 en i386) apunta a la tabla de pginas y acceso mas lento que registreos: dos accesos a memoria por cada acceso real. y pero: no hay problemas de espacios y y para cambiar de contexto solo es necesario cambiar un registro, el que apunta a la tabla. Todas las tablas, de todos los procesos, de guardan al mismo tiempo en memoria, y slo se cambia el registro puntero.

y Otros datos en la tabla:


y Presente?: Si esta en la RAM o en swap. y User/Kernel. Si se puede acceder a modo usuario. y Ejecutable/Data. Si es ejecutable o no la info que contiene.

y Espacio libres para el SO: Contadores de referencias,

Accesos, etc.

y Estos campos estn definidos por el hardware. y Recordar: El CPU trabaja entonces con direcciones

lgicas, no fsicas. y El cach de memoria esta implementado a nivel lgico, con direcciones lgicas. y La MMU posee un TLB para acelerar el proceso de traduccin de direcciones

Potrebbero piacerti anche