UNIDAD 3 - SistemasOperativosVItst2

Anuncio
UNIDAD 3
“ADMINISTRACION DE MEMORIA”
Presentación………………………………………………………………
2
3.1
Política Filosofía Administración Memoria …………………………….
3
3.2
Memoria Real……………………………………………………………..
4
3.2.1 Administración Almacenamiento……………………………………….
4
3.2.2 Jerarquía Memoria ………………………………………………………
4
3.2.3 Estrategia Administración de memoria.………………………………..
6
3.2.4 Asignación Contigua vs no contigua …………………………………..
7
3.2.5 Multiprogramación Partición Fija partición variable con intercambio
de almacenamiento………………………………………………………
9
Organización Memoria Virtual ………………………………………….
17
3.3.1 Evaluación Organizaciones Almacenamiento………………………...
17
3.3.2 Paginación ………………………………………………………………..
18
3.3.3 Segmentación ……………………………………………………………
18
3.3.4 Sistemas Paginación Segmentación ………………………………….
18
Administración Memoria Virtual ………………………………………..
19
3.4.1 Estrategias Administración Memoria Virtual ………………………….
20
3.4.2 Técnicas Reemplazo de Paginas ……………………………………...
20
3.4.3 Paginación por Demanda ………………………………………………
21
3.4.4 Paginación Anticipada …………………………………………………..
22
3.4.5 Liberación de Pagina ……………………………………………………
24
3.4.6 Tamaño de Pagina……………………………………………………….
24
3.3
3.4
Bibliografía…………………………………………………………………. 25
1
PRESENTACIÓN
La siguiente recopilación es referente a la unidad 3 de la materia de
sistemas operativos en la que hablara sobre el tercer componente de un
sistema operativo que es la “Administración de memoria” o “Gestión de
Memoria”
Se estará hablando sobre la memoria virtual, funciones de la memoria
los mecanismos de asignación, paginación, segmentación y diferentes
conceptos a lo largo de la unidad que se necesitan saber sobre la
administración de memoria para su mejor comprensión.
2
3.1 POLÍTICA FILOSOFÍA ADMINISTRACIÓN MEMORIA
La organización y administración de la “memoria principal”, “memoria
primaria” o “memoria real” de un sistema ha sido y es uno de los factores más
importantes en el diseño de los S. O.
Los términos “memoria” y “almacenamiento” se consideran equivalentes.
Los programas y datos deben estar en el almacenamiento principal para:


Poderlos ejecutar.
Referenciarlos directamente
La memoria principal es el lugar donde la CPU lee
ejecutar, así como algunos datos a emplear.
las instrucciones a
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.
Un mecanismo de asignación determina la
(particiones) que serán administrados en la memoria.
cantidad
de bloques
Existen 3 mecanismos de asignación:
1. ASIGNACION DE UNA PARTICION. En la memoria se considera la
existencia de una sola partición, esto es, se tiene la capacidad de ejecutar un
proceso. La partición es toda la memoria, cuya administración corre por cuenta
del usuario, o sea, no hay un sistema operativo.
2. ASIGNACION DE DOS PARTICIONES. La memoria se divide en 2
bloques. En una partición se carga el Sistema Operativo y en la otra el
programa del usuario. Es el concepto de Sistema Operativo Monousuario.
3. ASIGNACION DE MULTIPLES PARTICIONES. La memoria es dividida en
varias particiones una para el Sistema Operativo y las demás para los procesos
de usuarios u otras funciones especiales del Sistema Operativo. Este es el
concepto teórico de asignación memoria en los Sistemas Operativos de
Multiparticiones y de Multitarea.
ESTRATEGIAS DE ASIGNACION.
Una estrategia de asignación de memoria determina el lugar donde será
cargado
un
nuevo
proceso
en
base
a
un
criterio.
Las estrategias de asignación son:
1. PRIMER AJUSTE. El Sistema Operativo asigna el primer bloque de
memoria libre con espacio suficiente para satisfacer la información. La
Búsqueda de este bloque es de manera = secuencial.
3
2. MEJOR AJUSTE. El sistema operativo busca el bloque de memoria que
represente el menor desperdicio según el requerimiento.
3. PEOR AJUSTE. El sistema operativo asigna el bloque más grande que
encuentre.
3.2 MEMORIA REAL
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.
3.2.1 ADMINISTRACIÓN ALMACENAMIENTO
La parte del sistema operativo que administra la memoria se llama
administrador de la memoria.
Para ello existen diferentes esquemas de administración de memoria desde
los más simples hasta los más elaborados entre los cuales se ubican:
















Administración de la memoria sin intercambio o paginación.
Monopogramación sin intercambio o paginación.
Multiprogramación y uso de la memoria.
Multiprogramación con particiones fijas.
Intercambio.
Multiprogramación con particiones variables.
Memoria Virtual.
Paginación.
Algoritmos de reemplazo de páginas.
Algoritmo de reemplazo de páginas optimo.
Algoritmo de página de uso no muy reciente.
Algoritmo de reemplazo “ primero en entrar, primero en salir
FIFO”
Algoritmo de reemplazo de páginas de la segunda oportunidad.
Algoritmo de reemplazo de páginas del reloj.
Segmentación
3.2.2 JERARQUÍA MEMORIA
Se conoce como jerarquía de memoria a la organización piramidal de la
memoria en niveles, que tienen los ordenadores. Su objetivo es conseguir el
rendimiento de una memoria de gran velocidad al coste de una memoria de
baja velocidad, basándose en el principio de cercanía de referencias.
4
Los puntos básicos relacionados con la memoria pueden resumirse en:



Cantidad
Velocidad
Costo
La cuestión de la cantidad es simple, cuanto más memoria haya disponible,
más podrá utilizarse. La velocidad óptima para la memoria es la velocidad a la
que el procesador puede trabajar, de modo que no haya tiempos de espera
entre cálculo y cálculo, utilizados para traer operandos o guardar resultados.
Como puede esperarse los tres factores compiten entre sí, por lo que hay
que encontrar un equilibrio. Las siguientes afirmaciones son válidas:



A menor tiempo de acceso mayor coste
A mayor capacidad mayor coste
A mayor capacidad menor velocidad
Los niveles que componen la jerarquía de memoria habitualmente son:





Nivel 0: Registros
Nivel 1: Memoria caché
Nivel 2: Memoria principal
Nivel 3: Disco duro (con el mecanismo de memoria virtual)
Nivel 4: Redes(Actualmente se considera un nivel más de la jerarquía de
memorias).
5
3.2.3 ESTRATEGIA ADMINISTRACIÓN DE MEMORIA
Están dirigidas a la obtención del mejor uso posible del recurso del
almacenamiento principal [7, Deitel].
Se dividen en las siguientes categorías:



Estrategias de búsqueda:
o Estrategias de búsqueda por demanda.
o Estrategias de búsqueda anticipada.
Estrategias de colocación.
Estrategias de reposición.
Las “estrategias de búsqueda” están relacionadas con el hecho de cuándo
obtener el siguiente fragmento de programa o de datos para su inserción en la
memoria principal.
En la “búsqueda por demanda” el siguiente fragmento de programa o de
datos se carga al almacenamiento principal cuando algún programa en
ejecución lo referencia.
Se considera que la “búsqueda anticipada” puede producir un mejor
rendimiento del sistema.
Las “estrategias de colocación” están relacionadas con la determinación del
lugar de la memoria donde se colocará (cargará) un programa nuevo.
6
Las “estrategias de reposición” están relacionadas con la determinación de
qué fragmento de programa o de datos desplazar para dar lugar a los
programas nuevos.
3.2.4 ASIGNACIÓN CONTIGUA VS NO CONTIGUA
En la “asignación contigua” cada programa ocupa un bloque contiguo y sencillo
de localizaciones de almacenamiento.
En la “asignación no contigua” un programa se divide en varios bloques o
“segmentos” que pueden almacenarse en direcciones que no tienen que ser
necesariamente adyacentes, por lo que es más compleja pero más eficiente
que la asignación continua.
Asignación Contigua de Almacenamiento de Un Solo Usuario
Se consideran S. O. que ya poseen desarrollado el “sistema de control de
entrada / salida”: IOCS: input / output control system (ver Figura 3.2 [7, Deitel]).
El tamaño de los programas está limitado por la cantidad de memoria principal,
pero se puede superar este límite con técnicas de “recubrimientos”, con las
siguientes características (ver Figura 3.3 [7, Deitel]):


Si una sección particular del programa ya no es necesaria, se carga otra
sección desde el almacenamiento secundario ocupando las áreas de
memoria liberadas por la sección que ya no se necesita.
La administración manual por programa del recubrimiento es complicada
y dificulta el desarrollo y el mantenimiento.
7
Protección en los sistemas de un solo usuario
El usuario tiene un completo control sobre la totalidad del almacenamiento
principal:



El almacenamiento se divide en porciones que contienen el S. O., el
programa del usuario y una porción sin usar.
El programa del usuario podría destruir áreas del S. O. que podrían:
o Detener el sistema.
o Producir salidas erróneas.
El S. O. debe estar protegido contra el proceso usuario:
o La protección se instrumenta mediante un “registro de límites”
incorporado a la cpu:
 Contiene la dirección de la instrucción más alta utilizada
por el S. O.
 Si se intenta ingresar al S. O. la instrucción es interceptada
y el proceso finaliza.
Procesamiento por lotes de flujo único
Los sistemas de un solo usuario se dedican a un trabajo durante más tiempo
del que toma su ejecución.
Los trabajos requieren de:

“tiempo de instalación”: el necesario para preparar el entorno operativo
requerido.
8

“tiempo de descarga”: el necesario para desmontar el entorno operativo
que fue requerido.
Durante la instalación y descarga de los trabajos la cpu no está ejecutando
dichos trabajos requeridos, por lo cual:


Automatizar la “transición de trabajo a trabajo” reduce la cantidad de
tiempo perdido entre trabajos.
Surgieron los sistemas de “procesamiento por lotes”.
En el “procesamiento por lotes de flujo único” los trabajos se agrupan en “lotes”
encolándose para su ejecución.
El “procesador de flujos de trabajos”:





Lee las instrucciones del “lenguaje de control de trabajos”.
Facilita la preparación del trabajo siguiente.
Emite instrucciones al operador del sistema.
Automatiza funciones anteriormente manuales.
Cuando finaliza un trabajo efectúa las “operaciones de mantenimiento”
apropiadas para facilitar la transición del siguiente trabajo.
3.2.5 MULTIPROGRAMACIÓN PARTICIÓN FIJA PARTICIÓN
VARIABLE CON INTERCAMBIO DE ALMACENAMIENTO
Multiprogramación de Partición Fija
Los sistemas de un solo usuario desperdician gran cantidad de recursos
computacionales debido a que [7, Deitel] (ver Figura 3.4 [7, Deitel]):


Cuando ocurre una petición de e / s la cpu normalmente no puede
continuar el proceso hasta que concluya la operación de e / s 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.
9
Los sistemas de “multiprogramación” permiten que varios procesos usuarios
compitan al mismo tiempo por los recursos del sistema:




Un trabajo en espera de e / s cederá la cpu a otro trabajo que esté listo
para efectuar cómputos.
Existe paralelismo entre el procesamiento y la e / s.
Se incrementa la utilización de la cpu y la capacidad global de ejecución
del sistema.
Es necesario que varios trabajos residan a la vez en la memoria
principal.
Multiprogramación de Partición Fija: Traducción y Carga Absolutas
Las “particiones” del almacenamiento principal:



Son de tamaño fijo.
Alojan un proceso cada una.
La cpu se cambia rápidamente entre los procesos creando la ilusión de
simultaneidad.
Los trabajos se traducían con ensambladores y compiladores absolutos para
ser ejecutados solo dentro de una partición específica (ver Figura 3.5 [7,
Deitel]).
10
El S. O. resulta de implementación relativamente sencilla pero no se optimiza la
utilización de la memoria.
Multiprogramación de Partición Fija: Traducción y Carga Relocalizables
Los compiladores, ensambladores y cargadores de relocalización:




Se usan para producir programas relocalizables que puedan ser
ejecutados en cualquier partición disponible de tamaño suficiente para
aceptarlos (ver Figura 3.6 [7, Deitel]).
Son más complejos que los absolutos.
Mejoran la utilización del almacenamiento.
Confieren más flexibilidad en el armado de la carga de procesos.
Protección en los Sistemas de Multiprogramación
11
Si se utiliza asignación contigua de memoria la protección suele implementarse
con varios “registros de límites” (ver Figura 3.7 y Figura 3.8 [7, Deitel]).
Los extremos superior e inferior de una partición pueden ser:


Delineados con dos registros.
Indicados el límite inferior o superior y el tamaño de la partición o región.
Fragmentación en la Multiprogramación de Partición Fija
La “fragmentación de almacenamiento” ocurre en todos los sistemas
independientemente de su organización de memoria.
En los S. O. de multiprogramación de partición fija la fragmentación se produce
cuando:
12


Los trabajos del usuario no llenan completamente sus particiones
designadas.
Una partición permanece sin usar porque es demasiado pequeña para
alojar un trabajo que está en espera.
Multiprogramación de Partición Variable
Los procesos ocupan tanto espacio como necesitan, pero obviamente no
deben superar el espacio disponible de memoria [7, Deitel] (ver Figura 3.9 [7,
Deitel]).
No hay límites fijos de memoria, es decir que la partición de un trabajo es su
propio tamaño.
Se consideran “esquemas de asignación contigua”, dado que un programa
debe ocupar posiciones adyacentes de almacenamiento.
Los procesos que terminan dejan disponibles espacios de memoria principal
llamados “agujeros”:


Pueden ser usados por otros trabajos que cuando finalizan dejan otros
“agujeros” menores.
En sucesivos pasos los “agujeros” son cada vez más numerosos pero
más pequeños, por lo que se genera un desperdicio de memoria
principal.
Combinación de agujeros (áreas libres)
13
Consiste en fusionar agujeros adyacentes para formar uno sencillo más
grande.
Se puede hacer cuando un trabajo termina y el almacenamiento que libera
tiene límites con otros agujeros.
Compresión o Compactación de Almacenamiento
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 (ver Figura 3.10 [7,
Deitel]).
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” (ver Figura 3.11 [7,
Deitel]).
14
Principales desventajas de la compresión
Consume recursos del sistema (ver Figura 3.12 [7, Deitel]).
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:
15

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.
Estrategias de Colocación del Almacenamiento
Se utilizan para determinar el lugar de la memoria donde serán colocados los
programas y datos que van llegando y se las clasifica de la siguiente manera:



“Estrategia de mejor ajuste”:
o Un trabajo nuevo es colocado en el agujero en el cual quepa de
forma más ajustada:
 Debe dejarse el menor espacio sin usar.
“Estrategia de primer ajuste”:
o Un trabajo nuevo es colocado en el primer agujero disponible con
tamaño suficiente para alojarlo.
“Estrategia de peor ajuste”:
o Consiste en colocar un programa en el agujero en el que quepa
de la peor manera, es decir en el más grande posible:
 El agujero restante es también grande para poder alojar a
un
nuevo
programa
relativamente
grande.
Multiprogramación con Intercambio de Almacenamiento
En el esquema de “intercambio” los programas del usuario no requieren
permanecer en la memoria principal hasta su terminación [7, Deitel].
Una variante consiste en que un trabajo se ejecuta hasta que ya no puede
continuar:



Cede el almacenamiento y la cpu al siguiente trabajo.
La totalidad del almacenamiento se dedica a un trabajo durante un breve
período de tiempo.
Los trabajos son “intercambiados”, dándose que un trabajo puede ser
intercambiado varias veces antes de llegar a su terminación.
Es un esquema razonable y eficiente para un número relativamente reducido
de procesos de usuarios.
Los sistemas de intercambio fueron los predecesores de los sistemas de
paginación.
El rendimiento de los sistemas de intercambio mejora al reducir el tiempo de
intercambio:

Manteniendo al mismo tiempo varias “imágenes de usuario o imágenes
de memoria” en la memoria principal.
16


Retirando una imagen de usuario de la memoria principal solo cuando es
necesario su almacenamiento para una nueva imagen.
Incrementando la cantidad de memoria principal disponible en el
sistema.
Las imágenes de usuario (imágenes de memoria) retiradas del almacenamiento
principal se graban en el almacenamiento secundario (discos).
3.3 ORGANIZACIÓN MEMORIA VIRTUAL
¿Qué es la memoria virtual?
Gestión automática del almacenamiento, que determina: que almacenar en
memoria principal, donde almacenarlo y cuando cargarlo/descargarlo.
MV simplifica la programación
Elimina la necesidad de gestión manual.
Maneja las ligaduras.
Gestiona la compartición de memoria.
Abstrae los detalles de memoria física.
MV es el gestor de la memoria principal
“Almacenamiento virtual” significa la capacidad de direccionar un espacio de
almacenamiento mucho mayor que el disponible en el almacenamiento primario
de determinado sistema de computación.
Esta tecnología apareció en 1960 en la Universidad de Manchester (Inglaterra),
en el sistema “Atlas”.
Métodos comunes de implementación
Técnicas de “paginación”.
Técnicas de “segmentación”.
Una combinación de ambas técnicas.
17
3.3.1 EVALUACIÓN ORGANIZACIONES ALMACENAMIENTO
Permite que el espacio de direcciones virtuales de un usuario sea mayor
que el espacio de direcciones reales.
Se utiliza un esquema de almacenamiento de dos niveles:
PRIMER NIVEL:
Almacenamiento real: En él se ejecutan los procesos y en él deben estar
los datos para que un proceso pueda referirse a ellos.
SEGUNDO NIVEL
Almacenamiento Auxiliar, Secundario o adicional:
Generalmente consta de discos de gran capacidad que pueden
mantener los programas y datos que no caben al mismo tiempo en el más
limitado almacenamiento real.
3.3.2 PAGINACIÓN
 Consiste en considerar el espacio de direcciones lógicas de cada
proceso como un conjunto de bloques de tamaño consistente llamados
paginas.
 Los sistemas de paginación son los utilizados para dividir los programas
en páginas y así poder utilizar programas de mayor tamaño que la
memoria principal.
LA FRAGMENTACIÓN
Es generada cuando durante el reemplazo de procesos quedan huecos
entre dos o más procesos de manera no continua y cada hueco no es capaz de
soportar ningún proceso de la lista de espera.
3.3.3 SEGMENTACIÓN
La segmentación es un esquema de administración de la memoria que
soporta la visión que el usuario tiene de la misma.
También facilita el uso de procedimientos o datos compartidos entre
varios procesos. Un ejemplo común son las bibliotecas compartidas.
SEGMENTACIÓN PURA
La implantación de la segmentación difiere del caso de la paginación en
un sentido esencial: las páginas tienen un tamaño fijo y los segmentos no.
18
3.3.4.- SISTEMAS DE PAGINACIÓN SEGMENTACIÓN.
•
Ofrecen las ventajas de las dos técnicas de organización del
almacenamiento virtual.
•
El tamaño de los segmentos es múltiplo del de las páginas.
•
No es necesario que todas las páginas de un segmento se encuentren al
mismo tiempo en el almacenamiento primario.
•
Las páginas de almacenamiento virtual, que son contiguas en este
almacenamiento, no necesitan ser contiguas en el almacenamiento real.
•
El direccionamiento es tridimensional
almacenamiento virtual “v = (s,p,d)”:
•
“s” es el número del segmento.
•
“p” es el número de página.
•
“d” es el desplazamiento en la página donde se encuentra asignado el
elemento deseado.
con
una
dirección
de
19
3.4.- ADMINISTRACIÓN DE MEMORIA VIRTUAL
Las diferentes organizaciones de almacenamiento virtual generalmente
implementadas son:



Paginación.
Segmentación.
Segmentación y paginación.
3.4.1 ESTRATEGIAS DE ADMINISTRACIÓN.
Las estrategias para la administración de sistemas de almacenamiento
virtual condicionan la conducta de los sistemas de almacenamiento virtual que
operan según esas estrategias.
Se consideran las siguientes estrategias:
“Estrategias de búsqueda”:
Tratan de los casos en que una página o segmento deben ser traídos del
almacenamiento secundario al primario.
Las estrategias de “búsqueda por demanda” esperan a que se haga
referencia a una página o segmento por un proceso antes de traerlos al
almacenamiento primario.
Los esquemas de “búsqueda anticipada” intentan determinar por
adelantado a qué páginas o segmentos hará referencia un proceso para
traerlos al almacenamiento primario antes de ser explícitamente referenciados.
“Estrategias de colocación”:
Tratan del lugar del almacenamiento primario donde se colocará una
nueva página o segmento.
Los sistemas toman las decisiones de colocación de una forma trivial ya
que una nueva página puede ser colocada dentro de cualquier marco de
página disponible.
“Estrategias de reposición”:
Tratan de la decisión de cuál página o segmento desplazar para hacer
sitio a una nueva página o segmento cuando el almacenamiento primario está
completamente comprometido
20
3.4.2 TÉCNICAS REEMPLAZO DE PÁGINAS
 ESTRATEGIAS DE REEMPLAZO DE PÁGINA:
1. Reemplazo de Páginas aleatorio: Es una técnica sencilla. Todas las
páginas que se encuentran en el almacenamiento principal tienen la
misma probabilidad de ser elegidas para el reemplazo. Esta estrategia
podría seleccionar cualquier página para ser reemplazada, incluyendo la
siguiente página la que se hará referencia. Las decisiones de reemplazo
aleatorio se de páginas se pueden tomar rápidamente y con un número
significativo de marcos de página. Es un esquema que casi no se utiliza
por su enfoque aleatorio de acertar o errar.
2. Reemplazo de páginas de primeras entradas-primeras salidas
(PEPS): Cada página se registra en el instante que entró en el
almacenamiento primario. Cuando se necesita reemplazar una página,
se escoge la que ha permanecido en el almacenamiento durante el
mayor tiempo
3. Reemplazo de páginas del menos reciente utilizada: Se selecciona
para su reemplazo, a aquella página que no se ha sido utilizada durante
mayor tiempo. La estrategia se basa en que la heurística de localidad
según en el cual el pasado reciente es un buen indicador del futuro
cercano, de modo que LRU exige que se marque cada página con el
instante en que .se hace referencia a ella.
 Reemplazo de páginas de la menos frecuentemente utilizada (LFU): La
página por remplazar es aquella que ha sido utilizada menos
frecuentemente o a la que se ha hecho referencia con menos frecuencia.
 Reemplazo de páginas de la no utilizada recientemente (NUR): Como es
deseable reemplazar una página que no estaba en el almacenamiento
primario, la estrategia NUR se lleva a la práctica con la adición dedos
bits de hardware por página. Esos bits son:
3.4.3 PAGINACIÓN POR DEMANDA
El camino que toma un programa cuando se está ejecutando no es
predecible:
Se cargan las páginas a medida que se necesitan.
21
Ventajas:
 Las páginas traídas son las que realmente se necesitan.
 La sobrecarga que implica la decisión de qué páginas traer al
almacenamiento principal es mínima.
 El camino que tomará la ejecución de un programa no se puede predecir
con exactitud.
 Se garantiza que las páginas que se llevan a la memoria principal son
realmente las únicas que los procesos necesitan
 La sobrecarga es inexistente.
Desventajas:
El proceso debe esperar a que se transfiera a la memoria principal una a
una cada página nueva que referencia.
3.4.4 PAGINACIÓN ANTICIPADA
Trata de evitar los retardos por fallos de página:
Se cargan un cierto número de páginas en base a una predicción
Ventajas:
22
 Si la predicción es buena, el tiempo de ejecución de los procesos se
reduce considerablemente.
 Con la reducción de costes del hardware, las consecuencias de una
mala predicción son menos graves.
PAGINACIÓN POR DEMANDA FRENTE A ANTICIPADA
Las ventajas de la paginación por demanda son:
» Se garantiza que en MP solo están las páginas necesarias en cada
momento.
» La sobrecarga de decidir qué páginas llevar a MP es mínima.
Las ventajas de la paginación anticipada son:
» Se puede optimizar el tiempo de respuesta para un proceso pero los
algoritmos son más complejos y se consumen más recursos.
Es necesario cuando se produce un fallo de página y está toda la
memoria llena.
REEMPLAZO DE PÁGINAS
Algoritmos de reemplazo de páginas
Se pretende utilizar el algoritmo que seleccione páginas que causen la
frecuencia de fallos más baja.
Existen diferentes algoritmos, entre ellos:



Algoritmo óptimo
Algoritmo FIFO
Algoritmo LRU
ALGORITMO ÓPTIMO



Se reemplaza la página que va a tardar más tiempo en ser usada.
La tasa de fallos es la más baja posible.
Algoritmo imposible de realizar.
ALGORITMO FIFO


Algoritmo sencillo de entender e implementar
Inconvenientes:
 Rendimiento del algoritmo pobre. Páginas frecuentemente usadas
pueden ser sustituidas.
23
 Se puede producir la Anomalía de Belady: aumento del número
de fallos de página al aumentar el número de marcos.
ALGORITMO LRU (LEAST RECENTLY USED)





Algoritmo de aproximación al reemplazo óptimo.
Basado en utilizar el pasado reciente como una predicción del futuro
más próximo.
Sustituye la página menos usada en el pasado inmediato.
Carece de la anomalía de Belady.
La implementación requiere de hardware adicional:
 Campo en las entradas de la tabla de páginas.
 Pila de las páginas en memoria.
3.4.5 LIBERACIÓN DE PÁGINA
Los programas que ya no requieran páginas específicas deberán desechar
tales páginas de sus conjuntos de trabajo.
Por lo regular hay un tiempo durante el cual permanecen en el
almacenamiento principal en las páginas que ya no se requieran.
Cuando es evidente que ya no será necesaria una página, un usuario podrá
dar una orden de "liberación voluntaria de página" para liberar el marco de
página.
Esto eliminaría el retraso que implica dejar que el proceso deseche poco a
poco la página de su conjunto de trabajo.
3.4.6 TAMAÑO DE PÁGINA
Cuantas más pequeñas
 Aumento del tamaño de las tablas de páginas
 Aumento del nº de transferencia MP↔ Disco
 Reducen la fragmentación interna
Cuanto más grandes
 Grandes cantidades de información que no serán usadas están
ocupando MP
 Aumenta la fragmentación interna
Búsqueda de un equilibrio
Debido a que las transferencias de e/s del disco (paginación) consumen
bastante tiempo, se debe minimizar la paginación que un proceso requiera:
24
Esto indica la necesidad de páginas grandes.
Los procedimientos y datos rara vez comprenden un número entero de
páginas, por lo que los sistemas de paginación experimentan una
“fragmentación interna”.
25
BIBLIOGRAFIA
http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO3.htm#I
AR
Autor: [email protected]
Ó FACENA - http://exa.unne.edu.ar
Servicios WEB: [email protected]
http://sistemas.itlp.edu.mx/tutoriales/sistemasoperativos2/unidad1.htm
http://apuntes.rincondelvago.com/administracion-de-memoria-en-sistemaoperativo.html
http://www.mitecnologico.com/Main/AdministracionDeMemoriahttp.//www.ADMI
NISTRACIÓN DE MEMORIA.mht
"Operating Systems Concepts", 5ta Edición. Silberschatz & Galvin, ( Capitulos
8 y 9).
Apuntes de Clases del Prof. Andrew Faggs.
2003 (C)Matías Alejo García, [email protected], http://os.matiu.com.ar
26
Descargar