trabajo final - sistema de memoria virtual
Post on 10-Jul-2016
221 Views
Preview:
DESCRIPTION
TRANSCRIPT
“AÑO DE LA PROMOCIÓN DE LA INDUSTRIA RESPONSABLE Y DEL COMPROMISO CLIMÁTICO”
UNIVERSIDAD NACIONAL DE PIURAFACULTAD DE INGENIERÍA INDUSTRIAL
ESCUELA PROFESIONAL DE INGENIERÍA INFORMÁTICA
MONOGRAFÍA
Sistema de Memoria Virtual
CURSO:
MICROCOMPUTADORAS II
DOCENTE:
ING. LUIS SAAVEDRA YARLEQUÉ
PRESENTADO POR:Lozada Madrid, BismarckNole Machaca, Carlos AugustoPalacios Fiestas, CeliaVillegas Farfán, Leonardo
Piura, 24 Julio del 2014.
INDICE.............................................................................................................................................
DEDICACTORIA
AGRADECIMIENTOS
CAPÍTULO I:....................................................................................................................2
GENERALIDADES..........................................................................................................2
1.1 FORMULACIÓN DE OBJETIVOS.............................................................................2
1.1.1 OBJETIVO GENERAL........................................................................................2
1.1.2 OBJETIVO ESPECÍFICOS..................................................................................2
CAPÍTULO II:...................................................................................................................3
MARCO TEÓRICO..........................................................................................................3
2.1 ANTECEDENTES.......................................................................................................3
2.2 BASES TEÓRICAS.....................................................................................................5
2.2.1 SISTEMA DE MEMORIA VIRTUAL................................................................5
2.2.2 CARACTERÍSTICAS..........................................................................................5
2.2.3 VENTAJAS..............................................................................................................6
2.2.4 CLASIFICACIÓN....................................................................................................7
2.2.5 ALGORITMOS DE REEMPLAZO DE PÁGINAS.................................................9
2.2.6 GESTIÓN DE MEMORIA EN LOS SISTEMAS OPERATIVOS.........................14
CAPÍTULO III:...............................................................................................................15
CONCLUSIONES Y RECOMENDACIONES..............................................................15
CONCLUSIONES.................................................................................................................15
RECOMENDACIONES........................................................................................................15
BIBLIOGRAFÍA.............................................................................................................16
ANEXOS.........................................................................................................................17
FIG. 2.1.1 DIAGRAMA QUE MUESTRA UNA MEMORIA VIRTUAL MÁS GRANDE QUE LA MEMORIA FÍSICA..............................................................................17
FIG. 2.2.2.1 MEMORIA COMPARTIDA DISTRIBUIDA...................................................17
FIG. 2.2.2.2 ORGANIZACIÓN LÓGICA......................................................................18
FIG. 2.2.2.3 ORGANIZACIÓN FÍSICA........................................................................18
FIG. 2.2.4.1 MEMORIA VIRTUAL PAGINADA.........................................................18
FIG. 2.2.4.2 MEMORIA VIRTUAL SEGMENTADA......................................................19
FIG. 2.2.4.3 MEMORIA VIRTUAL SEGMENTADA/PAGINADA.............................19
DEDICATORIA
Dedicamos este trabajo aquellas personas que nos enseñaron
que la mejor libertad del ser humano está en la
superación personal e intelectual,
estas personas son nuestros padres y maestros,
que con la ayuda e iluminación de Dios,
nos dieron su apoyo a diario para cumplir con éxito
y responsabilidad el presente trabajo de investigación.
AGRADECIMIENTOS
En primer agradecer a dios por habernos permitido llegar hasta este punto y ofrecernos
salud, ser el manantial de vida y brindarnos lo necesario para seguir adelante día a día
para lograr nuestros objetivos, además de su infinita bondad y amor.
A nuestro profesor por su gran apoyo y motivación ofrecido en este trabajo, por
habernos transmitidos los conocimientos obtenidos y habernos llevado pasó a paso en el
aprendizaje.
Muchas Gracias.
INTRODUCCION
La memoria es uno de los principales recursos de la computadora, la cual debe de
administrarse con mucho cuidado. Aunque actualmente la mayoría de los sistemas de
cómputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones
actuales tienen también altos requerimientos de memoria, lo que sigue
generando escasez de memoria en los sistemas multitarea y/o multiusuario.
La parte del sistema operativo que administra la memoria se llama administrador de
memoria y su labor consiste en llevar un registro de las partes de memoria que se estén
utilizando y aquellas que no, con el fin de asignar espacio en memoria a
los procesos cuando éstos la necesiten y liberándola cuando terminen, así como
administrar el intercambio entre la memoria principal y el disco en los casos en los que
la memoria principal no le pueda dar capacidad a todos los procesos que tienen
necesidad de ella.
Los sistemas de administración de memoria se pueden clasificar en dos tipos: los que
desplazan los procesos de la memoria principal al disco y viceversa durante la ejecución
y los que no.
El propósito principal de una computadora es el de ejecutar programas, estos
programas, junto con la información que accedan deben de estar en la memoria
principal (al menos parcialmente) durante la ejecución.
Para optimizar el uso del CPU y de la memoria, el sistema operativo debe de tener
varios procesos a la vez en la memoria principal, para lo cual dispone de varias opciones
de administración tanto del procesador como de la memoria. La selección de uno de
ellos depende principalmente del diseño del hardware para el sistema. A continuación se
observarán los puntos correspondientes a la administración de la memoria.
1
CAPÍTULO I:
GENERALIDADES
1.1 FORMULACIÓN DE OBJETIVOS
1.1.1 OBJETIVO GENERAL Recopilar información sobre los sistemas de memoria virtual en
general sin atender el tipo de sistema operativo con el que se trabaje.
1.1.2 OBJETIVO ESPECÍFICOS Identificar el sistema virtual de memoria que trabaja de forma más
eficiente mediante la medición del tiempo de latencia para cargar un archivo.
Recopilar información sobre la clasificación de los sistemas de memoria virtual y describir cómo es el funcionamiento de cada uno de ellos en la gestión de la misma.
Describir la relación y la forma en la que interactúan la memoria virtual y la memoria física.
Identificar las ventajas y las posibles desventajas con el uso de sistemas de memoria virtual.
2
CAPÍTULO II:
MARCO TEÓRICO
2.1 ANTECEDENTESLos algoritmos de gestión de memoria son necesarios a causa de un requisito
básico: las instrucciones que se están ejecutando deben estar en la memoria física.
La primera estrategia para satisfacer este requisito es colocar todo el espacio de
direcciones lógico en la memoria física. Las superposiciones y la carga dinámica
pueden ayudarnos a hacer menos limitante esta restricción, pero generalmente
requieren precauciones especiales y un esfuerzo adicional por parte del
programador. Esta restricción parece necesaria y razonable, pero también es
frustrante, ya que limita el tamaño de los programas al tamaño de la memoria
física. (Silberschatz & Baer, 1999)
De hecho, si examinamos programas reales, veremos que en muchos casos no
se necesita todo el programa. Por ejemplo:
Los programas a menudo tienen código que maneja condiciones de error poco
comunes. Puesto que tales errores casi nunca ocurren en la práctica, el código
casi nunca se ejecuta.
Es común que se asigne a los arreglos, listas y tablas más memoria de la que
realmente necesitan. Se podría declarar un arreglo de 100 por 100 elementos,
aunque casi nunca sea mayor que 10 por 10 elementos. La tabla de símbolos de
un ensamblador podría tener espacio para 3000 símbolos, a pesar de que, en
promedio, los programas tienen menos de 200 símbolos.
Es posible que ciertas opciones y funciones de un programa se usen muy rara
vez. Por ejemplo, hace años que no se usan las rutinas de los computadores del
gobierno de Estado Unidos que balancean el presupuesto.
Inclusos en los casos los que se necesita todo el programa, cabe la posibilidad
de que no se necesite todo al tiempo (como es el caso de las superposiciones, por
ejemplo).
3
La capacidad para ejecutar un programa que no está todo en la memoria tendría
muchas ventajas:
Los programas ya no estarían limitados por la cantidad de memoria física con
que se cuenta. Los usuarios podrían escribir programas para un espacio de
direcciones virtual extremadamente grande, lo que simplificaría la tarea de
programación.
Puesto que cada programa de usuarios ocuparía menos memoria física, se
podrían ejecutar más programas al mismo tiempo. Esto aumentaría el
aprovechamiento de la CPU y la productividad sin aumentar el tiempo de
respuesta ni el de retorno.
Se requeriría menos E/S para cargar o intercambiar cada programa de usuario
por lo que su ejecución sería más rápida.
Queda claro que la ejecución de un programa que sólo está parcialmente en la
memoria beneficiaría tanto al sistema como al usuario.
La memoria virtual es la separación entre la memoria lógica de los usuarios y
la memoria física. Esta separación permite ofrecer a los programadores una
memoria virtual extremadamente grande aunque sólo esté disponible una memoria
física pequeña (Fig. 2.1.1). La memoria virtual facilita mucho la tarea de
programación porque el programador ya no necesita preocuparse por la cantidad
de memoria física de que dispone, ni pensar en qué parte del código puede colocar
en superposiciones; en vez de ello, puede concentrarse en el problema que va a
programar. En los sistemas que manejan memoria virtual, las superposiciones
prácticamente han desaparecido.
La memoria virtual generalmente se implementa con paginación por demanda,
pero también puede implementarse en un sistema con segmentación. Varios
sistemas ofrecen un esquema de segmentación paginada, en el que los segmentos
se dividen en páginas. Así, lo que el usuario ve son segmentos, pero el sistema
operativo puede implementar esta visión con paginación por demanda. También
se puede usar segmentación por demanda para ofrecer memoria virtual. Los
sistemas de computación Burroughs han utilizado segmentación por demanda, y
4
lo mismo hace el sistema operativo IBM OS/2. Los algoritmos de reemplazo de
segmentos son más complejos que los de reemplazo de páginas porque los
segmentos son de tamaño variable.
2.2 BASES TEÓRICAS
2.2.1 SISTEMA DE MEMORIA VIRTUALLos sistemas de memoria virtual separan las direcciones de memoria
utilizadas por un proceso de las direcciones físicas reales, permitiendo la
separación de procesos e incrementando la cantidad efectiva de memoria
de acceso aleatorio utilizando la paginación. La calidad de la gestión de la
memoria es crucial para las prestaciones del sistema.
(lrmdavid@exa.unne.edu.ar, 2002)
2.2.2 CARACTERÍSTICASLos sistemas de gestión de memoria de sistemas operativos multitarea
normalmente tratan con las siguientes tareas:
REASIGNACIÓN.- En los sistemas con memoria virtual, los
programas en la memoria debe ser capaz de residir en diferentes partes
de la memoria en diferentes momentos. Esto se debe a que cuando el
programa se cambió de nuevo en la memoria después de ser
intercambiado por un tiempo que no siempre se puede colocar en el
mismo lugar. La unidad de gestión de memoria virtual también debe
hacer frente a la concurrencia. Gestión de memoria en el sistema
operativo por lo tanto debe ser capaz de trasladar los programas en la
memoria y manejar referencias de la memoria y las direcciones en el
código del programa para que siempre apuntan a la ubicación correcta
en la memoria.
PROTECCIÓN.- Los procesos no deberían poder referenciar la
memoria de otros procesos sin permiso, para evitarlo existe la
protección de memoria, que evita que código malicioso o erróneo de un
programa interfiera con la operación de otros programas en ejecución.
5
MEMORIA COMPARTIDA.- Aunque la memoria utilizada por
diferentes procesos suele estar protegida, algunos procesos puede que sí
tengan que compartir información y, para ello, han de acceder la misma
sección de memoria. La memoria compartida es una de las técnicas más
rápidas para posibilitar la comunicación entre procesos. (Fig. 2.2.2.1)
ORGANIZACIÓN LÓGICA.- Los programas a menudo están
organizados en módulos, algunos de los cuales pueden ser compartidos
por diferentes programas, algunos son de sólo-lectura y otros contienen
datos que se pueden modificar. La gestión de memoria es responsable
de manejar esta organización lógica, que se contrapone al espacio de
direcciones físicas lineales. Una forma de lograrlo es mediante la
segmentación de memoria. (Fig. 2.2.2.2)
ORGANIZACIÓN FÍSICA.- La memoria suele dividirse en un
almacenamiento primario de alta velocidad y uno secundario de menor
velocidad. La gestión de memoria del sistema operativo se ocupa de
trasladar la información entre estos dos niveles de memoria. (Fig.
2.2.2.3)
2.2.3 VENTAJAS Reduce la latencia en la ejecución de los programas, al no tener éstos
que cargarse completamente para comenzar a ejecutarse.
Permite gestionar más eficientemente la memoria física. Cualquier
espacio libre, incluso una única página, puede ser aprovechado para
cargar un nuevo programa y comenzar a ejecutarlo. Por otra parte, si
una página de un programa no se referencia durante la ejecución, no
habrá que cargarla.
Al aumentar el grado de multiprogramación a costa de reducir el
número de páginas cargadas de cada programa, permite incrementar la
eficiencia de la CPU en sistemas multiprogramados.
Ahora la independencia de los programas con respecto a la máquina es
completa. Además del direccionamiento virtual que aporta la
6
paginación, la cantidad de memoria física disponible para ejecutar el
programa.
Eliminar los inconvenientes de una memoria pequeña y limitada
Los programas de usuario pueden exceder el tamaño de la memoria
principal. Nos permite utilizar un espacio lógico de direcciones superior
al realmente disponible en la memoria principal.
Compartición eficiente de la memoria entre múltiples procesos
garantizando protección.
La memoria principal necesita solamente las partes activas de los
programas. Esto nos permite compartir eficientemente el procesador así
como la memoria principal.
Proporciona los mecanismos de protección necesarios.
(Madrid, 2012)
2.2.4 CLASIFICACIÓN
MEMORIA VIRTUAL PAGINADA
El mecanismo de traducción de DV a DF que acabamos de describir
corresponde a un sistema de memoria virtual paginada. En él el espacio
virtual (y físico) se divide en páginas de igual tamaño. Veremos en el
apartado siguiente otra alternativa en la que la MV se divide en
segmentos de longitud variable, dando lugar a la memoria virtual
segmentada. Las entradas de la TP de una MV paginada, además del
NPF contienen unos bits de control, de los que hemos mencionado el bit
de presencia P.
Como se muestra en la (Fig. 2.2.4.1), existen otros bits que controlan
los derechos de acceso a la página: lectura (R), escritura (W) y
ejecución (X), este último sólo para páginas de código. También suele
existir un bit que indica si la página ha sido modificada (datos) y
necesita escribirse en disco cuando sea sustituida. Los demás bits de
control dependen de cada procesador.
P = bit de presencia (de la página en memoria física)
RWX = derechos de acceso de lectura, escritura y ejecución
Entrada de la tabla de páginas con correspondencia directa
7
P R W X Dirección de Página Física
Cada programa (proceso) puede ocupar una gran cantidad de
memoria virtual. Por ejemplo, en la arquitectura VAX, cada proceso
puede tener hasta 231 = 2 GBytes de memoria virtual.
Utilizando páginas de 29 = 512 bytes, eso significa que se necesitan
tablas de páginas de 222 entradas por proceso. La cantidad de memoria
dedicada sólo a tablas de páginas podría ser inaceptablemente alta.
MEMORIA VIRTUAL SEGMENTADAMientras que la paginación es transparente para el programador, y le
proporciona un espacio mayor de direcciones, la segmentación es
normalmente visible para el programador, y proporciona una forma
lógica de organizar los programas y los datos, y asociarle los privilegios
y atributos de protección.
La segmentación permite que el programador vea la memoria
constituida por múltiples espacios de direcciones o segmentos. Los
segmentos tienen un tamaño variable, dinámico.
Usualmente, el programador o el sistema operativo asignarán
programas y datos a segmentos distintos. Puede haber segmentos de
programa distintos para varios tipos de programas, y también distintos
segmentos de datos. Se pueden asignar a cada segmento derecho de
acceso y uso. Las direcciones virtuales estarán constituidas en este caso
por un número de segmento (NS) y un desplazamiento dentro del
segmento (DP). El proceso de traducción de dirección virtual a física es
análogo al de la memoria virtual paginada, con la diferencia que ahora
tenemos una tabla de segmentos (TS) cuyas entradas (denominadas
también descriptores de segmento) contienen, además de los bits de
control y la dirección real del segmento, la longitud L del mismo, ya
que los segmentos tienen longitud variable. (Fig. 2.2.4.2)
8
MEMORIA VIRTUAL SEGMENTADA/PAGINADAComo vimos en el apartado anterior, la segmentación presenta una
serie de propiedades ventajosas para el programador, sin embargo, la
paginación proporciona una forma más eficiente de gestionar el espacio
de memoria. Para combinar las ventajas de ambas, algunos sistemas
permiten una combinación de ambas, es decir, un sistema virtual con
segmentos paginados. El mecanismo de traducción de DVs a DFs no es
más que la composición del mecanismo de la memoria segmentada y el
de la paginada, tal como se muestra en la (Fig. 2.2.4.3).
2.2.5 ALGORITMOS DE REEMPLAZO DE PÁGINASHay muchos algoritmos de reemplazo de páginas distintos. Es probable
que cada sistema operativo tenga su propio esquema de reemplazo único.
¿Cómo escogemos un algoritmo de reemplazo específico? En general, lo
que buscamos es el algoritmo con la frecuencia de fallos de página más
baja.
Evaluamos un algoritmo ejecutándolo con una serie específica de
referencias a la memoria y calculando el número de fallos de página. La
serie de referencias a la memoria se denomina serie de referencias.
Podemos generar series de referencias artificialmente (con un generador de
números aleatorios, por ejemplo) o rastreando la ejecución en un sistema
dado y registrando la dirección de cada referencia a la memoria. La
segunda opción produce gran cantidad de datos (del orden de un millón de
direcciones por segundo). Para reducir el número de datos, observamos
dos cosas.
En primer lugar, para un tamaño de página dado (que el hardware o el
sistema generalmente fija), sólo necesitamos considerar el número de
página, no toda la dirección. En segundo lugar, si tenemos una referencia a
una página p, cualesquier referencias a la página p que le sigan
inmediatamente nunca causarán un fallo de página. La página p estará en
la memoria después de la primera referencia; las referencias
inmediatamente subsecuentes no darán lugar a fallos.
9
Por ejemplo, si rastreamos un proceso específico, podríamos registrar la
secuencia de direcciones siguiente:
0100, 0432, 0101, 0612, 0102, 0103, 0104, 0101, 0611, 0102, 0103,
0104, 0101, 0610, 0102, 0103, 0104, 0101, 0609, 0102, 0105,
Que, con 100 bytes por página, se reduce a la serie de referencias
siguiente:
1, 4, 1, 6, 1, 6, 1, 6, 1, 6, 1
Para determinar el número de fallos de página con una serie de
referencias y algoritmo de reemplazo de páginas específicos, también
necesitamos saber el número de marcos de páginas de que se dispone.
Obviamente, a medida que aumenta el número de marcos disponibles, el
número de fallos de página disminuye. Por ejemplo, para la serie de
referencias anterior, si tuviéramos tres o más marcos sólo tendríamos tres
fallos de página, uno para la primera referencia a cada página. Por otro
lado, si sólo contamos con un marco, tendríamos un reemplazo con cada
referencia, para un total de 11 fallos. A medida que aumenta el número de
marcos, el número de fallos de página se reduce a un nivel mínimo. Desde
luego, la adición de memoria física incrementa el número de marcos.
(Silberschatz & Baer, 1999)
ALGORITMO FIFO.- El algoritmo de reemplazo de páginas más
sencillo es el tipo primero en entrar, primero en salir (FIFO, first-in,
first-out). Un algoritmo de reemplazo FIFO asocia a cada página el
instante en que esa página se trajo a la memoria. Si es necesario
reemplazar una página, se escoge la más vieja. Cabe señalar que no es
estrictamente necesario registrar el instante en que se trae una página.
Podemos crear una cola FIFO que contenga todas las páginas que están
en la memoria, y reemplazar la página que esté a la cabeza de la cola.
Cuando traemos una página a la memoria, la insertamos al final de la
cola.
10
ALGORITMO ÓPTIMO.- Un resultado del descubrimiento de la
anomalía de Belady fue la búsqueda de un algoritmo de reemplazo de
páginas óptimo. Un algoritmo óptimo tiene la frecuencia de fallos de
página más bajo de todos los algoritmos de reemplazo de páginas, y
nunca exhibe la anomalía de Belady. Existe un algoritmo de reemplazo
de páginas óptimo, que se ha denominado OPT o MIN, y es
sencillamente reemplazar la página que se usará durante más tiempo.
El empleo de este algoritmo de reemplazo de páginas garantiza la
frecuencia de fallos de página más baja para un número fijo de marcos.
ALGORITMO LRU.- Si el algoritmo no es factible, tal vez podría
lograrse una aproximación. La distinción clave entre los algoritmos
FIFO y OPT (aparte de mirar hacia atrás y hacia adelante en el tiempo)
es que el segundo usa el instante en que se usará un página. Si
utilizamos el pasado reciente como una aproximación del futuro
cercano, sustituiremos la página que no se ha usado durante más
tiempo. La estrategia de este algoritmo es el algoritmo de menos
reciente como una aproximación usada (LRU, least recently used).
ALGORITMOS DE APROXIMACIÓN A LRU.- Pocos
sistemas de computación ofrecen suficiente soporte de hardware para el
verdadero reemplazo de páginas LRU. Algunos sistemas no cuenta con
soporte de hardware, y esto obliga a usar otros algoritmos de reemplazo
de páginas (como el FIFO). Muchos sistemas proporcionan un poco de
ayuda, en forma de un bit de referencia. El hardware enciende (pone en
1) el bit de referencia de una página cada vez que se hace referencia a
ella (sea para leer o escribir cualquier byte de la página). Cada entrada
de la tabla de páginas tiene asociado un bit de referencia.
11
o ALGORITMO CON BITS DE REFERENCIA
ADICIONALES.- Podemos obtener información de
ordenamiento adicional si registramos los bits de referencia a
intervalos adicionales. Podemos mantener un byte histórico de ocho
bits para cada página de una tabla que está en memoria. A intervalos
regulares (digamos cada 100 milisegundos), una interrupción del
temporizador transfiere el control al sistema operativo, el cual
introduce el bit de referencia de cada página en el bit de orden alto
de su byte histórico, desplazando los demás bits una posición hacia
la derecha u desechando el bit de orden bajo.
o ALGORITMO DE SEGUNDA OPORTUNIDAD.- El
algoritmo básico que una vez que se ha seleccionado una página se
examina su bit de referencia. Si el valor es cero, procedemos a
reemplazar la página, pero si es 1, damos a esa página una segunda
oportunidad y seleccionamos la siguiente página FIFO. Cuando se da
una página una segunda oportunidad, su bit de referencia se pone en
cero y su hora de llegada se restablece a la hora actual. Así, una
página a la que se le dio una segunda oportunidad no será
reemplazada hasta que todas las demás páginas se reemplacen (o
reciban una segunda oportunidad). Además, si una página se usa con
la suficiente frecuencia como para mantener encendido su bit de
referencia, nunca será reemplazada.
o ALGORITMO DE SEGUNDA OPORTUNIDAD
MEJORADO.- El algoritmo de segunda oportunidad que
acabamos de describir puede mejorarse si consideramos tanto el bit
de referencia como el bit de modificación como un par ordenado.
Con esto dos bits, tenemos las cuatro clases posibles siguientes:
1. (0,0) ni se usó recientemente ni se modificó; es la mejor página
que se puede reemplazar
12
2. (0,1) no se usó recientemente pero sí se modificó; no es tan
buena, porque habrá que escribir en disco la página antes de
reemplazarla
3. (1,0) se usó recientemente pero no se ha modificado;
probablemente se usará otra vez pronto
4. (1,1) se usó recientemente y se modificó; probablemente se usará
otra vez, y será necesario escribirla en disco antes de reemplazarla
ALGORITMOS DE CONTEO.- Hay muchos otros algoritmos
que podemos usar para reemplazar páginas. Por ejemplo, podríamos
mantener un contador del número de referencias que se han hecho a
cada página, y desarrollar los dos esquemas siguientes:
o ALGORITMO LFU.- El algoritmo de reemplazo de páginas
menos frecuentemente usadas (LFU, least frequently used) exige
reemplazar la página que se ha usado activamente debe tener una
cuenta de referencias grande. Este algoritmo no es eficiente en el
caso de páginas que se usaron mucho durante la fase inicial del
proceso y luego permanecerán en memoria aunque ya no se
necesiten. Una solución sería desplazar las cuentas un bit a la
derecha a intervalos regulares para formar una cuenta de uso
promedio con decaimiento exponencial.
o ALGORITMO MFU.- El algoritmo de reemplazo de páginas
más frecuentemente usados (MFU, most frequently used) se basa en
el argumento de que la página con la cuenta más baja probablemente
se acaba de traer a la memoria y todavía no se usa.
ALGORITMO DE COLOCACIÓN DE PÁGINAS EN
BUFFERS.- Es común utilizar otros procedimientos además de un
algoritmo de reemplazo de páginas específico. Por ejemplo, muchos
sistemas mantienen una reserva de marcos libres. Cuando ocurre un
fallo de página; se escoge un marco víctima igual que antes. Sin
13
embargo, la página deseada se coloca en un marco libre de reserva antes
de escribir la víctima en el disco. Este procedimiento permite al proceso
reiniciarse lo más pronto posible, sin esperar a que la página víctima se
escriba en el disco. Cuando la víctima termina de escribirse en el disco,
su marco se añade a la reserva de marcos libres.
2.2.6 GESTIÓN DE MEMORIA EN LOS SISTEMAS OPERATIVOS DOS
Además de la gestión estándar de memoria, la barrera de los 640 KB de MS-DOS y los sistemas compatibles dieron lugar al desarrollo de programas conocidos como gestores de memoria cuando las memorias principales de los PC comenzaron a ser mayores que 640 KB a finales de los años 1980 (véase memoria convencional). Estos desplazan porciones del sistema operativo fuera de su localización tradicional para incrementar la cantidad de memoria convencional o semiconvencional disponible para otras aplicaciones. El EMM386 es un ejemplo, el cual fue parte de la instalación estándar de las últimas versiones de DOS, así como el QEMM. Estos permitieron el uso de memoria más allá de la barrera de los 640 KB, donde la memoria solía estar reservada a la memoria de acceso aleatorio, y memorias superiores.
UNIX Y SOLARIS
Las primeras versiones de Unix sólo utilizaban particiones variables sin ningún esquema de memoria virtual., pero en las implementaciones actuales, incluidas SVR4 y Solaris 2.x, utilizan memoria virtual paginada.
En SVR4 y Solaris, tienen dos esquemas de memoria separados. El sistema de paginación ofrece una memoria virtual que asigna marcos de página en la memoria principal a los procesos y también asigna marcos de página a las memorias intermedias de los bloques de disco.
Un esquema de memoria virtual paginado se adapta peor a la gestión de la asignación de memoria para el núcleo, por lo que se utiliza un asignador de memoria del núcleo.
14
CAPÍTULO III:
CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES
La memoria virtual es la separación entre la memoria lógica de los usuarios y la memoria física.
La memoria virtual es aquella que le ofrece a las aplicaciones la ilusión de que están solas en el sistema y que pueden usar el espacio de direcciones completo.
Entre las desventajas que se han identificado respecto a la memoria virtual están:o Gasto temporal relativamente elevado de la gestión de memoria (traducción
de direcciones, reemplazos de bloques reservados, etc.)o Gasto hardware para conseguir una gestión de memoria rápida y eficienteo Gasto de procesamiento en la resolución de excepciones (en algunos casos el
código casi nunca se ejecuta).
La paginación es una técnica de gestión de memoria en la cual el espacio de memoria se divide en secciones físicas de igual tamaño llamadas marcos de página, las cuales sirven como unidad de almacenamiento de información.
La segmentación 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.
RECOMENDACIONES
Si se desea conocer de manera más profunda el tema, se recomienda leer temas sobre sistemas operativos así como los diversos algoritmos básicos de política de reemplazo (paginación y segmentación).
15
BIBLIOGRAFÍA
lrmdavid@exa.unne.edu.ar. (14 de 07 de 2002). Facultad de Ciencias Exactas y
Naturales. Recuperado el 21 de 07 de 2014, de
http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/MonogSO/
MEMVIR02.htm
Madrid, U. C. (Noviembre de 2012). Memoria Virtual. Madrir, España: Facultad de
Informática.
Silberschatz, A., & Baer, P. (1999). Sistemas Operativos. Mexico: Addison Wesley
Longman de México S.A. de C.V.
Wikipedia. (12 de 03 de 2013). Recuperado el 21 de 07 de 2014, de
http://es.wikipedia.org/wiki/Gesti%C3%B3n_de_memoria
16
ANEXOS
FIG. 2.1.1 DIAGRAMA QUE MUESTRA UNA MEMORIA
VIRTUAL MÁS GRANDE QUE LA MEMORIA FÍSICA.
FIG. 2.2.2.1 MEMORIA COMPARTIDA DISTRIBUIDA
17
FIG. 2.2.2.2 ORGANIZACIÓN LÓGICA
FIG. 2.2.2.3 ORGANIZACIÓN FÍSICA
FIG. 2.2.4.1 MEMORIA VIRTUAL PAGINADA
18
FIG. 2.2.4.2MEMORIA VIRTUAL SEGMENTADA
FIG. 2.2.4.3 MEMORIA VIRTUAL SEGMENTADA/PAGINADA
19
20
top related