Está en la página 1de 10

Contenido

Paginacin ........................................................................................................................................... 2
Qu es la paginacin?.................................................................................................................... 2
Cmo se realiza?............................................................................................................................ 3
Caractersticas de la paginacin ...................................................................................................... 4
Ventajas de la paginacin ............................................................................................................... 4
Desventajas de la paginacin .......................................................................................................... 4
Ejemplos .......................................................................................................................................... 5
Segmentacin ...................................................................................................................................... 6
Qu es la segmentacin? .............................................................................................................. 6
Cmo se realiza?............................................................................................................................ 6
Caractersticas ................................................................................................................................. 6
Ventajas de la segmentacin .......................................................................................................... 7
Desventajas de la segmentacin ..................................................................................................... 7
Ejemplos .......................................................................................................................................... 8
Paginacin y segmentacin ................................................................................................................. 8
Comparacin de la Paginacin y la Segmentacin. ......................................................................... 8
Cul mtodo es el mejor para realizar la admn. de la memoria? ............................................... 9

Paginacin
Qu es la paginacin?
Es una tcnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones
fsicas de igual tamao, denominadas marcos de pgina. Los programas se dividen en unidades
lgicas denominadas pginas que tienen el mismo tamao que los marcos de pginas. Las pginas
sirven como unidad de almacenamiento de informacin y de transferencia entre memoria
principal y memoria auxiliar o secundaria. Cada marco se identifica por la direccin de marco, que
est en la posicin fsica de la primera palabra en el marco de pgina.
Las pginas de un programa necesitan estar contiguamente en memoria, aunque el programador
lo observe de esta forma. Los mecanismos de paginacin permiten la correspondencia correcta
entre las direcciones virtuales (dadas por los programas) y las direcciones reales de la memoria
que se reverencien.
Cada pgina consiste en z palabras contiguas; un espacio de direcciones N de un programa
consiste de n paginas (0,1,2,3n-1) (n*z direcciones virtuales) y el espacio de memoria consiste de
m marcos de pginas (0,z,2z,,(m-1)z)(m*z posiciones).
Una direccin virtual a es equivalente a una direccin dada como una dupla (p, d), en la cual p es
el nmero de la pgina y d el nmero de la palabra dentro de la pgina, de acuerdo con la relacin:
a = p * z + d (0 <= d < z)
p = (a / z) (parte entera de la divisin)
d = a mod z (resto de divisor a / z)
Para tener el control de las pginas, debe mantenerse una tabla en memoria que se denomina
tabla de Mapas de Pagina (PMT) para cada uno de los procesos.
Tablas de pginas
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. El registro de salida se coloca entonces en el bus de
la memoria como la direccin en la memoria fsica.

Estructura de la tabla de pginas

Proteccin: Expresa los permisos de acceso del proceso. En caso de tener permiso
para la operacin de lectura/escritura que se va a realizar, se consulta el resto de los
campos.
Bit de Presencia: Indica si la pgina est presente en memoria principal o no. Si se
encuentra en RAM, tambin tienen sentido los siguientes campos.
Marco Ocupado: Si la pgina se encuentra en memoria principal, este campo expresa
el marco que la contiene.
Modificada (Bit de ensuciada): Este campo indica si el contenido de la pgina ha sido
modificado desde que se trajo de la memoria secundaria.
Referenciada: Este campo booleano se pone a cierto cada vez que se hace referencia a
cualquier direccin de la pgina. Lo utiliza el sistema operativo para ayudar a los
algoritmos de sustitucin de pginas.

Cmo se realiza?
Desde el punto de vista de la paginacin la traduccin de las direcciones de memoria se basa en
dos conceptos:
1. El dispositivo traductor divide las direcciones lgicas en 2 partes de la siguiente forma: los n bits
ms significativos identifican la pgina mientras que el resto identifica el desplazamiento.
2. Cuando el traductor dinmico de pginas recibe, en una direccin lgica, un nmero de pgina
este examina una tabla (llamada tabla de pginas) en la cual se relacionan las pginas lgicas con
las pginas fsicas y obtiene la direccin real (Nmero de marco) de la siguiente forma:

Al igual que en la segmentacin al intentar acceder a una pgina ausente se produce un fallo
(llamado en este caso fallo de pgina).

Caractersticas de la paginacin

El espacio de direcciones lgico de un proceso puede ser no contiguo.


Se divide la memoria fsica en bloques de tamao fijo llamados marcos (frames).
Se divide la memoria en bloques de tamao llamados pginas.
Se mantiene informacin en los marcos libres.
Para correr un programa de en pginas de tamao, se necesitan encontrar n marcos y
cargar el programa.
Se establece una tabla de pginas para trasladar las direcciones lgicas a fsicas.
Se produce fragmentacin interna.

Ventajas de la paginacin

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 estn contiguas en memoria, por lo que no se
necesitan procesos de compactacin cuando existen marcos de pginas 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.

Desventajas de la paginacin

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


manejarse y el mecanismo de traduccin de direcciones necesario. Se consumen
muchos ms 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 fijo el
tamao de estas, se crea un problema semejante al de los programas (cmo asignar
un tamao ptimo sin desperdicio de memoria, u ovearhead del procesador).

Ejemplos
1 Empleando un tamao de
pgina (tp) 4 bytes y una
memoria fsica (mf) 16 bytes
indique el nmero de pginas y
calcule la direccin de la
memoria fsica para los datos
indicados en el diagrama. Los
datos son a, f, l, o.
mf/tp= mp
16/4= 4 bytes (Bytes de Pgina)

2 Empleando un tamao de
pgina (tp) 8 bytes y un
memoria fsica (mf) 64 bytes
indique el nmero de pginas y
calcule la direccin de la
memoria fsica para los datos
indicados en el diagrama. Los
datos son 3, 9, 14, 18, 28.
mf/tp= mp
64/8= 8 bytes (Bytes de Pgina)

Segmentacin
Qu es la segmentacin?
Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su
divisin lgica; llevndose a cabo una agrupacin lgica de la informacin en bloques de tamao
variable denominados segmentos. Cada uno de ellos tienen informacin lgica del programa:
subrutina, arreglo, etc. Luego, cada espacio de direcciones de programa consiste de una coleccin
de segmentos, que generalmente reflejan la divisin lgica del programa.

Cmo se realiza?
La segmentacin permite alcanzar los siguientes objetivos:
1. Modularidad de programas: cada rutina del programa puede ser un bloque sujeto a
cambios y recopilaciones, sin afectar por ello al resto del programa.
2. Estructuras de datos de largo variable: ejm. Stack, donde cada estructura tiene su propio
tamao y este puede variar.
3. Proteccin: se puede proteger los mdulos del segmento contra accesos no autorizados.
4. Comparticin: dos o ms procesos pueden ser un mismo segmento, bajo reglas de
proteccin; aunque no sean propietarios de los mismos.
5. Enlace dinmico entre segmentos: puede evitarse realizar todo el proceso de enlace antes
de comenzar a ejecutar un programa. Los enlaces se establecern solo cuando sea
necesario.

Caractersticas

Este mtodo consiste en la asignacin de bloques de memoria de tamao variable,


llamados segmentos.

El tamao de cada segmento ser el requerido segn la peticin, como el tamao del
proceso a cargar.

El tamao mximo para un segmento estar determinado por la capacidad de


direccionamiento del hardware de la computadora, esto es, de cuantos bits se dispone
para almacenar una direccin.

El acceso a cada elemento individual (byte) en la memoria se hace mediante una


direccin de memoria que se integra por dos elementos: una direccin de segmento y
una de desplazamiento.

La combinacin (suma) de la direccin de segmento y la de desplazamiento generan la


direccin de memoria absoluta a accesar.

Ventajas de la segmentacin
El esquema de segmentacin ofrece las siguientes ventajas:

El programador puede conocer las unidades lgicas de su programa, dndoles un


tratamiento particular.
Es posible compilar mdulos separados como segmentos el enlace entre los segmentos
puede suponer hasta tanto se haga una referencia entre segmentos.
Debido a que es posible separar los mdulos, se hace ms fcil la modificacin de los
mismos. Cambios dentro de un mdulo no afecta al resto de los mdulos.
Es fcil el compartir segmentos.
Es posible que los segmentos crezcan dinmicamente segn las necesidades del programa
en ejecucin.
Existe la posibilidad de definir segmentos que an no existan. As, no se asignar memoria,
sino a partir del momento que sea necesario hacer usos del segmento. Un ejemplo de
esto, seran los arreglos cuya dimensin no se conoce hasta tanto no se comienza a
ejecutar el programa. En algunos casos, incluso podra retardar la asignacin de memoria
hasta el momento en el cul se referencia el arreglo u otra estructura de datos por
primera vez.

Desventajas de la segmentacin

Hay un incremento en los costos de hardware y de software para llevar a cabo la


implantacin, as como un mayor consumo de recursos: memoria, tiempo de CPU, etc.
Debido a que los segmentos tienen un tamao variable se pueden presentar problemas de
fragmentacin externas, lo que puede ameritar un plan de reubicacin de segmentos en
memoria principal.
Se complica el manejo de memoria virtual, ya que los discos almacenan la informacin en
bloques de tamaos fijos, mientras los segmentos son de tamao variable. Esto hace
necesaria la existencia de mecanismos ms costosos que los existentes para paginacin.
Al permitir que los segmentos varen de tamao, puede ser necesarios planes de
reubicacin a nivel de los discos, si los segmentos son devueltos a dicho dispositivo; lo que
conlleva a nuevos costos.
No se puede garantizar, que al salir un segmento de la memoria, este pueda ser trado
fcilmente de nuevo, ya que ser necesario encontrar nuevamente un rea de memoria
libre ajustada a su tamao.
La comparticin de segmentos permite ahorrar memoria, pero requiere de mecanismos
adicionales da hardware y software.

Estas desventajas tratan de ser minimizadas, bajo la tcnica conocida como Segmentacin
paginada.

Ejemplos
1.- Dada la siguiente tabla de segmentos cuales son las direcciones fsicas en las direcciones lgicas.

Paginacin y segmentacin
Comparacin de la Paginacin y la Segmentacin.
-Paginacin consiste en considerar el espacio de direcciones lgicas de cada proces como un conjunto de
bloques llamados pginas.
-Segmentacin es un esquema de administracin de la memoria que soporta la visin que el usuario tiene a la
misma.
-La paginacin divide el programa en trozos pequeos del mismo tamao pero sin mirar lo que coge, as un
programa solo puede desperdiciar el fragmento final de su ltima pgina, lo que supone un ahorro de
memoria y ms facilidad de acceso a puntos intermedios. Adems la paginacin tambin es til para pasar un
programa que est cargado en la RAM pero inactivo al disco duro, dejando espacio para otros programas, y
luego se recupera cuando haga falta. Por ejemplo, si se ests leyendo un PDF, y en un momento dado se
minimiza y se abre un juego, el procesador probablemente pasar el PDF a una zona reservada del disco duro
para dejar espacio en la RAM al juego, y cuando se cierre el juego y se vuelva a abrir el PDF, la CPU volver a
cargar el PDF en la RAM.
-La segmentacin divide al programa en unidades lgicas, como subfunciones, arreglos, variables, etc. y es de
tamao variable segn lo que sea cada segmento. As se consigue tener un proceso divido en trozos
autocontenidos y fciles de acceder, si hay que leer o cambiar una parte de ese programa no hace falta tocar

ms que los segmentos necesarios en vez de mirar todo el proceso entero. Le proporciona proteccin contra
accesos no autorizados, adems un segmento puede ser compartido por varios procesos que usen cdigo
comn, evitando guardar dos veces lo mismo (libreras dinmicas) y accediendo a l de forma concurrente.

Cul mtodo es el mejor para realizar la admn. de la memoria?


Tanto la paginacin como la segmentacin tienen sus ventajas y desventajas.
La paginacin y la segmentacin se pueden usar de forma combinada para tener las ventajas de ambas
(segmentacin paginada), y as cada segmento podra tener su propia tabla de pginas (los segmentos suelen
ser ms grandes que las pginas).
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 (paginas) cuya liga son los segmentos. Tambin es factible
as el compartir segmentos a medida que las partes necesitadas de los mismos se van reverenciando
(paginas).
Para la paginacin y segmentacin 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'.