SlideShare une entreprise Scribd logo
1  sur  27
Télécharger pour lire hors ligne
UNIVERSIDAD POLITÉCNICA
TRRITORIAL DE LARA
PROGRAMA NACIONAL DE FORMACIÓN
EN INFORMÁTICA
Prof. Pura Castillo
2
SistemasOperativosGestióndeMemoria
Contenidos
 Organización de la Memoria :
 Organización del almacenamiento,
 Administración, Jerarquía, Particiones,
 Fragmentación, Condensación,
 Compactación,
 Estrategias de colocación
 Administración de Memoria Virtual
 Espacio de direcciones lógicas vs. físicas,.
 Paginación, Segmentación,
 Paginación por Demanda.
 Fallo de Página,
 Segmentación Paginada y Paginación Segmentada
Propósito del capítulo
El propósito de esta capitulo es conocer la manera en que los sistemas operativos
administran la memoria. Estudiaremos varios esquemas de administración de
memoria, que van desde los sencillos hasta los más avanzados.
La memoria es un recurso importante que debe administrarse con cuidado. El
sistema de memoria virtual de los actuales computadores surgió para liberar al
programador de una serie de tareas relacionadas con el uso que los programas
debían realizar con la memoria. La memoria virtual automatiza la gestión entre los
dos niveles principales de la jerarquía de memoria: memoria principal y disco. Antes
de entrar en los mecanismos específicos de la memoria virtual revisaremos una serie
de funciones que deben incorporarse en la gestión de memoria.
3
SistemasOperativosGestióndeMemoria
Objetivos
Al finalizar el estudio de este tema, el estudiante deberá estar en capacidad de:
• Explicar el concepto de administración de memoria básica.
• Explicar los procesos de intercambio.
• Explicar el concepto de memoria virtual.
• Comprender los algoritmos de reemplazo de páginas.
• Comprender el modelado de algoritmos de reemplazo de páginas.
• Comprender aspectos de diseño de los sistemas con paginación.
• Comprender aspectos de implementación.
• Explicar el concepto de segmentación
Introducción
La memoria se puede definir como los circuitos que permiten almacenar y
recuperar la información. La unidad de almacenamiento es el bit (binary element)
aunque normalmente la consideramos estructurada en bytes (8 bits) Aunque el byte
es la unidad de direccionamiento, solemos hablar de palabras. Palabra se refiere a
la longitud de los registros del microprocesador. Así hablamos de microprocesadores
de 16 bits, de 32 bits. Por razones históricas a veces se denomina palabra a 16 bits
(2 bytes) y doble palabra a 32 bits. La memoria principal puede ser considerada
como un arreglo lineal de localidades de almacenamiento de un byte de tamaño.
Cada localidad de almacenamiento tiene asignada una dirección que la identifica.
Una de las funciones básicas que debe implementar un SO es la Administración
de la Memoria para tener un control sobre los lugares donde están almacenados los
procesos y datos que actualmente se están utilizando. La administración de memoria
se refiere a los distintos métodos y operaciones que se encargan de obtener la
máxima utilidad de la memoria, organizando los procesos y programas que se
ejecutan de manera tal que se aproveche de la mejor manera posible el espacio
disponible.
4
SistemasOperativosGestióndeMemoria
Organización de la Memoria: La memoria real o principal es en donde son
ejecutados los programas y procesos de una computadora y es el espacio real que
existe en memoria para que se ejecuten los procesos.
Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el
acceso a la información contenida en ella es de más rápido acceso.
Solo la memoria cache es más rápida que la principal, pero su costo es a su vez
mayor.
Cuando no existe memoria virtual no hay diferenciación entre el espacio de
direcciones y la memoria real; el espacio de direcciones que puede ser usado en los
programas tiene idéntico tamaño al espacio de memoria real posible.
Si se utiliza memoria virtual, el espacio de direcciones disponibles para los
programas es aquel determinado por el tamaño de la memoria virtual implementada
y no el espacio de direcciones provisto por la memoria real disponible (el espacio de
la memoria virtual será mayor que el de la memoria real).
Los términos “memoria” y “almacenamiento” se consideran equivalentes.
Los programas y datos deben estar en el almacenamiento principal para:
 Poderlos ejecutar.
 Referenciarlos directamente.
Evolución de las organizaciones de memoria
1
5
SistemasOperativosGestióndeMemoria
Sistema Multiprogramación de Memoria Real
Multiprogramación de Partición Fija.
Los sistemas de un solo usuario desperdician gran cantidad de recursos
computacionales debido a que: Cuando ocurre una petición de e/s la CPU
normalmente no puede continuar el proceso hasta que concluya la operación de
entrada/salida requerida.
Los periféricos de e/s frenan la ejecución de los procesos ya que comparativamente
la CPU es varios órdenes de magnitud más rápida que los dispositivos de E/S.
Multiprogramación de Partición Variable
Los procesos ocupan tanto espacio como necesitan, pero obviamente no deben
superar el espacio disponible de memoria. Mediante un algoritmo de administración
de memoria las particiones variables varia de forma dinámica durante el uso de la
máquina, Evitando desperdicio de memoria. No hay límites fijos de memoria, es decir
que la partición de un trabajo es su propio tamaño.
Administración de Almacenamiento
El sistema operativo proporciona una lista lógica y uniforme del sistema de
almacenamiento de la información. El sistema operativo abstrae las propiedades
físicas de los dispositivos de almacenamiento y define una unidad de
almacenamiento lógico, el archivo.
Jerarquía de la Memoria
El tiempo de acceso es el tiempo necesario para realizar una operación de
lectura/escritura, es decir, el tiempo que transcurre desde el instante en que se pone
la dirección en el bus de direcciones hasta que el dato ha sido almacenado en
memoria o puesto a disposición de la CPU.
6
SistemasOperativosGestióndeMemoria
Interesa que el acceso sea lo más rápido posible, pero además interesa tener la
mayor capacidad sin incurrir en un costo excesivo. Por tanto se usan las memorias
más rápidas y caras para donde los accesos son más frecuentes, Surge así lo que
se llama jerarquía de la memoria y que se establece en base a los tiempo de acceso
y capacidad disponible.
.
1. Registros del microprocesador
2. Memoria cache
3. Memoria principal
4. Unidades de disco
5. Unidades de cinta u ópticas
Los programas y datos tienen que estar en la memoria principal para poder
ejecutarse o ser referenciados.
Los programas y datos que no son necesarios de inmediato pueden mantenerse en
el almacenamiento secundario. Un nivel adicional es el “cache” o memoria
Los sistemas con varios niveles de almacenamiento requieren destinar recursos
para administrar el movimiento de programas y datos entre niveles De alta
velocidad, que posee las siguientes características:
 Es más rápida y costosa que la memoria principal.
 Impone al sistema un nivel más de traspaso:
 Los programas son traspasados de la memoria principal al cache antes de su
ejecución.
 Los programas en la memoria cache ejecutan mucho más rápido que en la
memoria principal.
 Estrategias de Administración de Memoria
7
SistemasOperativosGestióndeMemoria
Están dirigidas a la obtención del mejor uso posible del recurso del almacenamiento
principal.
Se dividen en las siguientes categorías:
 Estrategias de búsqueda:
 Estrategias de búsqueda por demanda.
 Estrategias de búsqueda anticipada.
 Estrategias de colocación.
 Estrategias de reposición.
Partición de la Memoria
Desde la perspectiva del sistema operativo, cada uno de los espacios asignados a
un proceso es una partición. Cuando el sistema operativo inicia, toda la memoria
disponible es vista como un sólo bloque, y conforme se van ejecutando procesos,
este bloque va siendo subdividido para satisfacer sus requisitos.
Al cargar un programa el sistema operativo calcula cuánta memoria va a requerir a lo
largo de su vida prevista. Esto incluye el espacio requerido para la asignación
dinámica de memoria con la familia de funciones malloc y free.
 Partición Estática: en la mayoría de los esquemas de gestión de memoria, el
sistema operativo ocupa una parte fija de la memoria principal y que el resto
de la memoria está disponible para ser usado por varios procesos. El
esquema más sencillo de gestión de la memoria disponible es dividir en
regiones con límites fijos-
El particionamiento fijo consiste en la asignación estática de la memoria
particionada, que es una forma de hacer posible la multiprogramación,
dividiendo la memoria física disponible en varias particiones, cada una de las
cuales puede ser asignada a diferentes procesos.
8
SistemasOperativosGestióndeMemoria
 Partición Dinámica: aquí las particiones son variables en número y longitud.
Cuando se carga un proceso en la memoria principal, se le asigna
exactamente tanta memoria como necesita y no más.
Este método comienza bien, pero desembarca en una situación en la que hay un
gran número de huecos pequeños en la memoria. La memoria comienza a estar
más fragmentada y su rendimiento decae. Este fenómeno se denomina
fragmentación externa y se refiere al hecho que la memoria externa a todas las
particiones se fragmenta cada vez más.
Ejemplo
Supongamos que tenemos una partición estática de una memoria de 4Mb y un SO
de 512k, particionado en los siguientes tamaños: 128,256, 512K, 720k, 1Mb, 1.5Mb.
Por medio de un diagrama, indique como se representarían estas particiones en
memoria.
Particiones del Particiones de
mismo tamaño distinto tamaño
Fragmentación
Es un fenómeno que se manifiesta a medida que los procesos terminan su
ejecución, y el sistema operativo libera la memoria asignada a cada uno de ellos. Si
los procesos se encontraban en regiones de memoria, apartadas entre sí,
comienzan a aparecer regiones de memoria disponible, interrumpidas por regiones
de memoria usada por los procesos que aún se encuentran activos.
S.O
512 K
512 K
512 K
512 K
512 K
512 K
S.O
128 K
256 K
512 K
720 K
1 Mb
1.5 Mb
9
SistemasOperativosGestióndeMemoria
Si la computadora no tiene hardware específico que permita que los procesos
resuelvan sus direcciones en tiempo de ejecución, el sistema operativo no puede
reasignar los bloques existentes, y aunque pudiera hacerlo, mover un proceso
entero en memoria puede resultar una operación costosa en tiempo de
procesamiento.
Estrategias de Colocación
Al crear un nuevo proceso, el sistema operativo tiene tres estrategias según las
cuales podría asignarle uno de los bloques disponibles:
Primer ajuste El sistema toma el primer bloque con el tamaño suficiente para
alojar el nuevo proceso. Este es el mecanismo más simple de implementar y el de
más rápida ejecución. No obstante, esta estrategia puede causar el desperdicio de
memoria, si el bloque no es exactamente del tamaño requerido.
Mejor ajuste El sistema busca entre todos los bloques disponibles cuál es el que
mejor se ajusta al tamaño requerido por el nuevo proceso.
.
El Primer ajuste y el Mejor ajuste
10
SistemasOperativosGestióndeMemoria
Peor ajuste El sistema busca cuál es el bloque más grande disponible, y se lo
asigna al nuevo proceso. Empleando una estructura de datos como un montículo,
esta operación puede ser incluso más rápida que la de primer ajuste. Con este
mecanismo se busca que los bloques que queden después de otorgarlos a un
proceso sean tan grandes como sea posible, de cierto modo balanceando su
tamaño.
Intercambio (swapping)
.Que ocurre si la memoria está ocupada
totalmente?
Intercambiar procesos entre memoria
principal y secundaria (un
disco rápido que alberga las imágenes de
memoria de los procesos de usuario, y
suministra acceso directo a esas
imágenes).
. Aconsejable en sistemas. de tiempo compartido. Usuarios conectados al sistema
alternan periodos de trabajo e inactividad. Un proceso se sacara de memoria:
Si va a estar cierto tiempo bloqueado Necesitamos compartir CPU y memoria
El factor principal en el tiempo de intercambio es el tiempo de transferencia, que es
Proporcional a la memoria intercambiada. Se usa en UNIX, Windows, etc
11
SistemasOperativosGestióndeMemoria
Ejemplo
Considere un sistema de intercambio en el que la memoria contiene los siguientes
huecos en orden según su posición en la memoria: 10 KB, 4 KB, 20 KB, 18 KB, 7
KB, 9 KB, 12 KB y 15 KB. Determine cuál hueco se usará si se reciben solicitudes
sucesivas pidiendo:
12 KB , 10 KB, 9 KB
¿Si se usa primer ajuste? Repita el problema usando mejor ajuste, peor ajuste y
siguiente ajuste.
Primer ajuste: El hueco de 20 KB, el hueco de 18 KB y el hueco de 12 KB.
Mejor ajuste: El hueco de 20 KB, el hueco de 10 KB y el hueco de 9 KB.
Peor ajuste: El hueco de 20 KB, el hueco de 18 KB y el hueco de 15 KB.
Siguiente ajuste: El hueco de 20 KB, el hueco de 18 KB y el hueco de 12 KB.
La fragmentación externa se produce cuando hay muchos bloques libres entre
bloques asignados a procesos.
La fragmentación interna: la memoria asignada es mayor que la usada; la
diferencia entre ambas es memoria interna a una partición que no se usa. Se
produce cuando se asigna memoria en particiones fijas.
Por ejemplo, si el sistema operativo maneja bloques de 512 bytes y un proceso
requiere sólo 768 bytes para su ejecución, el sistema le entregará dos bloques (1
024 bytes), con lo cual desperdicia 256 bytes. En el peor de los casos, con un
bloque de n bytes, un proceso podría solicitar kn + 1 bytes de memoria,
desperdiciando por fragmentación interna n � 1 bytes.
12
SistemasOperativosGestióndeMemoria
Compresión o Compactación de Almacenamiento
Una técnica empleada cuando la memoria está dividida en particiones de tamaño
variable. De cuando en cuando, el sistema operativo desplaza las particiones para
que queden contiguas y así toda la memoria libre este reunida en un solo bloque.
Puede ocurrir que los agujeros (áreas libres) separados distribuidos por todo el
almacenamiento principal constituyan una cantidad importante de memoria:
 Podría ser suficiente (el total global disponible) para alojar a procesos
encolados en espera de memoria.
 Podría no ser suficiente ningún área libre individual.
La técnica de compresión de memoria implica pasar todas las áreas ocupadas del
almacenamiento a uno de los extremos de la memoria principal:
 Deja un solo agujero grande de memoria libre contigua.
 Esta técnica se denomina “recogida de residuos”
Principales desventajas de la compresión
 Consume recursos del sistema
 El sistema debe detener todo mientras efectúa la compresión, lo que puede
afectar los tiempos de respuesta.
Implica la relocalización (reubicación) de los procesos que se encuentran en la
memoria:
 La información de relocalización debe ser de accesibilidad inmediata.
 Una alta carga de trabajo significa mayor frecuencia de compresión que
incrementa el uso de recursos.
13
SistemasOperativosGestióndeMemoria
Administración de Memoria Virtual
Gestión de memoria
El sistema de memoria virtual de los actuales computadores surgió para liberar al
programador de una serie de tareas relacionadas con el uso que los programas
debían realizar con la memoria. La memoria virtual automatiza la gestión entre los
dos niveles principales de la jerarquía de memoria: memoria principal y disco. Antes
de entrar en los mecanismos específicos de la memoria virtual revisaremos una serie
de funciones que deben incorporarse en la gestión de memoria..
Solapamiento (overlay)
El tamaño de la memoria principal disponible en los computadores ha aumentado de
forma sostenida desde sus orígenes. Sin embargo, el tamaño de los programas ha
crecido más rápidamente, por lo que la necesidad de ejecutar programas que no
cabían en la memoria principal ha sido una constante en la historia de los
computadores. Una forma de superar esta limitación es el uso de la técnica de
solapamiento (overlay).
Esta técnica divide en módulos el programa cuyo tamaño sobrepasa la capacidad de
la memoria principal, y que reside por tanto en memoria secundaria (disco). Después
se introducen en los lugares adecuados de cada módulo, y al margen de la lógica
propia del programa, las instrucciones de E/S necesarias para cargar en memoria
principal aquellos módulos cuyas instrucciones deban ejecutarse o cuyos datos
vayan a ser referenciados en el inmediato futuro. Es decir, el propio programa se
ocupa de cargar por anticipado los módulos que van a ser referenciados.
Protección y Reubicación
Un papel importante de la gestión de memoria es la protección. Si varios programas
comparten la memoria principal debe asegurarse que ninguno de ellos pueda
modificar el espacio de memoria de los demás. Como casi todos los lenguajes
14
SistemasOperativosGestióndeMemoria
permiten el uso de punteros dinámicos, los test en tiempo de compilación no son
suficientes para garantizar la protección. Esta debe mantenerla en tiempo de
ejecución el sistema de gestión de memoria (MMU).
En sistemas con multiprogramación se necesita que varios programas residan
Simultáneamente en memoria. El tiempo de CPU se va distribuyendo entre ellos de
acuerdo a una política de prioridades determinada. La ubicación en memoria de los
programas no se conoce en tiempo de compilación, por lo que no se pueden generar
direcciones absolutas. Para conseguir una asignación dinámica de memoria en
tiempo de ejecución se utilizan registros de reubicación. La dirección efectiva se
obtiene sumando a la dirección generada por el compilador el contenido del registro
de reubicación asignado al programa.
.Como aseguramos la protección? Y .Como reubicamos los procesos?
Necesitamos dos registros: el registro base y limite. En cada load y store:
Reubicación:
Direc. Fisica = Direc. Virtual + Reg. Base
Protección – comprobar que la dirección cae en el rango [base,limite).
15
SistemasOperativosGestióndeMemoria
Registros base y límite
Paginación:
La paginación tsurgió de la necesidad de mantener más de un programa residente
en memoria cuando la capacidad de ésta es inferior a la suma de los tamaños de los
programas. Se trata de un mecanismo automático de solapamiento múltiple que
practica el Sistema Operativo para hacer posible la multiprogramación. El espacio de
memoria principal se divide en bloques de tamaño fijo denominados páginas. Los
programas se dividen también en páginas y residen en el disco. El Sistema
Operativo se encarga de asignar páginas físicas a los programas en ejecución
(multiprogramación). De esta forma el tiempo de CPU puede distribuirse entre los
programas residentes.
Características
 Es una manera de relocalización dinámica
 El espacio de direcciones físicas está dividido en zonas de tamaño fìjo
llamadas marcos de página
 El espacio de direcciones lógico o virtual está formado por zonas de tamaño
fijo denominadas páginas
16
SistemasOperativosGestióndeMemoria
 La dirección lógica se compone de número de página y desplazamiento
dentro de la página
 Con el número de página se obtiene una entrada en una tabla de páginas, en
donde hay una dirección base de marco de página
 La dirección de memoria fisica a la que se accede se obtiene sumando el
desplazamiento a la dirección base del marco de página
Compartición
Esta función parece estar en contradicción con la anterior. Sin embargo, con
frecuencia los programas de un sistema multiprogramado deben poder compartir y
actualizar información, por ejemplo, un sistema de bases de datos. Además, no es
necesario tener varias copias de una rutina si se permite que todos los programas
accedan a una misma copia.
Memoria virtual
El sistema de memoria virtual implementa todas las funciones anteriores de forma
integrada. En un computador con memoria virtual las direcciones de los programas
(generadas por la CPU) hacen referencia a un espacio mayor que el espacio físico
realmente disponible en la memoria principal o memoria física.
Los programas operan virtualmente con un tamaño físico de memoria principal
mucho mayor que el realmente disponible. En estas máquinas hay que diferenciar,
pues, entre el espacio de direcciones virtuales generado por la CPU y el espacio de
direcciones físicas o reales existentes en memoria principal y determinado por el
número de líneas del bus de direcciones. El espacio virtual se soporta sobre un
disco con la ayuda de un mecanismo de traducción que genera la dirección física de
memoria principal a partir de la virtual.
. Los bits de una Dirección Virtual se consideran divididos en dos campos, el
número de página virtual los más significativos, y el desplazamiento dentro de la
página, los menos significativos. El número de bits del campo Desplazamiento de
Página lo determina el tamaño de página (nº de bits de Desplazamiento Página =
log2 tamaño de página). El número de bits del campo número de página virtual lo
determina el número de páginas virtuales (nº de bits de Número de página virtual =
17
SistemasOperativosGestióndeMemoria
log2 nº de páginas virtuales). Los bits de una Dirección Física se consideran
divididos también en dos campos, el número de página física los más significativos,
y el desplazamiento dentro de la página los menos significativos. El número de bits
del campo Desplazamiento de Página de unas direcciones físicas es el mismo que el
de una Dirección Virtual, puesto que las páginas tienen igual tamaño en memoria
virtual y Memoria Física. El número de bits del campo número de página física lo
determina el número de páginas físicas de Memoria Física (nº de bits de número de
páginas físicas = log2 nº de páginas físicas).
Para traducir una Dirección Virtual en Dirección Física se busca en la
correspondiente entrada de la Tabla de Páginas. Si el bit P de esta entrada vale 1,
se dice que ha ocurrido un acierto de página, y se lee el contenido del segundo
campo que en los aciertos constituye el Número de Página Física en la memoria
principal. La Dirección Física completa se obtiene concatenando los bits de Número
de Página Física con los de Desplazamiento dentro de la Página de la Dirección
Virtual. Si el bit P de la entrada de la Tabla de Página vale 0, se dice que ha
ocurrido un fallo de página, lo que significa que la página virtual donde se ubica la
Dirección Virtual que se está traduciendo, no se encuentra en Memoria Física. En
este caso el fallo de página se sirve buscado la página en el disco, ubicándola en
Memoria Física y actualizando la correspondiente entrada de la Tabla de página.
aquí
Dirección lógica
La MMU descompone las direcciones lógicas que le pasa la CPU en dos campos:
Numero de página (p) -se usa como índice para acceder a la p-esima TPE, que nos
dará la dirección de la base del marco donde se encuentra la página en memoria.
Desplazamiento de página (d) –sumado con la base de página define la dirección
física que debe utilizar la MMU para acceder a la instrucción o datos.
18
SistemasOperativosGestióndeMemoria
Esquema de traducción
Un ejemplo sencillo
19
SistemasOperativosGestióndeMemoria
Ejemplo
Supongamos un sistema con direcciones de 16 bits donde 7 bits corresponden al
número de página y 9 al desplazamiento dentro de la página
• Tamaño de página será de 512 bytes
• Un proceso referencia la dirección 0x095f (0000 1001 0101 1111)
• Esta referencia es a la página 4 desplazamiento 0x15f
()
• En la entrada correspondiente a la página 4 de la tabla de páginas del
proceso nos dirá la dirección de memoria física donde está dicha página
• Supongamos que en dicha entrada nos indica que la dirección del marco de
memoria física es 0xAE00 (1010 1110 0000 0000)
• Entonces la dirección de memoria física a donde realmente se accede es
0xAF5F (1010 11111 0101 1111)
Segmentació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.
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..
Un segmento es un espacio lineal de direcciones que puede ser paginado
20
SistemasOperativosGestióndeMemoria
Ventajas de la Segmentación
 Simplifica la gestión de estructuras variables de datos. Si el programador no
conoce a priori el tamaño que puede llegar a tener una estructura de datos
particular, no es necesario que lo presuponga. A la estructura de datos se le
asigna su propio segmento, y el sistema operativo lo expandirá o lo reducirá
según sea necesario.
 Permite modificar los programas y recompilarlos independientemente, sin que
sea necesario volver a enlazar y cargar el conjunto entero de programas. De
nuevo, esto se consigue utilizando varios segmentos.
 Permite que varios procesos compartan segmentos. Un programador puede
situar un programa correspondiente a una utilidad o una tabla de datos de
interés en un segmento, que puede ser direccionado por otros procesos.
 Se facilita la protección. Puesto que un segmento se construye para contener
un conjunto de programas o datos bien definido, el programador o el
administrador del sistema puede asignar privilegios de acceso de forma
adecuada.
 Trata de resolver los problemas de fragmentación externa e interna, y los
elevados tiempos de búsqueda mediante la paginación de los segmentos.
Paginación por Demanda.
La paginación sobre demanda significa que, para comenzar a ejecutar un
proceso, el sistema operativo carga solamente la porción necesaria para
comenzar la ejecución (posiblemente una página o ninguna), y que a lo largo de
la ejecución, el paginador es flojo: sólo carga a memoria las páginas cuando van
a ser utilizadas. Al emplear un paginador flojo, las páginas que no sean
requeridas nunca serán siquiera cargadas a memoria.
.Las ventajas son: menos E/S. menos memoria, respuesta más rápida, más
usuarios.
La estructura empleada por la MMU para implementar un paginador flojo es el
siguiente: la tabla de páginas incluirá un bit de validez, indicando para cada
página del proceso si está presente o no en memoria. Si el proceso intenta
emplear una página que esté marcada como no válida, esto causa un fallo de
21
SistemasOperativosGestióndeMemoria
página, que lleva a que el sistema operativo lo suspenda y traiga a memoria la
página solicitada para luego continuar con su ejecución: Verifica en el PCB si
esta solicitud corresponde a una página que ya ha sido asignada a este proceso.
En caso de que la referencia sea inválida, se termina el proceso.
Fallo de Página
 En una falta de página, el SO mira en la tabla que mantiene el espacio de
direcciones completo del proceso para decidir si:
o La referencia es invalida → aborta proceso
 La página no está en memoria, entonces:
 Obtiene un marco vacío.
 Carga la página dentro del marco.
 Pone el bit de validez a 1.
 Rearranca la instrucción.
 Si la página está en memoria pero la traducción no es válida Þ reasigna la
página.
Algoritmos de Remplazo de Páginas
Cuando se presenta un fallo de página, el sistema operativo tiene que escoger la
página que desalojará de la memoria para hacer espacio para colocar la página que
traerá del disco. Si la página a desalojar fue modificada mientras estaba en
memoria, deberá rescribirse en el disco para actualizar la copia. En cambio, si la
página no se ha modificado, no será necesario rescribirla
FIFO (First In First Out)
Se sustituye la página que lleva más tiempo residente en memoria. Utiliza una cola
FIFO y hace un uso pobre de la localidad temporal.
Veamos el comportamiento en el siguiente perfil de referencias a páginas:
2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2:
FIFO: 9 fallos de página
2 3 2 1 5 2 4 5 3 2 5 2
2 2 2 2 5 5 5 5 3 3 3 3
22
SistemasOperativosGestióndeMemoria
3 3 3 3 2 2 2 2 2 5 5
1 1 1 4 4 4 4 4 2
F F - F F F F - F - F F
Reloj
Es una mejora de la FIFO en la que también se chequea si una página ha sido
referenciada, haciendo mejor uso de la localidad temporal. Para implementar esta
política se mantiene una cola como en la FIFO, pero circular, con un puntero a la
página candidata a ser sustituida, y un flag de uso asociado a cada página. El flag
de uso se pone a 1 cuando la página es referenciada con posterioridad a su carga
inicial en la memoria física. Al producirse un fallo de página se examina el flag de
uso de la página señalada por el puntero de la FIFO. Si está a 0 la correspondiente
página es sustituida, pero si vale 1 se borra el flag de uso (se pone a 0) y se avanza
el puntero una posición, continuando este procedimiento hasta encontrar una página
con el flag de uso a 0.
Referencias a páginas:
2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2:
RELOJ: 6 fallos de página
2 3 2 1 5 2 4 5 3 2 5 2
2 2 2 2 2 2 2 2 2 2 2 3
3 3 3 5 5 5 5 5 5 5 5
1 1 1 4 4 3 3 3 3
F F - F F - F - F - - -
LRU (Least Recently Used)
Reemplaza la página de memoria que no ha sido referenciada desde hace mucho
tiempo
7 fallos de página
23
SistemasOperativosGestióndeMemoria
2 3 2 1 5 2 4 5 3 2 5 2
2 2 2 2 2 2 2 2 3 3 3 3
3 3 3 5 5 5 5 5 5 5 5
1 1 1 4 4 4 2 2 2
F F - F F - F - F F - -
Optima
Se trata de la mejor política posible: sustituir la página que vaya a tardar más tiempo
en ser referenciada en el futuro (Belady). Aunque esta política tiene el mínimo
número posible de fallos de página (de aquí el nombre de política MIN), no se puede
llevar a la práctica en tiempo real, y se utiliza como una referencia teórica para medir
la eficiencia de otras políticas en entornos experimentales.
6 fallos de página
2 3 2 1 5 2 4 5 3 2 5 2
2 2 2 2 2 2 4 4 4 2 2 2
3 3 3 3 3 3 3 3 3 3 3
1 5 5 5 5 5 5 5 5
F F - F F - F - F - -
Ejercicios
Considera un sistema de paginación bajo demanda en el que un proceso que tiene
asignados 3 marcos de página genera la siguiente secuencia de referencias a
páginas: 2,3,1,2,4,5,2,3,1,5,6,1
24
SistemasOperativosGestióndeMemoria
Indica que accesos producirían un fallo de página cuando se utilizan las políticas de
reemplazo local FIFO y LRU. Sabemos que este proceso se va a ejecutar muy a
menudo en el sistema y nos interesa tener el mejor sistema de paginación para èl.
¿Valdría la pena aumentar el número de marcos de página asignados al proceso
hasta 4 para alguna de estas dos políticas? Indica el número de fallos de página
que se producirían en esta nueva situación para cada algoritmo.
Solución
FIFO: 10 fallos de página
2 3 1 2 4 5 2 3 1 5 6 1
2 2 2 2 4 4 4 3 3 3 6 6
3 3 3 3 5 5 5 1 1 1 1
1 1 1 1 2 2 2 5 5 5
F F F - F F F F F F F -
•
LRU: 9 fallos de página
2 3 1 2 4 5 2 3 1 5 6 1
2 2 2 2 2 2 2 2 2 5 5 5
3 3 3 4 4 4 3 3 3 6 6
1 1 1 5 5 5 1 1 1 1
F F F - F F - F F F F -
Con 4 marcos:
FIFO: 9 fallos de página
25
SistemasOperativosGestióndeMemoria
2 3 1 2 4 5 2 3 1 5 6 1
2 2 2 2 2 5 5 5 5 5 6 6
3 3 3 3 3 2 2 2 2 2 2
1 1 1 1 1 3 3 3 3 3
4 4 4 4 1 1 1 1
F F F - F F F F F - F -
•
LRU: 8 fallos de página
2 3 1 2 4 5 2 3 1 5 6 1
2 2 2 2 2 2 2 2 2 2 6 6
3 3 3 3 5 5 5 5 5 5 5
1 1 1 1 1 3 3 3 3 3
4 4 4 4 1 1 1 1
F F F - F F F F - F -
Para ambas políticas se reduce el número de fallos de página al aumentar el
número de marcos a 4.
2. Considera un sistema de paginación bajo demanda en el que un proceso que
tiene asignados 4 marcos de página genera la siguiente secuencia de referencias
a pàginas:4,2,4,1,6,3,2,5,6,4,1,3,5,3
Indica que accesos producirían un fallo de página cuando se utiliza cada una de las
políticas de reemplazo local FIFO, LRU y óptima. Número de marcos a 4.
Solución
FIFO: 8 fallos de página
4 2 4 1 6 3 2 5 6 4 1 3 5 3
26
SistemasOperativosGestióndeMemoria
4 4 4 4 4 3 3 3 3 3 3 3 3 3
2 2 2 2 2 2 5 5 5 5 5 5 5
1 1 1 1 1 1 4 4 4 4 4
6 6 6 6 6 6 1 1 1 1
F F - F F F - F - F F - - -
LRU: 11 fallos de página
4 2 4 1 6 3 2 5 6 4 1 3 5 3
4 4 4 4 4 4 2 2 2 2 1 1 1 1
2 2 2 2 3 3 3 3 4 4 4 4 4
1 1 1 1 5 5 5 5 3 3 3
6 6 6 6 6 6 6 6 5 5
F F - F F F F F - F F F F -
•
Óptimo: 7 fallos de pagina
4 2 4 1 6 3 2 5 6 4 1 3 5 3
4 4 4 4 4 4 4 4 4 4 1 1 1 1
2 2 2 2 2 2 5 5 5 5 5 5 5
1 1 1 1 1 1 1 1 3 3 3
6 6 6 6 6 6 6 6 6 6
F F - F F F F F - F F F F -
Segmentación Paginada y Paginación Segmentada
27
SistemasOperativosGestióndeMemoria
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 Direcciones virtuales a
Direcciones Físicas, no es más que la composición del mecanismo de la
memoria segmentada y el de la paginada.
BIBLIOGRAFÍA
Carretero Pérez, Jesús y otros. Sistemas operativos: una visión aplicada. Primera Edición,
Editorial McGraw Hill, España, 2001.

Contenu connexe

Tendances

Una metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de informaciónUna metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de informaciónLeonardo Fleire Morales
 
Clasificación y modelos de bases de datos
Clasificación y modelos de bases de datosClasificación y modelos de bases de datos
Clasificación y modelos de bases de datosastrid2014
 
Paginación, Segmentación y Fragmentación
Paginación, Segmentación y FragmentaciónPaginación, Segmentación y Fragmentación
Paginación, Segmentación y FragmentaciónNatalia Ludeña
 
Diseño de entraday_salida
Diseño de entraday_salidaDiseño de entraday_salida
Diseño de entraday_salidaJorge Garcia
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosJuan Carlos Olivares Rojas
 
Trabajo memoria virtual.
Trabajo memoria virtual.Trabajo memoria virtual.
Trabajo memoria virtual.velazqes
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtualandreapab
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoriapuracastillo
 
Interbloqueo sistemas operativos
Interbloqueo  sistemas operativosInterbloqueo  sistemas operativos
Interbloqueo sistemas operativosAndy Lopez
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoriacaredimaria
 
Asignación de memoria continua
Asignación de memoria continuaAsignación de memoria continua
Asignación de memoria continuaEdgar Pauta
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoTecnologico de pinotepa
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salidaDavid Martinez
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de MemoriaLuis Eraso
 
Jerarquía de Memoria
Jerarquía de Memoria Jerarquía de Memoria
Jerarquía de Memoria yarbin
 

Tendances (20)

Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Una metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de informaciónUna metodología para el desarrollo de sistemas de información
Una metodología para el desarrollo de sistemas de información
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
Clasificación y modelos de bases de datos
Clasificación y modelos de bases de datosClasificación y modelos de bases de datos
Clasificación y modelos de bases de datos
 
Paginación, Segmentación y Fragmentación
Paginación, Segmentación y FragmentaciónPaginación, Segmentación y Fragmentación
Paginación, Segmentación y Fragmentación
 
Diseño de entraday_salida
Diseño de entraday_salidaDiseño de entraday_salida
Diseño de entraday_salida
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
Trabajo memoria virtual.
Trabajo memoria virtual.Trabajo memoria virtual.
Trabajo memoria virtual.
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtual
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Gestión Memoria Principal
Gestión Memoria PrincipalGestión Memoria Principal
Gestión Memoria Principal
 
Gestión de archivos
Gestión de archivosGestión de archivos
Gestión de archivos
 
Interbloqueo sistemas operativos
Interbloqueo  sistemas operativosInterbloqueo  sistemas operativos
Interbloqueo sistemas operativos
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
 
Gestion de memoria en windows
Gestion de memoria en windowsGestion de memoria en windows
Gestion de memoria en windows
 
Asignación de memoria continua
Asignación de memoria continuaAsignación de memoria continua
Asignación de memoria continua
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un Interbloqueo
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salida
 
SO - Administración de Memoria
SO - Administración de MemoriaSO - Administración de Memoria
SO - Administración de Memoria
 
Jerarquía de Memoria
Jerarquía de Memoria Jerarquía de Memoria
Jerarquía de Memoria
 

Similaire à Gestion de memoria

Gestiond memoria-pnfi
Gestiond memoria-pnfiGestiond memoria-pnfi
Gestiond memoria-pnfipuracastillo
 
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)Juan Lopez
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoriaguestaff6d2
 
Unidad A Aministración de la Memoria
Unidad A Aministración de la MemoriaUnidad A Aministración de la Memoria
Unidad A Aministración de la MemoriaNubieshita Chase
 
Cuestionario terminado
Cuestionario terminadoCuestionario terminado
Cuestionario terminadofloresitalagu
 
Administración de la memoria
Administración de la memoriaAdministración de la memoria
Administración de la memoriaBeatriz Pérez
 
Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.Juliannys Requena
 
Unidad 3 el administrador de memoria
Unidad 3 el administrador de memoriaUnidad 3 el administrador de memoria
Unidad 3 el administrador de memoriacoffeejimenez
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria VirtualUCC
 
Ensayofinalsistemaop
EnsayofinalsistemaopEnsayofinalsistemaop
EnsayofinalsistemaopJosé Jimenez
 
Administracion y manejo de memoria
Administracion y manejo de memoriaAdministracion y manejo de memoria
Administracion y manejo de memoriagiovatovar
 
Gestion de particiones de memoria.ppt
Gestion de particiones de memoria.pptGestion de particiones de memoria.ppt
Gestion de particiones de memoria.pptLuis619096
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2giovatovar
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2giovatovar
 

Similaire à Gestion de memoria (20)

Gestiond memoria-pnfi
Gestiond memoria-pnfiGestiond memoria-pnfi
Gestiond memoria-pnfi
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 
Unidad A Aministración de la Memoria
Unidad A Aministración de la MemoriaUnidad A Aministración de la Memoria
Unidad A Aministración de la Memoria
 
Cuestionario terminado
Cuestionario terminadoCuestionario terminado
Cuestionario terminado
 
Gerarquia de memoria
Gerarquia de memoriaGerarquia de memoria
Gerarquia de memoria
 
Administración de la memoria
Administración de la memoriaAdministración de la memoria
Administración de la memoria
 
Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.Trabajo de gestión de la memoria principal.
Trabajo de gestión de la memoria principal.
 
Unidad 3 el administrador de memoria
Unidad 3 el administrador de memoriaUnidad 3 el administrador de memoria
Unidad 3 el administrador de memoria
 
Memoria en los SO
Memoria en los SOMemoria en los SO
Memoria en los SO
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Ensayofinalsistemaop
EnsayofinalsistemaopEnsayofinalsistemaop
Ensayofinalsistemaop
 
Administracion y manejo de memoria
Administracion y manejo de memoriaAdministracion y manejo de memoria
Administracion y manejo de memoria
 
Gestion de particiones de memoria.ppt
Gestion de particiones de memoria.pptGestion de particiones de memoria.ppt
Gestion de particiones de memoria.ppt
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria
MemoriaMemoria
Memoria
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
 
Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2Administracion y manejo de memoria parte2
Administracion y manejo de memoria parte2
 

Plus de puracastillo

ejerciciospropuestosgestionM.pdf
ejerciciospropuestosgestionM.pdfejerciciospropuestosgestionM.pdf
ejerciciospropuestosgestionM.pdfpuracastillo
 
Ejercicios Propuestos 2023
Ejercicios Propuestos 2023Ejercicios Propuestos 2023
Ejercicios Propuestos 2023puracastillo
 
mapa conceptual.pptx
mapa conceptual.pptxmapa conceptual.pptx
mapa conceptual.pptxpuracastillo
 
clase invertida.pptx
clase invertida.pptxclase invertida.pptx
clase invertida.pptxpuracastillo
 
Guia N1_ Modelo de PL.pdf
Guia N1_ Modelo de PL.pdfGuia N1_ Modelo de PL.pdf
Guia N1_ Modelo de PL.pdfpuracastillo
 
Presentación sistema operativo.pptx
Presentación sistema operativo.pptxPresentación sistema operativo.pptx
Presentación sistema operativo.pptxpuracastillo
 
Unidad2 métodos cuantitativa
Unidad2 métodos cuantitativa Unidad2 métodos cuantitativa
Unidad2 métodos cuantitativa puracastillo
 
Ejercicios Propuestos Sincronización.pdf
Ejercicios Propuestos Sincronización.pdfEjercicios Propuestos Sincronización.pdf
Ejercicios Propuestos Sincronización.pdfpuracastillo
 
Ejercicios propuestos Procesos e Hilos
Ejercicios propuestos Procesos e Hilos Ejercicios propuestos Procesos e Hilos
Ejercicios propuestos Procesos e Hilos puracastillo
 
Plan de clases proyecto iii fase1 2021
Plan de clases proyecto iii fase1 2021Plan de clases proyecto iii fase1 2021
Plan de clases proyecto iii fase1 2021puracastillo
 
Plan evaluacion uniencasa sistemas operativos2
Plan evaluacion uniencasa sistemas operativos2Plan evaluacion uniencasa sistemas operativos2
Plan evaluacion uniencasa sistemas operativos2puracastillo
 
Plan evaluacion uniencasa sistemas operativos
Plan evaluacion uniencasa sistemas operativosPlan evaluacion uniencasa sistemas operativos
Plan evaluacion uniencasa sistemas operativospuracastillo
 
Ejercicios propuestos ms
Ejercicios propuestos msEjercicios propuestos ms
Ejercicios propuestos mspuracastillo
 
Ejercicios propuestos metodo simplex
Ejercicios propuestos metodo simplexEjercicios propuestos metodo simplex
Ejercicios propuestos metodo simplexpuracastillo
 
Plan evaluación uniencasa investigación de operaciones
Plan evaluación uniencasa investigación de operacionesPlan evaluación uniencasa investigación de operaciones
Plan evaluación uniencasa investigación de operacionespuracastillo
 
Guia 2 metodo grafico
Guia 2 metodo graficoGuia 2 metodo grafico
Guia 2 metodo graficopuracastillo
 
Ejercicios propuestos metodo grafico
Ejercicios propuestos metodo graficoEjercicios propuestos metodo grafico
Ejercicios propuestos metodo graficopuracastillo
 
Entregables proyecto iii
Entregables proyecto iii Entregables proyecto iii
Entregables proyecto iii puracastillo
 
Baremos fase i y ii
Baremos fase i y iiBaremos fase i y ii
Baremos fase i y iipuracastillo
 
Estructura del informe final
Estructura del informe finalEstructura del informe final
Estructura del informe finalpuracastillo
 

Plus de puracastillo (20)

ejerciciospropuestosgestionM.pdf
ejerciciospropuestosgestionM.pdfejerciciospropuestosgestionM.pdf
ejerciciospropuestosgestionM.pdf
 
Ejercicios Propuestos 2023
Ejercicios Propuestos 2023Ejercicios Propuestos 2023
Ejercicios Propuestos 2023
 
mapa conceptual.pptx
mapa conceptual.pptxmapa conceptual.pptx
mapa conceptual.pptx
 
clase invertida.pptx
clase invertida.pptxclase invertida.pptx
clase invertida.pptx
 
Guia N1_ Modelo de PL.pdf
Guia N1_ Modelo de PL.pdfGuia N1_ Modelo de PL.pdf
Guia N1_ Modelo de PL.pdf
 
Presentación sistema operativo.pptx
Presentación sistema operativo.pptxPresentación sistema operativo.pptx
Presentación sistema operativo.pptx
 
Unidad2 métodos cuantitativa
Unidad2 métodos cuantitativa Unidad2 métodos cuantitativa
Unidad2 métodos cuantitativa
 
Ejercicios Propuestos Sincronización.pdf
Ejercicios Propuestos Sincronización.pdfEjercicios Propuestos Sincronización.pdf
Ejercicios Propuestos Sincronización.pdf
 
Ejercicios propuestos Procesos e Hilos
Ejercicios propuestos Procesos e Hilos Ejercicios propuestos Procesos e Hilos
Ejercicios propuestos Procesos e Hilos
 
Plan de clases proyecto iii fase1 2021
Plan de clases proyecto iii fase1 2021Plan de clases proyecto iii fase1 2021
Plan de clases proyecto iii fase1 2021
 
Plan evaluacion uniencasa sistemas operativos2
Plan evaluacion uniencasa sistemas operativos2Plan evaluacion uniencasa sistemas operativos2
Plan evaluacion uniencasa sistemas operativos2
 
Plan evaluacion uniencasa sistemas operativos
Plan evaluacion uniencasa sistemas operativosPlan evaluacion uniencasa sistemas operativos
Plan evaluacion uniencasa sistemas operativos
 
Ejercicios propuestos ms
Ejercicios propuestos msEjercicios propuestos ms
Ejercicios propuestos ms
 
Ejercicios propuestos metodo simplex
Ejercicios propuestos metodo simplexEjercicios propuestos metodo simplex
Ejercicios propuestos metodo simplex
 
Plan evaluación uniencasa investigación de operaciones
Plan evaluación uniencasa investigación de operacionesPlan evaluación uniencasa investigación de operaciones
Plan evaluación uniencasa investigación de operaciones
 
Guia 2 metodo grafico
Guia 2 metodo graficoGuia 2 metodo grafico
Guia 2 metodo grafico
 
Ejercicios propuestos metodo grafico
Ejercicios propuestos metodo graficoEjercicios propuestos metodo grafico
Ejercicios propuestos metodo grafico
 
Entregables proyecto iii
Entregables proyecto iii Entregables proyecto iii
Entregables proyecto iii
 
Baremos fase i y ii
Baremos fase i y iiBaremos fase i y ii
Baremos fase i y ii
 
Estructura del informe final
Estructura del informe finalEstructura del informe final
Estructura del informe final
 

Dernier

MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
Tarea 4_ Foro _Incorporar habilidades de Siglo XXI
Tarea 4_ Foro _Incorporar habilidades de Siglo XXI Tarea 4_ Foro _Incorporar habilidades de Siglo XXI
Tarea 4_ Foro _Incorporar habilidades de Siglo XXI Manuel Molina
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdfPRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdfGabrieldeJesusLopezG
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajeKattyMoran3
 
Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.profandrearivero
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...MagalyDacostaPea
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfssuser50d1252
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdfRAMON EUSTAQUIO CARO BAYONA
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
los cinco reinos biologicos 0 de los seres vivos
los cinco reinos biologicos 0 de los seres vivoslos cinco reinos biologicos 0 de los seres vivos
los cinco reinos biologicos 0 de los seres vivosOrdinolaSernaquIrene
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTESaraNolasco4
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 

Dernier (20)

MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
Tarea 4_ Foro _Incorporar habilidades de Siglo XXI
Tarea 4_ Foro _Incorporar habilidades de Siglo XXI Tarea 4_ Foro _Incorporar habilidades de Siglo XXI
Tarea 4_ Foro _Incorporar habilidades de Siglo XXI
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdfPRIMER GRADO SOY LECTOR PART1- MD  EDUCATIVO.pdf
PRIMER GRADO SOY LECTOR PART1- MD EDUCATIVO.pdf
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
libro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguajelibro grafismo fonético guía de uso para el lenguaje
libro grafismo fonético guía de uso para el lenguaje
 
Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.Abregú, Podestá. Directores.Líderes en Acción.
Abregú, Podestá. Directores.Líderes en Acción.
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
4° SES COM MAR 09 Leemos una noticia del dengue e identificamos sus partes (1...
 
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdfFichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
Fichas de Matemática DE SEGUNDO DE SECUNDARIA.pdf
 
05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf05 Fenomenos fisicos y quimicos de la materia.pdf
05 Fenomenos fisicos y quimicos de la materia.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
los cinco reinos biologicos 0 de los seres vivos
los cinco reinos biologicos 0 de los seres vivoslos cinco reinos biologicos 0 de los seres vivos
los cinco reinos biologicos 0 de los seres vivos
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE4º SOY LECTOR PART2- MD  EDUCATIVO.p df PARTE
4º SOY LECTOR PART2- MD EDUCATIVO.p df PARTE
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 

Gestion de memoria

  • 1. UNIVERSIDAD POLITÉCNICA TRRITORIAL DE LARA PROGRAMA NACIONAL DE FORMACIÓN EN INFORMÁTICA Prof. Pura Castillo
  • 2. 2 SistemasOperativosGestióndeMemoria Contenidos  Organización de la Memoria :  Organización del almacenamiento,  Administración, Jerarquía, Particiones,  Fragmentación, Condensación,  Compactación,  Estrategias de colocación  Administración de Memoria Virtual  Espacio de direcciones lógicas vs. físicas,.  Paginación, Segmentación,  Paginación por Demanda.  Fallo de Página,  Segmentación Paginada y Paginación Segmentada Propósito del capítulo El propósito de esta capitulo es conocer la manera en que los sistemas operativos administran la memoria. Estudiaremos varios esquemas de administración de memoria, que van desde los sencillos hasta los más avanzados. La memoria es un recurso importante que debe administrarse con cuidado. El sistema de memoria virtual de los actuales computadores surgió para liberar al programador de una serie de tareas relacionadas con el uso que los programas debían realizar con la memoria. La memoria virtual automatiza la gestión entre los dos niveles principales de la jerarquía de memoria: memoria principal y disco. Antes de entrar en los mecanismos específicos de la memoria virtual revisaremos una serie de funciones que deben incorporarse en la gestión de memoria.
  • 3. 3 SistemasOperativosGestióndeMemoria Objetivos Al finalizar el estudio de este tema, el estudiante deberá estar en capacidad de: • Explicar el concepto de administración de memoria básica. • Explicar los procesos de intercambio. • Explicar el concepto de memoria virtual. • Comprender los algoritmos de reemplazo de páginas. • Comprender el modelado de algoritmos de reemplazo de páginas. • Comprender aspectos de diseño de los sistemas con paginación. • Comprender aspectos de implementación. • Explicar el concepto de segmentación Introducción La memoria se puede definir como los circuitos que permiten almacenar y recuperar la información. La unidad de almacenamiento es el bit (binary element) aunque normalmente la consideramos estructurada en bytes (8 bits) Aunque el byte es la unidad de direccionamiento, solemos hablar de palabras. Palabra se refiere a la longitud de los registros del microprocesador. Así hablamos de microprocesadores de 16 bits, de 32 bits. Por razones históricas a veces se denomina palabra a 16 bits (2 bytes) y doble palabra a 32 bits. La memoria principal puede ser considerada como un arreglo lineal de localidades de almacenamiento de un byte de tamaño. Cada localidad de almacenamiento tiene asignada una dirección que la identifica. Una de las funciones básicas que debe implementar un SO es la Administración de la Memoria para tener un control sobre los lugares donde están almacenados los procesos y datos que actualmente se están utilizando. La administración de memoria se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se aproveche de la mejor manera posible el espacio disponible.
  • 4. 4 SistemasOperativosGestióndeMemoria Organización de la Memoria: La memoria real o principal es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos. Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el acceso a la información contenida en ella es de más rápido acceso. Solo la memoria cache es más rápida que la principal, pero su costo es a su vez mayor. Cuando no existe memoria virtual no hay diferenciación entre el espacio de direcciones y la memoria real; el espacio de direcciones que puede ser usado en los programas tiene idéntico tamaño al espacio de memoria real posible. Si se utiliza memoria virtual, el espacio de direcciones disponibles para los programas es aquel determinado por el tamaño de la memoria virtual implementada y no el espacio de direcciones provisto por la memoria real disponible (el espacio de la memoria virtual será mayor que el de la memoria real). Los términos “memoria” y “almacenamiento” se consideran equivalentes. Los programas y datos deben estar en el almacenamiento principal para:  Poderlos ejecutar.  Referenciarlos directamente. Evolución de las organizaciones de memoria 1
  • 5. 5 SistemasOperativosGestióndeMemoria Sistema Multiprogramación de Memoria Real Multiprogramación de Partición Fija. Los sistemas de un solo usuario desperdician gran cantidad de recursos computacionales debido a que: Cuando ocurre una petición de e/s la CPU normalmente no puede continuar el proceso hasta que concluya la operación de entrada/salida requerida. Los periféricos de e/s frenan la ejecución de los procesos ya que comparativamente la CPU es varios órdenes de magnitud más rápida que los dispositivos de E/S. Multiprogramación de Partición Variable Los procesos ocupan tanto espacio como necesitan, pero obviamente no deben superar el espacio disponible de memoria. Mediante un algoritmo de administración de memoria las particiones variables varia de forma dinámica durante el uso de la máquina, Evitando desperdicio de memoria. No hay límites fijos de memoria, es decir que la partición de un trabajo es su propio tamaño. Administración de Almacenamiento El sistema operativo proporciona una lista lógica y uniforme del sistema de almacenamiento de la información. El sistema operativo abstrae las propiedades físicas de los dispositivos de almacenamiento y define una unidad de almacenamiento lógico, el archivo. Jerarquía de la Memoria El tiempo de acceso es el tiempo necesario para realizar una operación de lectura/escritura, es decir, el tiempo que transcurre desde el instante en que se pone la dirección en el bus de direcciones hasta que el dato ha sido almacenado en memoria o puesto a disposición de la CPU.
  • 6. 6 SistemasOperativosGestióndeMemoria Interesa que el acceso sea lo más rápido posible, pero además interesa tener la mayor capacidad sin incurrir en un costo excesivo. Por tanto se usan las memorias más rápidas y caras para donde los accesos son más frecuentes, Surge así lo que se llama jerarquía de la memoria y que se establece en base a los tiempo de acceso y capacidad disponible. . 1. Registros del microprocesador 2. Memoria cache 3. Memoria principal 4. Unidades de disco 5. Unidades de cinta u ópticas Los programas y datos tienen que estar en la memoria principal para poder ejecutarse o ser referenciados. Los programas y datos que no son necesarios de inmediato pueden mantenerse en el almacenamiento secundario. Un nivel adicional es el “cache” o memoria Los sistemas con varios niveles de almacenamiento requieren destinar recursos para administrar el movimiento de programas y datos entre niveles De alta velocidad, que posee las siguientes características:  Es más rápida y costosa que la memoria principal.  Impone al sistema un nivel más de traspaso:  Los programas son traspasados de la memoria principal al cache antes de su ejecución.  Los programas en la memoria cache ejecutan mucho más rápido que en la memoria principal.  Estrategias de Administración de Memoria
  • 7. 7 SistemasOperativosGestióndeMemoria Están dirigidas a la obtención del mejor uso posible del recurso del almacenamiento principal. Se dividen en las siguientes categorías:  Estrategias de búsqueda:  Estrategias de búsqueda por demanda.  Estrategias de búsqueda anticipada.  Estrategias de colocación.  Estrategias de reposición. Partición de la Memoria Desde la perspectiva del sistema operativo, cada uno de los espacios asignados a un proceso es una partición. Cuando el sistema operativo inicia, toda la memoria disponible es vista como un sólo bloque, y conforme se van ejecutando procesos, este bloque va siendo subdividido para satisfacer sus requisitos. Al cargar un programa el sistema operativo calcula cuánta memoria va a requerir a lo largo de su vida prevista. Esto incluye el espacio requerido para la asignación dinámica de memoria con la familia de funciones malloc y free.  Partición Estática: en la mayoría de los esquemas de gestión de memoria, el sistema operativo ocupa una parte fija de la memoria principal y que el resto de la memoria está disponible para ser usado por varios procesos. El esquema más sencillo de gestión de la memoria disponible es dividir en regiones con límites fijos- El particionamiento fijo consiste en la asignación estática de la memoria particionada, que es una forma de hacer posible la multiprogramación, dividiendo la memoria física disponible en varias particiones, cada una de las cuales puede ser asignada a diferentes procesos.
  • 8. 8 SistemasOperativosGestióndeMemoria  Partición Dinámica: aquí las particiones son variables en número y longitud. Cuando se carga un proceso en la memoria principal, se le asigna exactamente tanta memoria como necesita y no más. Este método comienza bien, pero desembarca en una situación en la que hay un gran número de huecos pequeños en la memoria. La memoria comienza a estar más fragmentada y su rendimiento decae. Este fenómeno se denomina fragmentación externa y se refiere al hecho que la memoria externa a todas las particiones se fragmenta cada vez más. Ejemplo Supongamos que tenemos una partición estática de una memoria de 4Mb y un SO de 512k, particionado en los siguientes tamaños: 128,256, 512K, 720k, 1Mb, 1.5Mb. Por medio de un diagrama, indique como se representarían estas particiones en memoria. Particiones del Particiones de mismo tamaño distinto tamaño Fragmentación Es un fenómeno que se manifiesta a medida que los procesos terminan su ejecución, y el sistema operativo libera la memoria asignada a cada uno de ellos. Si los procesos se encontraban en regiones de memoria, apartadas entre sí, comienzan a aparecer regiones de memoria disponible, interrumpidas por regiones de memoria usada por los procesos que aún se encuentran activos. S.O 512 K 512 K 512 K 512 K 512 K 512 K S.O 128 K 256 K 512 K 720 K 1 Mb 1.5 Mb
  • 9. 9 SistemasOperativosGestióndeMemoria Si la computadora no tiene hardware específico que permita que los procesos resuelvan sus direcciones en tiempo de ejecución, el sistema operativo no puede reasignar los bloques existentes, y aunque pudiera hacerlo, mover un proceso entero en memoria puede resultar una operación costosa en tiempo de procesamiento. Estrategias de Colocación Al crear un nuevo proceso, el sistema operativo tiene tres estrategias según las cuales podría asignarle uno de los bloques disponibles: Primer ajuste El sistema toma el primer bloque con el tamaño suficiente para alojar el nuevo proceso. Este es el mecanismo más simple de implementar y el de más rápida ejecución. No obstante, esta estrategia puede causar el desperdicio de memoria, si el bloque no es exactamente del tamaño requerido. Mejor ajuste El sistema busca entre todos los bloques disponibles cuál es el que mejor se ajusta al tamaño requerido por el nuevo proceso. . El Primer ajuste y el Mejor ajuste
  • 10. 10 SistemasOperativosGestióndeMemoria Peor ajuste El sistema busca cuál es el bloque más grande disponible, y se lo asigna al nuevo proceso. Empleando una estructura de datos como un montículo, esta operación puede ser incluso más rápida que la de primer ajuste. Con este mecanismo se busca que los bloques que queden después de otorgarlos a un proceso sean tan grandes como sea posible, de cierto modo balanceando su tamaño. Intercambio (swapping) .Que ocurre si la memoria está ocupada totalmente? Intercambiar procesos entre memoria principal y secundaria (un disco rápido que alberga las imágenes de memoria de los procesos de usuario, y suministra acceso directo a esas imágenes). . Aconsejable en sistemas. de tiempo compartido. Usuarios conectados al sistema alternan periodos de trabajo e inactividad. Un proceso se sacara de memoria: Si va a estar cierto tiempo bloqueado Necesitamos compartir CPU y memoria El factor principal en el tiempo de intercambio es el tiempo de transferencia, que es Proporcional a la memoria intercambiada. Se usa en UNIX, Windows, etc
  • 11. 11 SistemasOperativosGestióndeMemoria Ejemplo Considere un sistema de intercambio en el que la memoria contiene los siguientes huecos en orden según su posición en la memoria: 10 KB, 4 KB, 20 KB, 18 KB, 7 KB, 9 KB, 12 KB y 15 KB. Determine cuál hueco se usará si se reciben solicitudes sucesivas pidiendo: 12 KB , 10 KB, 9 KB ¿Si se usa primer ajuste? Repita el problema usando mejor ajuste, peor ajuste y siguiente ajuste. Primer ajuste: El hueco de 20 KB, el hueco de 18 KB y el hueco de 12 KB. Mejor ajuste: El hueco de 20 KB, el hueco de 10 KB y el hueco de 9 KB. Peor ajuste: El hueco de 20 KB, el hueco de 18 KB y el hueco de 15 KB. Siguiente ajuste: El hueco de 20 KB, el hueco de 18 KB y el hueco de 12 KB. La fragmentación externa se produce cuando hay muchos bloques libres entre bloques asignados a procesos. La fragmentación interna: la memoria asignada es mayor que la usada; la diferencia entre ambas es memoria interna a una partición que no se usa. Se produce cuando se asigna memoria en particiones fijas. Por ejemplo, si el sistema operativo maneja bloques de 512 bytes y un proceso requiere sólo 768 bytes para su ejecución, el sistema le entregará dos bloques (1 024 bytes), con lo cual desperdicia 256 bytes. En el peor de los casos, con un bloque de n bytes, un proceso podría solicitar kn + 1 bytes de memoria, desperdiciando por fragmentación interna n � 1 bytes.
  • 12. 12 SistemasOperativosGestióndeMemoria Compresión o Compactación de Almacenamiento Una técnica empleada cuando la memoria está dividida en particiones de tamaño variable. De cuando en cuando, el sistema operativo desplaza las particiones para que queden contiguas y así toda la memoria libre este reunida en un solo bloque. Puede ocurrir que los agujeros (áreas libres) separados distribuidos por todo el almacenamiento principal constituyan una cantidad importante de memoria:  Podría ser suficiente (el total global disponible) para alojar a procesos encolados en espera de memoria.  Podría no ser suficiente ningún área libre individual. La técnica de compresión de memoria implica pasar todas las áreas ocupadas del almacenamiento a uno de los extremos de la memoria principal:  Deja un solo agujero grande de memoria libre contigua.  Esta técnica se denomina “recogida de residuos” Principales desventajas de la compresión  Consume recursos del sistema  El sistema debe detener todo mientras efectúa la compresión, lo que puede afectar los tiempos de respuesta. Implica la relocalización (reubicación) de los procesos que se encuentran en la memoria:  La información de relocalización debe ser de accesibilidad inmediata.  Una alta carga de trabajo significa mayor frecuencia de compresión que incrementa el uso de recursos.
  • 13. 13 SistemasOperativosGestióndeMemoria Administración de Memoria Virtual Gestión de memoria El sistema de memoria virtual de los actuales computadores surgió para liberar al programador de una serie de tareas relacionadas con el uso que los programas debían realizar con la memoria. La memoria virtual automatiza la gestión entre los dos niveles principales de la jerarquía de memoria: memoria principal y disco. Antes de entrar en los mecanismos específicos de la memoria virtual revisaremos una serie de funciones que deben incorporarse en la gestión de memoria.. Solapamiento (overlay) El tamaño de la memoria principal disponible en los computadores ha aumentado de forma sostenida desde sus orígenes. Sin embargo, el tamaño de los programas ha crecido más rápidamente, por lo que la necesidad de ejecutar programas que no cabían en la memoria principal ha sido una constante en la historia de los computadores. Una forma de superar esta limitación es el uso de la técnica de solapamiento (overlay). Esta técnica divide en módulos el programa cuyo tamaño sobrepasa la capacidad de la memoria principal, y que reside por tanto en memoria secundaria (disco). Después se introducen en los lugares adecuados de cada módulo, y al margen de la lógica propia del programa, las instrucciones de E/S necesarias para cargar en memoria principal aquellos módulos cuyas instrucciones deban ejecutarse o cuyos datos vayan a ser referenciados en el inmediato futuro. Es decir, el propio programa se ocupa de cargar por anticipado los módulos que van a ser referenciados. Protección y Reubicación Un papel importante de la gestión de memoria es la protección. Si varios programas comparten la memoria principal debe asegurarse que ninguno de ellos pueda modificar el espacio de memoria de los demás. Como casi todos los lenguajes
  • 14. 14 SistemasOperativosGestióndeMemoria permiten el uso de punteros dinámicos, los test en tiempo de compilación no son suficientes para garantizar la protección. Esta debe mantenerla en tiempo de ejecución el sistema de gestión de memoria (MMU). En sistemas con multiprogramación se necesita que varios programas residan Simultáneamente en memoria. El tiempo de CPU se va distribuyendo entre ellos de acuerdo a una política de prioridades determinada. La ubicación en memoria de los programas no se conoce en tiempo de compilación, por lo que no se pueden generar direcciones absolutas. Para conseguir una asignación dinámica de memoria en tiempo de ejecución se utilizan registros de reubicación. La dirección efectiva se obtiene sumando a la dirección generada por el compilador el contenido del registro de reubicación asignado al programa. .Como aseguramos la protección? Y .Como reubicamos los procesos? Necesitamos dos registros: el registro base y limite. En cada load y store: Reubicación: Direc. Fisica = Direc. Virtual + Reg. Base Protección – comprobar que la dirección cae en el rango [base,limite).
  • 15. 15 SistemasOperativosGestióndeMemoria Registros base y límite Paginación: La paginación tsurgió de la necesidad de mantener más de un programa residente en memoria cuando la capacidad de ésta es inferior a la suma de los tamaños de los programas. Se trata de un mecanismo automático de solapamiento múltiple que practica el Sistema Operativo para hacer posible la multiprogramación. El espacio de memoria principal se divide en bloques de tamaño fijo denominados páginas. Los programas se dividen también en páginas y residen en el disco. El Sistema Operativo se encarga de asignar páginas físicas a los programas en ejecución (multiprogramación). De esta forma el tiempo de CPU puede distribuirse entre los programas residentes. Características  Es una manera de relocalización dinámica  El espacio de direcciones físicas está dividido en zonas de tamaño fìjo llamadas marcos de página  El espacio de direcciones lógico o virtual está formado por zonas de tamaño fijo denominadas páginas
  • 16. 16 SistemasOperativosGestióndeMemoria  La dirección lógica se compone de número de página y desplazamiento dentro de la página  Con el número de página se obtiene una entrada en una tabla de páginas, en donde hay una dirección base de marco de página  La dirección de memoria fisica a la que se accede se obtiene sumando el desplazamiento a la dirección base del marco de página Compartición Esta función parece estar en contradicción con la anterior. Sin embargo, con frecuencia los programas de un sistema multiprogramado deben poder compartir y actualizar información, por ejemplo, un sistema de bases de datos. Además, no es necesario tener varias copias de una rutina si se permite que todos los programas accedan a una misma copia. Memoria virtual El sistema de memoria virtual implementa todas las funciones anteriores de forma integrada. En un computador con memoria virtual las direcciones de los programas (generadas por la CPU) hacen referencia a un espacio mayor que el espacio físico realmente disponible en la memoria principal o memoria física. Los programas operan virtualmente con un tamaño físico de memoria principal mucho mayor que el realmente disponible. En estas máquinas hay que diferenciar, pues, entre el espacio de direcciones virtuales generado por la CPU y el espacio de direcciones físicas o reales existentes en memoria principal y determinado por el número de líneas del bus de direcciones. El espacio virtual se soporta sobre un disco con la ayuda de un mecanismo de traducción que genera la dirección física de memoria principal a partir de la virtual. . Los bits de una Dirección Virtual se consideran divididos en dos campos, el número de página virtual los más significativos, y el desplazamiento dentro de la página, los menos significativos. El número de bits del campo Desplazamiento de Página lo determina el tamaño de página (nº de bits de Desplazamiento Página = log2 tamaño de página). El número de bits del campo número de página virtual lo determina el número de páginas virtuales (nº de bits de Número de página virtual =
  • 17. 17 SistemasOperativosGestióndeMemoria log2 nº de páginas virtuales). Los bits de una Dirección Física se consideran divididos también en dos campos, el número de página física los más significativos, y el desplazamiento dentro de la página los menos significativos. El número de bits del campo Desplazamiento de Página de unas direcciones físicas es el mismo que el de una Dirección Virtual, puesto que las páginas tienen igual tamaño en memoria virtual y Memoria Física. El número de bits del campo número de página física lo determina el número de páginas físicas de Memoria Física (nº de bits de número de páginas físicas = log2 nº de páginas físicas). Para traducir una Dirección Virtual en Dirección Física se busca en la correspondiente entrada de la Tabla de Páginas. Si el bit P de esta entrada vale 1, se dice que ha ocurrido un acierto de página, y se lee el contenido del segundo campo que en los aciertos constituye el Número de Página Física en la memoria principal. La Dirección Física completa se obtiene concatenando los bits de Número de Página Física con los de Desplazamiento dentro de la Página de la Dirección Virtual. Si el bit P de la entrada de la Tabla de Página vale 0, se dice que ha ocurrido un fallo de página, lo que significa que la página virtual donde se ubica la Dirección Virtual que se está traduciendo, no se encuentra en Memoria Física. En este caso el fallo de página se sirve buscado la página en el disco, ubicándola en Memoria Física y actualizando la correspondiente entrada de la Tabla de página. aquí Dirección lógica La MMU descompone las direcciones lógicas que le pasa la CPU en dos campos: Numero de página (p) -se usa como índice para acceder a la p-esima TPE, que nos dará la dirección de la base del marco donde se encuentra la página en memoria. Desplazamiento de página (d) –sumado con la base de página define la dirección física que debe utilizar la MMU para acceder a la instrucción o datos.
  • 19. 19 SistemasOperativosGestióndeMemoria Ejemplo Supongamos un sistema con direcciones de 16 bits donde 7 bits corresponden al número de página y 9 al desplazamiento dentro de la página • Tamaño de página será de 512 bytes • Un proceso referencia la dirección 0x095f (0000 1001 0101 1111) • Esta referencia es a la página 4 desplazamiento 0x15f () • En la entrada correspondiente a la página 4 de la tabla de páginas del proceso nos dirá la dirección de memoria física donde está dicha página • Supongamos que en dicha entrada nos indica que la dirección del marco de memoria física es 0xAE00 (1010 1110 0000 0000) • Entonces la dirección de memoria física a donde realmente se accede es 0xAF5F (1010 11111 0101 1111) Segmentació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. 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.. Un segmento es un espacio lineal de direcciones que puede ser paginado
  • 20. 20 SistemasOperativosGestióndeMemoria Ventajas de la Segmentación  Simplifica la gestión de estructuras variables de datos. Si el programador no conoce a priori el tamaño que puede llegar a tener una estructura de datos particular, no es necesario que lo presuponga. A la estructura de datos se le asigna su propio segmento, y el sistema operativo lo expandirá o lo reducirá según sea necesario.  Permite modificar los programas y recompilarlos independientemente, sin que sea necesario volver a enlazar y cargar el conjunto entero de programas. De nuevo, esto se consigue utilizando varios segmentos.  Permite que varios procesos compartan segmentos. Un programador puede situar un programa correspondiente a una utilidad o una tabla de datos de interés en un segmento, que puede ser direccionado por otros procesos.  Se facilita la protección. Puesto que un segmento se construye para contener un conjunto de programas o datos bien definido, el programador o el administrador del sistema puede asignar privilegios de acceso de forma adecuada.  Trata de resolver los problemas de fragmentación externa e interna, y los elevados tiempos de búsqueda mediante la paginación de los segmentos. Paginación por Demanda. La paginación sobre demanda significa que, para comenzar a ejecutar un proceso, el sistema operativo carga solamente la porción necesaria para comenzar la ejecución (posiblemente una página o ninguna), y que a lo largo de la ejecución, el paginador es flojo: sólo carga a memoria las páginas cuando van a ser utilizadas. Al emplear un paginador flojo, las páginas que no sean requeridas nunca serán siquiera cargadas a memoria. .Las ventajas son: menos E/S. menos memoria, respuesta más rápida, más usuarios. La estructura empleada por la MMU para implementar un paginador flojo es el siguiente: la tabla de páginas incluirá un bit de validez, indicando para cada página del proceso si está presente o no en memoria. Si el proceso intenta emplear una página que esté marcada como no válida, esto causa un fallo de
  • 21. 21 SistemasOperativosGestióndeMemoria página, que lleva a que el sistema operativo lo suspenda y traiga a memoria la página solicitada para luego continuar con su ejecución: Verifica en el PCB si esta solicitud corresponde a una página que ya ha sido asignada a este proceso. En caso de que la referencia sea inválida, se termina el proceso. Fallo de Página  En una falta de página, el SO mira en la tabla que mantiene el espacio de direcciones completo del proceso para decidir si: o La referencia es invalida → aborta proceso  La página no está en memoria, entonces:  Obtiene un marco vacío.  Carga la página dentro del marco.  Pone el bit de validez a 1.  Rearranca la instrucción.  Si la página está en memoria pero la traducción no es válida Þ reasigna la página. Algoritmos de Remplazo de Páginas Cuando se presenta un fallo de página, el sistema operativo tiene que escoger la página que desalojará de la memoria para hacer espacio para colocar la página que traerá del disco. Si la página a desalojar fue modificada mientras estaba en memoria, deberá rescribirse en el disco para actualizar la copia. En cambio, si la página no se ha modificado, no será necesario rescribirla FIFO (First In First Out) Se sustituye la página que lleva más tiempo residente en memoria. Utiliza una cola FIFO y hace un uso pobre de la localidad temporal. Veamos el comportamiento en el siguiente perfil de referencias a páginas: 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2: FIFO: 9 fallos de página 2 3 2 1 5 2 4 5 3 2 5 2 2 2 2 2 5 5 5 5 3 3 3 3
  • 22. 22 SistemasOperativosGestióndeMemoria 3 3 3 3 2 2 2 2 2 5 5 1 1 1 4 4 4 4 4 2 F F - F F F F - F - F F Reloj Es una mejora de la FIFO en la que también se chequea si una página ha sido referenciada, haciendo mejor uso de la localidad temporal. Para implementar esta política se mantiene una cola como en la FIFO, pero circular, con un puntero a la página candidata a ser sustituida, y un flag de uso asociado a cada página. El flag de uso se pone a 1 cuando la página es referenciada con posterioridad a su carga inicial en la memoria física. Al producirse un fallo de página se examina el flag de uso de la página señalada por el puntero de la FIFO. Si está a 0 la correspondiente página es sustituida, pero si vale 1 se borra el flag de uso (se pone a 0) y se avanza el puntero una posición, continuando este procedimiento hasta encontrar una página con el flag de uso a 0. Referencias a páginas: 2, 3, 2, 1, 5, 2, 4, 5, 3, 2, 5, 2: RELOJ: 6 fallos de página 2 3 2 1 5 2 4 5 3 2 5 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 5 5 5 5 5 5 5 5 1 1 1 4 4 3 3 3 3 F F - F F - F - F - - - LRU (Least Recently Used) Reemplaza la página de memoria que no ha sido referenciada desde hace mucho tiempo 7 fallos de página
  • 23. 23 SistemasOperativosGestióndeMemoria 2 3 2 1 5 2 4 5 3 2 5 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 5 5 5 5 5 5 5 5 1 1 1 4 4 4 2 2 2 F F - F F - F - F F - - Optima Se trata de la mejor política posible: sustituir la página que vaya a tardar más tiempo en ser referenciada en el futuro (Belady). Aunque esta política tiene el mínimo número posible de fallos de página (de aquí el nombre de política MIN), no se puede llevar a la práctica en tiempo real, y se utiliza como una referencia teórica para medir la eficiencia de otras políticas en entornos experimentales. 6 fallos de página 2 3 2 1 5 2 4 5 3 2 5 2 2 2 2 2 2 2 4 4 4 2 2 2 3 3 3 3 3 3 3 3 3 3 3 1 5 5 5 5 5 5 5 5 F F - F F - F - F - - Ejercicios Considera un sistema de paginación bajo demanda en el que un proceso que tiene asignados 3 marcos de página genera la siguiente secuencia de referencias a páginas: 2,3,1,2,4,5,2,3,1,5,6,1
  • 24. 24 SistemasOperativosGestióndeMemoria Indica que accesos producirían un fallo de página cuando se utilizan las políticas de reemplazo local FIFO y LRU. Sabemos que este proceso se va a ejecutar muy a menudo en el sistema y nos interesa tener el mejor sistema de paginación para èl. ¿Valdría la pena aumentar el número de marcos de página asignados al proceso hasta 4 para alguna de estas dos políticas? Indica el número de fallos de página que se producirían en esta nueva situación para cada algoritmo. Solución FIFO: 10 fallos de página 2 3 1 2 4 5 2 3 1 5 6 1 2 2 2 2 4 4 4 3 3 3 6 6 3 3 3 3 5 5 5 1 1 1 1 1 1 1 1 2 2 2 5 5 5 F F F - F F F F F F F - • LRU: 9 fallos de página 2 3 1 2 4 5 2 3 1 5 6 1 2 2 2 2 2 2 2 2 2 5 5 5 3 3 3 4 4 4 3 3 3 6 6 1 1 1 5 5 5 1 1 1 1 F F F - F F - F F F F - Con 4 marcos: FIFO: 9 fallos de página
  • 25. 25 SistemasOperativosGestióndeMemoria 2 3 1 2 4 5 2 3 1 5 6 1 2 2 2 2 2 5 5 5 5 5 6 6 3 3 3 3 3 2 2 2 2 2 2 1 1 1 1 1 3 3 3 3 3 4 4 4 4 1 1 1 1 F F F - F F F F F - F - • LRU: 8 fallos de página 2 3 1 2 4 5 2 3 1 5 6 1 2 2 2 2 2 2 2 2 2 2 6 6 3 3 3 3 5 5 5 5 5 5 5 1 1 1 1 1 3 3 3 3 3 4 4 4 4 1 1 1 1 F F F - F F F F - F - Para ambas políticas se reduce el número de fallos de página al aumentar el número de marcos a 4. 2. Considera un sistema de paginación bajo demanda en el que un proceso que tiene asignados 4 marcos de página genera la siguiente secuencia de referencias a pàginas:4,2,4,1,6,3,2,5,6,4,1,3,5,3 Indica que accesos producirían un fallo de página cuando se utiliza cada una de las políticas de reemplazo local FIFO, LRU y óptima. Número de marcos a 4. Solución FIFO: 8 fallos de página 4 2 4 1 6 3 2 5 6 4 1 3 5 3
  • 26. 26 SistemasOperativosGestióndeMemoria 4 4 4 4 4 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 5 5 5 5 5 5 5 1 1 1 1 1 1 4 4 4 4 4 6 6 6 6 6 6 1 1 1 1 F F - F F F - F - F F - - - LRU: 11 fallos de página 4 2 4 1 6 3 2 5 6 4 1 3 5 3 4 4 4 4 4 4 2 2 2 2 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 4 1 1 1 1 5 5 5 5 3 3 3 6 6 6 6 6 6 6 6 5 5 F F - F F F F F - F F F F - • Óptimo: 7 fallos de pagina 4 2 4 1 6 3 2 5 6 4 1 3 5 3 4 4 4 4 4 4 4 4 4 4 1 1 1 1 2 2 2 2 2 2 5 5 5 5 5 5 5 1 1 1 1 1 1 1 1 3 3 3 6 6 6 6 6 6 6 6 6 6 F F - F F F F F - F F F F - Segmentación Paginada y Paginación Segmentada
  • 27. 27 SistemasOperativosGestióndeMemoria 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 Direcciones virtuales a Direcciones Físicas, no es más que la composición del mecanismo de la memoria segmentada y el de la paginada. BIBLIOGRAFÍA Carretero Pérez, Jesús y otros. Sistemas operativos: una visión aplicada. Primera Edición, Editorial McGraw Hill, España, 2001.