You are on page 1of 16

"Ao de la consolidacin del Mar de Grau"

UNIVERSIDAD
NACIONAL DE UCAYALI
FACULTAD DE INGENIERIA DE SISTEMAS Y DE
INGENIERIA CIVIL
ESCUELA ACADEMICA DE INGENIERIA DE SISTEMAS
INFORME:
MEMORIA VIRTUAL
DOCENTE:
ING. CESAR AUGUSTO AGURTO CHERRE
CURSO:
SISTEMAS OPERATIVOS
INTEGRANTES
BAUTISTA USHIAHUA. MARCOS ALEXIS
NEIRA REATEGUI, HENRI YURI
CONDORCAUHUANA TEXEIRA, MELVIS
P. VASQUES, FRANCO
PUCALLPA PERU
2016

Contenido
1. MEMORIA VIRTUAL................................................................................... 4
1.1.

Paginacin.......................................................................................... 5

1.2.

FALLO DE PGINA.............................................................................. 6
2

2.

SEGMENTACION....................................................................................... 6
2.1.

Segmentacin paginada......................................................................7

2.2.

Ventajas de la Segmentacin Paginada................................................7

2.3.

Desventajas de la Segmentacin Paginada...........................................8

2.4. Paginacin por Demanda.....................................................................8

3.

2.5.

Paginacin por Demanda y Conjunto de trabajo...................................8

2.6.

Rendimiento con Paginacin con Demanda..........................................8

Poltica de reemplazo o Algoritmo de reemplazo.........................................9


3.1.

ALGORITMO DE REMPLAZO DE PAGINA OPTIMO................................9

3.2. ALGORITMO FIFO (FIRST INPUT-FIRST OUTPUT, PRIMERA EN ENTRARPRIMERA EN SALIR)................................................................................... 10


3.3. ALGORITMO DE LA SEGUNDA OPORTUNIDAD O ALGORITMO DEL
RELOJ....................................................................................................... 10
3.4. ALGORITMO LRU (LEAST RECENTLY USED, MENOS RECIENTEMENTE
USADA)..................................................................................................... 11
3.5.

MS ALL DEL LRU..........................................................................12

3.5.1.

BUFFERING DE PAGINAS...............................................................12

3.5.2.

RETENCIN DE PGINAS EN MEMORIA.........................................12

3.6.

Polticas de Asignacin de Marcos de Pgina.....................................13

3.6.1.

Asignacin fija............................................................................... 13

3.6.2.

Asignacin dinmica......................................................................13

3.7.

HIPERPAGINACION...........................................................................14

1. MEMORIA VIRTUAL
Prcticamente todos los sistemas operativos modernos usan la tcnica
de la memoria virtual, Mientras que los registros base y lmite se pueden
utilizar para crear la abstraccin de los espacios de direcciones, hay otro
problema que se tiene que resolver: la administracin del agrandamiento
del software. Aunque el tamao de las memorias se incrementa con
cierta rapidez, el del software aumenta con una mucha mayor. En la
3

dcada de 1980, muchas universidades operaban un sistema de tiempo


compartido con docenas de usuarios (ms o menos satisfechos)
trabajando simultneamente en una VAX de 4 MB. Ahora Microsoft
recomienda tener por lo menos 512 MB para que un sistema Vista de un
solo usuario ejecute aplicaciones simples y 1 GB si el usuario va a
realizar algn trabajo serio. La tendencia hacia la multimedia impone an
mayores exigencias sobre la memoria.
Como consecuencia de estos desarrollos, existe la necesidad de
ejecutar programas que son demasiado grandes como para caber en la
memoria y sin duda existe tambin la necesidad de tener sistemas que
puedan soportar varios programas ejecutndose al mismo tiempo, cada
uno de los cuales cabe en memoria, pero que en forma colectiva
exceden el tamao de la misma. El intercambio no es una opcin
atractiva, ya que un disco SATA ordinario tiene una velocidad de
transferencia pico de 100 MB/segundo a lo ms, lo cual significa que
requiere por lo menos 10 segundos para intercambiar un programa de 1
GB de memoria a disco y otros 10 segundos para intercambiar un
programa de 1 GB del disco a memoria.
El problema de que los programas sean ms grandes que la memoria ha
estado presente desde los inicios de la computacin, en reas limitadas
como la ciencia y la ingeniera (para simular la creacin del universo o,
incluso, para simular una nueva aeronave, se requiere mucha memoria).
Una solucin que se adopt en la dcada de 1960 fue dividir los
programas en pequeas partes, conocidas como sobrepuestos
(overlays). Cuando empezaba un programa, todo lo que se cargaba en
memoria era el administrador de sobrepuestos, que de inmediato
cargaba y ejecutaba el sobrepuesto 0; cuando ste terminaba, indicaba
al administrador de sobrepuestos que cargara el 1 encima del
sobrepuesto 0 en la memoria (si haba espacio) o encima del mismo (si
no haba espacio). Algunos sistemas de sobrepuestos eran muy
complejos, ya que permitan varios sobrepuestos en memoria a la vez.
Los sobrepuestos se mantenan en el disco, intercambindolos primero
hacia adentro de la memoria y despus hacia afuera de la memoria
mediante el administrador de sobrepuestos.
Aunque el trabajo real de intercambiar sobrepuestos hacia adentro y
hacia afuera de la memoria lo realizaba el sistema operativo, el de dividir
el programa en partes tena que realizarlo el programador en forma
manual. El proceso de dividir programas grandes en partes modulares
ms pequeas consuma mucho tiempo, y era aburrido y propenso a
errores. Pocos programadores eran buenos para esto. No pas mucho
tiempo antes de que alguien ideara una forma de pasar todo el trabajo a
la computadora.
El mtodo ideado (Fotheringham, 1961) se conoce actualmente como
memoria virtual. La idea bsica detrs de la memoria virtual es que cada
4

programa tiene su propio espacio de direcciones, el cual se divide en


trozos llamados pginas. Cada pgina es un rango contiguo de
direcciones. Estas pginas se asocian a la memoria fsica, pero no todas
tienen que estar en la memoria fsica para poder ejecutar el programa.
Cuando el programa hace referencia a una parte de su espacio de
direcciones que est en la memoria fsica, el hardware realiza la
asociacin necesaria al instante. Cuando el programa hace referencia a
una parte de su espacio de direcciones que no est en la memoria fsica,
el sistema operativo recibe una alerta para buscar la parte faltante y
volver a ejecutar la instruccin que fall.

1.1. Paginacin
La mayor parte de los sistemas de memoria virtual utilizan una
tcnica llamada paginacin, que describiremos a continuacin.

Ejemplo de paginacin

Tablas de paginacin

1.2. FALLO DE PGINA


La MMU detecta que la pgina no est asociada (lo cual se indica
mediante una X en la figura) y hace que la CPU haga un trap al
sistema operativo. A este trap se le llama fallo de pgina.

2.SEGMENTACION
Tanto la memoria fsica como la memoria virtual se dividen en bloques
(en general de distinto tamao, llamados segmentos), que son las que
van a disco cuando vuelven a ser necesarios.
Es un esquema de segmentacin un espacio de direcciones lgicas es
un conjunto de segmentos.

Proceso de una segmentacin


6

2.1. Segmentacin paginada


Tanto la paginacin como la segmentacin tienen sus ventajas y
desventajas, tambin es posible combinar estos dos esquemas para
mejorar con el sistema operativo Multics, las direcciones lgicas
estaban formadas a partir de un nmero de segmento de 18 bits y un
desplazamiento de 16 bits, aunque este esquema crea un espacio de
direcciones correspondiente a una direccin de 34 bits, la tabla de
segmentos tiene un tamao tolerable, puesto que el nmero variable
de segmentos conduce naturalmente al uso de un Registro de
Longitud de Tabla de Segmentos, necesitamos tan solo el mismo
nmero de entradas en la tabla de segmentos que segmentos; no
tenemos por qu tener entradas vacas en la tabla de segmentos.
En el caso, de que un segmento sea de tamao inferior o igual al de
una pgina, no se necesita tener la correspondiente PMT,
actundose en igual forma que bajo segmentacin pura; puede
arreglarse un bit adicional (S) a cada entrada de la SMT, que indicara
si el segmento esta paginado o no.

Ventajas de la Segmentacin Paginada

2.2.

Debido a que los espacios de memorias son segmentados, se


garantiza la facilidad de implantar la comparticin y enlace.

Como los espacios de memoria son paginados, se simplifican las


estrategias de almacenamiento.

Se elimina el problema de la fragmentacin externa y la necesidad


de compactacin.

Desventajas de la Segmentacin Paginada

2.3.

Las tres componentes de la direccin y el proceso de formacin de


direcciones hacen que se incremente el costo de su implantacin.

Se hace necesario mantener un nmero mayor de tablas en


memoria, lo que implica un mayor costo de almacenamiento.

Sigue existiendo el problema de fragmentacin interna de todas- o


casi- todas las pginas finales de cada uno de los segmentos. Bajo
paginacin pura se desperdician solo la ltima pgina asignada,
mientras que, bajo segmentacin, paginada el desperdicio puede
ocurrir en todos los segmentos asigna.

2.4. Paginacin por Demanda

Tcnica que permite otorgar pginas de memoria a procesos a


medida que lo necesiten Similar a swapping in, pero slo para el
cdigo y datos requerido por el proceso.

Lo que proceso requiere en su ejecucin vara en el tiempo.


Procesos residen en almacenamiento secundario.
Cuando proceso entra en ejecucin pginas se van cargando
en memoria (desde disco) a medida que se necesiten.
SO actuales traen grupos de pginas (clusters).
SO mantiene informacin de grupos que puede traer,
compilador tambin ayuda.

2.5. Paginacin por Demanda y Conjunto de trabajo

Cuando proceso comienza ejecucin.


Su tabla de pginas posee todas las entradas invlidas.
Ninguna de sus pginas ha sido mapeadas a memoria
(pginas no tienen asociadas marcos de pgina).
Cuando proceso empieza a ejecutarse.
Ejecucin de instrucciones generan fallos de pginas por
cdigo y datos.
Proceso deja de generar fallos de pginas cuando tiene todas
las pginas que necesita para ejecutarse.
Conjunto de trabajo cargado en memoria.

2.6. Rendimiento con Paginacin con Demanda


Si no hay fallos de pgina Tiempo efectivo de acceso a memoria
depende de:

tasa de aciertos (hits) de caches (datos y/o TLB)costos en


tiempo de acceso a caches y memoria En general se define
Como Tiempo efectivo de acceso a memoria =TEAM.
TEAM = %aciertos*(costo acierto) + %fallas*(costo falla) Si hay
fallos de pgina.
Tiempo de acceso efectivo = (1 p)*TEAM + p*(costo fallo de
pgina)
donde p es la probabilidad de fallos de pginas

3.Poltica de reemplazo o Algoritmo de


reemplazo
9

Objetivo de los algoritmos de reemplazo: Minimizar la tasa de fallos de


pgina. Cada algoritmo tiene versin local y global: local criterio se
aplica a las pginas residentes del proceso, y global criterio se aplica
a todas las pginas residentes. Algoritmos conocidos: ptimo, FIFO
(First In First Out), Clock (Reloj o segunda oportunidad) = FIFO + uso del
bit de referencia; y LRU (Least Recently Used). Adems, estos
algoritmos se utilizan en tcnicas de buffering de pginas.

3.1. ALGORITMO DE REMPLAZO DE PAGINA


OPTIMO
Descripcin Este algoritmo debe de tener el menor ndice de fallos de
pgina de todos los algoritmos. En teora, este algoritmo debe de
reemplazar la pgina que no va a ser usada por el periodo ms largo
de tiempo.
Desafortunadamente, el algoritmo de reemplazo ptimo es fcil en
teora, pero prcticamente imposible de implementar, dado que
requiere conocer a futuro las necesidades del sistema.
Tal algoritmo existe y ha sido llamado OPT o MIN, pero se usa
nicamente para estudios de comparaciones
Caractersticas

Es el que produce menos fallos de pgina para cualquier


cantidad de marcos
Se reemplaza la pgina que va a tardar ms tiempo en ser
referenciada
No puede implementarse pues implicara conocer de
antemano las pginas que va a referenciar el proceso
Aunque no puede implementarse se utiliza como referencia
para los dems algoritmos

Ejemplo La cadena de referencia 2 3 2 1 5 2 4 5 3 2 5 2 con tres


marcos produce 3 fallos

3.2. ALGORITMO FIFO (FIRST INPUT-FIRST OUTPUT,


PRIMERA EN ENTRAR-PRIMERA EN SALIR)
El algoritmo FIFO reemplaza las pginas de la forma que el primero
que entra es el primero que sale. Asocia a cada pgina el instante en
10

el que se trajo a la memoria, as cuando se tenga que reemplazar


una pgina, se elige la ms antigua.

A pesar de que es un algoritmo fcil de comprender y programar, su


rendimiento no siempre es bueno. Un ejemplo claro es cuando la
pgina puede contener una variable cuyo valor inicial se asign hace
tiempo pero que se utiliza constantemente por lo que puede
prescindir de pginas que accede con frecuencia.

3.3. ALGORITMO DE LA SEGUNDA OPORTUNIDAD


O ALGORITMO DEL RELOJ
Este es un algoritmo que deriva del algoritmo FIFO. El Algoritmo de
Segunda Oportunidad. En este algoritmo, cuando se necesita
reemplazar una pgina, se examina el bit de referencia de la pgina
ms antigua (la primera de la lista en orden FIFO). Si no est activo,
se usa esta pgina para el reemplazo.
En caso contrario, se le da una segunda oportunidad a la pgina,
ponindola al final de la lista y desactivando su bit de referencia. Por
tanto, se la considera como si acabara de llegar a memoria. La
bsqueda continuar hasta que se encuentre una pgina con su bit
de referencia desactivado. Si todas las pginas tienen activado su bit
de referencia, el algoritmo se convierte en FIFO.
Para implementar este algoritmo se puede usar una lista circular de
las pginas residentes en memoria, en vez de una lineal (en el caso
de una estrategia local, se utiliza una lista circular por cada proceso).
Existe un puntero que seala en cada instante al principio de la lista.
Cuando llega a memoria una pgina, se coloca en el lugar donde
seala el puntero y, a continuacin, se avanza el puntero al siguiente
elemento de la lista. Cuando se busca una pgina para reemplazar,
se examina el bit de referencia de la pgina a la que seala el
puntero. Si est activo, se desactiva y se avanza el puntero al
siguiente elemento.

11

El puntero avanzar hasta que se encuentre una pgina con el bit de


referencia desactivado. Esta forma de trabajo imita al
comportamiento de un reloj donde el puntero que recorre la lista se
comporta como la aguja del reloj. Debido a ello, esta estrategia se
denomina algoritmo del reloj muestra un ejemplo de este algoritmo,
donde se puede apreciar que a las dos primeras pginas revisadas
se les da una segunda oportunidad por tener el bit de referencia a
uno, siendo seleccionada la tercera para la expulsin.

3.4. ALGORITMO LRU (LEAST RECENTLY USED,


MENOS RECIENTEMENTE USADA)
La estrategia consiste en llevar a disco la pgina que ha
permanecido por ms tiempo sin ser accesada. El fundamento de
esta estrategia es que estadsticamente se observa que mientras
ms tiempo permanece una pgina sin ser accesada, menos
probable es que se accese en el futuro inmediato. Desventaja: El alto
costo de implementacin en cuanto a los recursos. Pese a ser un
buen algoritmo en teora, su implementacin no lo es tanto. Esta
puede ser llevada a cabo por una lista enlazada con todas las
paginas ordenadas, pero al momento de ser referenciada una pgina
esta tiene que cambiar de lugar, lo cual involucra un alto costo
asociado. Otro mecanismo es llevar un contador por medio de
hardware, el cual es incrementado cada vez que la pagina es
accedida.

3.5. MS ALL DEL LRU


3.5.1. BUFFERING DE PAGINAS
Una situacin que intentan evitar la mayora de los sistemas es la
que se produce cuando la pgina seleccionada para reemplazar
est modificada. En este caso, el tratamiento del fallo de pgina

12

implica dos operaciones al disco, aumentando considerablemente


el tiempo de servicio del fallo.
Se puede considerar que el algoritmo de reemplazo tambin se
activa bajo demanda: en el momento que no queda ms memoria
libre, hay que expulsar alguna pgina. Sin embargo, esperar a
que se llegue a una situacin tan crtica de falta total de memoria
no parece una buena estrategia, ms an, teniendo en cuenta
que, si se necesita reservar memoria dentro del contexto de una
rutina de interrupcin, no se puede bloquear la ejecucin de la
misma hasta que no se habilite memoria libre. Para incidir ms en
la problemtica de llegar a ese momento extremo, imagine qu
ocurrira si se necesitase reservar memoria durante la propia
operacin de reemplazo para, por ejemplo, llevar a cabo la
escritura en disco. Al no haber memoria libre, no podra
completarse la misma, quedando el sistema en un interbloqueo.

3.5.2. RETENCIN DE PGINAS EN MEMORIA


Para acabar esta seccin en la que se han presentado diversos
algoritmos de reemplazo, hay que resaltar que no todas las
pginas residentes en memoria son candidatas al reemplazo. Se
puede considerar que algunas pginas estn atornilladas a la
memoria principal.
En primer lugar, estn las pginas del propio sistema operativo.
La mayora de los sistemas operativos tienen su mapa de
memoria fijo en memoria principal. El diseo de un sistema
operativo en el que las pginas de su propio mapa pudieran
expulsarse a memoria secundaria resultara complejo y,
posiblemente, ineficiente. Tenga en cuenta, adems, que el
cdigo de la rutina de tratamiento del fallo de pgina, as como los
datos y otras partes de cdigo usados desde la misma, deben
siempre estar residentes para evitar el interbloqueo. Lo que s
proporcionan algunos sistemas operativos es la posibilidad de que
un componente del propio sistema operativo reserve una zona de
memoria que pueda ser expulsada, lo que le permite usar grandes
cantidades de datos sin afectar directamente a la cantidad de
memoria disponible en el sistema.
Adems, si se permite que los dispositivos de entrada/salida que
usan DMA realicen transferencias directas a la memoria de un
proceso, ser necesario marcar las pginas implicadas como no
reemplazables hasta que termine la operacin.

3.6. Polticas de Asignacin de Marcos de Pgina.

13

En un sistema con multiprogramacin existen varios procesos activos


simultneamente que comparten la memoria del sistema. Es
necesario, por tanto, determinar cuntos marcos de pgina se
asignan a cada proceso. Existen dos tipos de estrategias de
asignacin: asignacin fija o asignacin dinmica.

3.6.1. Asignacin fija


Con esta estrategia, se asigna a cada proceso un nmero fijo de
marcos de pgina. Normalmente, este tipo de asignacin lleva
asociada una estrategia de reemplazo local. El nmero de marcos
asignados no vara, ya que un proceso slo usa para reemplazo
los marcos que tiene asignados.
La principal desventaja de esta alternativa es que no se adapta a
las diferentes necesidades de memoria de un proceso a lo largo
de su ejecucin. Habr fases en la que el espacio asignado se le
quedar pequeo, no permitiendo almacenar simultneamente
todas las pginas que est utilizando el proceso en ese intervalo
de tiempo. En contraste, existirn fases en las que el proceso no
usar realmente los marcos que tiene asignados. Una propiedad
positiva de esta estrategia es que el comportamiento del proceso
es relativamente predecible, puesto que siempre que se ejecute
con los mismos parmetros va a provocar los mismos fallos de
pgina.
Existen diferentes criterios para repartir los marcos de las pginas
entre los procesos existentes. Puede depender de mltiples
factores tales como el tamao del proceso o su prioridad. Por otra
parte, cuando se usa una estrategia de asignacin fija, el sistema
operativo decide cul es el nmero mximo de marcos asignados
al proceso. Sin embargo, la arquitectura de la mquina establece
el nmero mnimo de marcos que deben asignarse a un proceso.
Por ejemplo, si la ejecucin de una nica instruccin puede
generar cuatro fallos de pgina y el sistema operativo asigna tres
marcos de pgina a un proceso que incluya esta instruccin, el
proceso podra no terminar de ejecutarla. Por tanto, el nmero
mnimo de marcos de pgina para una arquitectura quedar fijado
por la instruccin que pueda generar el mximo nmero de fallos
de pgina.

3.6.2. Asignacin dinmica


Usando esta estrategia, el nmero de marcos asignados a un
proceso vara segn las necesidades que tenga el mismo (y
posiblemente el resto de procesos del sistema) en diferentes
instantes de tiempo. Con este tipo de asignacin se pueden usar
estrategias de reemplazo locales y globales.
14

Con reemplazo local, el proceso va aumentando o


disminuyendo su conjunto residente dependiendo de
sus necesidades en las distintas fases de ejecucin del
programa.
Con reemplazo global, los procesos compiten en el uso
de memoria quitndose entre s las pginas.
La estrategia de reemplazo global hace que el comportamiento
del proceso en tiempo de ejecucin no sea predecible. El principal
problema de este tipo asignacin es que la tasa de fallos de
pgina de un programa puede depender de las caractersticas de
los otros procesos que estn activos en el sistema.

3.7. HIPERPAGINACION
Se produce un aumento del grado de multiprogramacin al no ser
necesario que todo el mapa de memoria de un proceso est en
memoria principal para poder ejecutarlo. Este aumento implica una
mejora en el rendimiento del sistema. Sin embargo, si el grado de
multiprogramacin se hace demasiado alto, el nmero de fallos de
pginas se dispara y el rendimiento del sistema baja drsticamente.
Esta situacin se denomina Hiperpaginacion.
Cuando se produce la hiperpaginacion, el proceso pasa ms tiempo
en la cola de servicio del dispositivo de swap que en ejecucin.
Dependiendo del tipo de paginacin asignado usado, este programa
puede afectar a procesos individuales o a todo el sistema.
En un sistema operativo que utiliza una estrategia de asignacin fija,
si el nmero de marcos asignados al proceso no es suficiente para
albergar su conjunto de trabajo en una determinada fase de su
ejecucin, se producir hiperpaginacin en ese proceso, lo que
causar un aumento considerable de su tiempo de ejecucin.
Sin embargo, el resto de los procesos del sistema no se vern
afectados directamente.
Con una estrategia de asignacin dinmica, el nmero de marcos
asignados a un proceso se va adaptando a sus necesidades, por lo
que, en principio, no debera presentarse este problema. No
obstante, si el nmero de marcos de pgina en el sistema no es
suficiente para almacenar los conjuntos de trabajo de todos los
procesos, se producirn fallos de pgina frecuentes y, por tanto, el
sistema sufrir hiperpaginacin. La utilizacin del procesador
disminuir, puesto que el tiempo que dedica al tratamiento de los
fallos de pgina aumenta.
No se trata de una disminucin progresiva, sino drstica, que se
debe a que al aumentar el nmero de procesos, por un lado, crece la
tasa de fallos de pgina de cada proceso (hay menos marcos de
pgina por proceso) y, por otro lado, aumenta el tiempo de servicio
15

del dispositivo de paginacin (crece la longitud de la cola de servicio


del dispositivo).
Cuando se produce esta situacin se deben suspender uno o varios
procesos liberando sus pginas. Es necesario establecer una
estrategia de control de carga que ajuste el grado de
multiprogramacin en el sistema para evitar que se produzca
hiperpaginacin. Este mecanismo de suspensin tiene similitudes
con la tcnica del intercambio y, como en dicha tcnica, habr que
establecer algn tipo de criterio para decidir qu procesos se
deberan suspender (criterios tales como si el proceso est
bloqueado, su prioridad, el nmero de pginas residentes, el tamao
de su mapa de memoria o el tiempo que lleva ejecutando). La
reactivacin de los procesos seleccionados slo se realizar cuando
haya suficientes marcos de pgina libres. La estrategia que decide
cundo suspender un proceso y cundo reactivarlo se corresponde
con la planificacin a medio plazo.

16

You might also like