SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
John Forero
Miryam Molina
Tatiana Roa
William BonillaDocente Oscar Mendoza
ECCI
Escuela Colombiana de Carreras
Industriales
Tecnología en desarrollo informático
Grupo 4AN
Sistemas Operativos
PARA LA GESTION DE MEMORIA
Es una técnica para proporcionar la
simulación de un espacio de
memoria mucho mayor que la
memoria física de una máquina. Esta
"ilusión" permite que los programas
se ejecuten sin tener en cuenta el
tamaño exacto de la memoria física
La ilusión de la memoria virtual está
soportada por el mecanismo de
traducción de memoria, junto con
una gran cantidad de
almacenamiento rápido en disco
duro. Así en cualquier momento el
espacio de direcciones virtual hace
un seguimiento de tal forma que una
pequeña parte de él, está en
memoria real y el resto almacenado
en el disco, y puede ser referenciado
fácilmente.
Debido a que sólo la parte de
memoria virtual que está
almacenada en la memoria principal,
es accesible a la CPU, según un
programa va ejecutándose, la
proximidad de referencias a
memoria cambia, necesitando que
algunas partes de la memoria virtual
se traigan a la memoria principal
desde el disco, mientras que otras ya
ejecutadas, se pueden volver a
depositar en el disco (archivos de
paginación).
,
La memoria es uno de los recursos más importantes de la
computadora y, en consecuencia, la parte del sistema operativo
responsable de tratar con este recurso, el gestor de memoria, es
un componente básico del mismo
El gestor de memoria del sistema operativo debe hacer de puente
entre los requisitos de las aplicaciones y los mecanismos que
proporciona el hardware de gestión de memoria. Se trata de una
de las partes del sistema operativo que está más ligada al
hardware
Las necesidades del sistema operativo han obligado a los
diseñadores del hardware a incluir nuevos mecanismos que, a su
vez, han posibilitado el uso de nuevos esquemas de gestión de
memoria
De hecho, la frontera entre la labor que realiza el hardware y la
que hace el software de gestión de memoria es difusa y ha ido
también evolucionando
Empleo de técnica de memoria
virtual (depende de la plataforma
de hardware)
Uso de paginación y/o
segmentación (depende de la
plataforma de hardware
,
Los algoritmos empleados para
diversos problemas de la gestión
de memoria (entran en el dominio
del so; El punto clave de los
algoritmos es el rendimiento ,
minimizando fallos de pagina )
Áreas
fundamentales en
el diseño del
gestor de memoria
En un sistema con memoria virtual, hay que establecer las
reglas para gestionar el intercambio de páginas o segmentos
entre la memoria principal y la secundaria
La carga de programas y su ubicación. Hay que establecer
la correspondencia entre las direcciones lógicas del
programa y su ubicación física en memoria
La presencia simultánea de más de un programa en
memoria.
La compartición de espacios de memoria por varios
programas.
La ejecución de programas que no caben completos en
memoria.
La gestión eficiente del espacio de memoria libre.
En los sistemas operativos modernos la gestión de memoria resuelve
aspectos como:
FETCH
PAGINACION BAJO DEMANDA:
Una pagina se lleva a MP solo
cuando produce una fallo de
referencia
PAGINACION PREVIA
Cuando la pagina p produce
un fallo de referencia, se
llevan a memoria las p y p+1.
Decisión del momento en el
que se debe cargar una pagina
en memoria principal
Se trae una pagina a MP solo
cuando se hace referencia a una
posición de dicha pagina Si los
otros elementos de la política de
gestión de memoria funcionan
adecuadamente debe ocurrir lo
siguiente :
Cuando un proceso se
ejecute por primera vez ,
se produce un aluvión de
fallos de pagina
A medida que se traigan a memoria
mas paginas, el principio de cercanía
hará que la mayoría de las futuras
referencias estén en paginas que han
cargado hace poco
después de un tiempo la
situación se estabilizara y el
numero de fallos de pagina
disminuirán hasta un nivel muy
bajo
Si las paginas de
un proceso se
cargan
secuencialmente
en memoria
secundaria
es mas eficiente
traer a memoria
un numero de
paginas contiguas
de una vez que ir
trayéndolas de
una durante un
periodo largo de
tiempo
Se cargan otras
paginas distintas
a las demandadas
debido a un fallo
de pagina
La paginación previa no debe confundirse con el intercambio; cuando un
proceso se descargar de memoria y pasa al estado suspendido, todas sus
paginas residentes se lleven también fuera; cuando se reanuda el proceso,
todas las paginas que estaban antes en memoria principal se devuelven a las
misma, esta política es la seguida por la mayoría de los sistemas operativos
Las tres políticas de ubicación
de segmentos más utilizadas
son Mejor ajuste, primer
ajuste, peor ajuste
Se identifican los espacios de
memoria principal por su
tamaño (longitud) y dirección
inicial, y se reúnen en una
lista. La política de ubicación
determinará la ordenación
previa de la lista.
Una vez que se decide el
espacio donde se ubica el
segmento, se actualiza la lista
de espacios con el que se
acaba de crear (a no ser que el
segmento mida exactamente
igual que el espacio de
memoria utilizado)
Determinar donde se va
ubicar una parte del proceso
en memoria principal, en un
sistema de segmentación
puro
La lista de espacios se mantiene ordenada en orden creciente de las direcciones
iniciales y se ubica el segmento en el primer espacio con capacidad suficiente
para albergarlo
Segmento de 13 Kb
20 Kb
30 Kb
14 Kb
13 Kb
7 Kb
El segmento se ubica en el espacio mas pequeño donde se pueda albergar
Segmento de 13 Kb
20 Kb
30 Kb
14 Kb
13 Kb
1 Kb
El segmento se ubica en el espacio mas grande donde se pueda albergar
Segmento de 13 Kb
20 Kb
30 Kb
14 Kb
13 Kb
17 Kb
Los pasos
a seguir:
Cuando se produce un fallo de página y no hay marcos libres es necesario liberar
uno de los marcos de página ocupados para poder cargar la página referenciada
1,
Se selecciona la página víctima mediante un algoritmo de reemplazo que ejecute
una política de reemplazo determinada.
2,
Si la página víctima había sido modificada durante su estancia en memoria, hay
que escribirla en el dispositivo de paginación (page-out). Si no, esta operación no
es necesaria. Para la gestión de páginas modificadas se asocia un bit de página
modificada para cada marco de página, que se activa cada vez que se accede a
memoria para escritura.
3,
Se pone a cero el bit de validez correspondiente a la página víctima en su tabla de
páginas. Escritura.
Los criterios a seguir para
implementar un
algoritmo de reemplazo
de páginas son
fundamentalmente dos
MINIMIZAR el número de
fallos de página. Explotar
la localidad temporal de
los programas será
fundamental
SENCILLEZ DE
IMPLEMENTACIÓN. Un
algoritmo complejo,
puede requerir
intervención adicional en
los accesos a memoria, lo
que implicará o pérdida
de rendimiento, o un
hardware costoso, lo que
a su vez redundará
probablemente en
pérdida de rendimiento
Numero de
macros de pagina
a asignar a cada
proceso activo
1,
Si el conjunto de
paginas
candidatas para el
remplazo debe
limitarse a las del
proceso que
provoco el fallo
de paginas si
abarcara todos los
macros de pagina
situadas en
memoria principal
2,
Dentro del
conjunto de
paginas
candidatas cual se
debe elegir para el
reemplazo
3,
Importante a tener en cuenta al momento de realizar el reemplazo:
Restricción de la política de reemplazo:
Algunos de los marcos de memoria principal pueden estar
bloqueados, cuando esto sucede la pagina cargada
actualmente no puede estar remplazada
En los marcos bloqueados se albergan: la mayoría del
núcleo del S.O. y las estructuras clave de control
El bloqueo se consigue asignando un bit de bloqueo a cada
marco, este bit puede guardarse en una tabla de marcos o
estar en la tabla de página actual.
selecciona para remplazar la
pagina que tiene que esperar
mayor cantidad de tiempo hasta
que se produzca la referencia
siguiente
Esta política genera el menor
numero de fallos de pagina.
Sirve como estándar para
comparar con otros algoritmos
Imposible de implementar ,
puesto que requiere que el so
tenga un conocimiento exacto
de los sucesos futuros
El ejemplo supone una asignación constante de tres marcos para el
proceso. L a ejecución del proceso hace referencia a cinco paginas
distintas. La cadena de referencia a las paginas durante la ejecución del
programa es: 232152453252.
Lo que significa que la primera referencia es a la pagina 2, la segunda a
la 3 y así sucesivamente. El algoritmo optimo origina tres fallos de
pagina después de haber llenado los marcos asignados
Muy afinada a la
política optima
Debido al
principio de
cercanía , esta
debería ser la
pagina con menos
probabilidad de
referencia en un
futuro cercano
Remplaza la
pagina de
memoria que no
ha sido
referenciada hace
mas tiempo
la política de
remplazo tiene
gran dificultad
en su
implementación
LA SOLUCION
Etiquetar cada pagina
con el instante de su
ultima referencia; esto
tendría que hacerse para
cada referencia a
memoria, tanto para
instrucciones como para
datos
El ejemplo muestra el comportamiento de LRU, utilizando la misma
cadena de referencia a paginas del ejemplo de la política optima. En
este caso , se producen cuatro fallos de pagina
Trata los macros asignados a un proceso como
un buffer circular y las paginas se suprimen de
memoria según la técnica de espera circular
(round- robiri).
Todo lo que necesita es un puntero que circule
atreves de todos los marcos del proceso
Es la mas sencilla de implementar
Utiliza una cola FIFO y hace un uso pobre de la
localidad temporal
La lógica que hay detrás de
esta selección , es remplazar
la pagina que ha estado
mas tiempo en memoria :
una pagina introducida en
memoria hace mucho
tiempo puede haber caído
en desuso este
racionamiento será a
menudo incorrecto
porque habrá regiones de
programa o de datos que
son muy usadas a lo largo
de la vida de un programa .
Con el algoritmo FIFO estas
paginas se cargaran y
expulsaran repetidas veces
La política FIFO genera seis fallos de pagina. Nótese que la LRU se da
cuanta de que las paginas 2 y 5 se referencian mas frecuentemente que
las otras, mientras que la FIFO no lo hace .
La forma mas simple
de esta política
requiere asociar un
bit adicional a cada
macro, denominado
bit de uso
Cuando se cargue
una pagina por
primera vez , este bit
se pone en 0 y
cuando se hace la
referencia a la
pagina el bit de uso
se pone en 1.
Para el algoritmo de remplazo de paginas, el conjunto de
marcos candidatos a ser reemplazado se considera como
un buffer circular con un puntero asociado
El alcance es local si los candidatos son de un solo
proceso y global si procede de toda la memoria
Al reemplazar una pagina, se hace que el puntero señale
al siguiente marco del buffer
Cuando llega el momento de reemplazar una pagina, el SO
recorre el buffer buscando un marco con el bit de uso a 0,
eligiendo para reemplazar el primero que encuentre. Cada vez
que se encuentra un marco con el bit de uso a 1, se pone a 0
La forma mas simple de esta política requiere asociar un bit adicional
a cada marco, denominado bit de uso. Cuando se cargue una pagina
por primera vez, este bit se pone a 0 y cuando se hace referencia
posteriormente a la pagina el bit de uso se pone a 1.
Es una estrategia que puede mejorar el rendimiento de la paginación y
permitir el uso de la política de remplazo de paginas de manera mas
sencilla
Un método representativo es el del VAX/VMS; VMS emplea una estrategia
de asignación variable y local
el algoritmo de reeplazo de paginas es simplemente una FIFO
Para mejorar el rendimiento , no se pierde de pista la pagina reemplazada,
sino que se asigna a una de las dos listas siguientes :
LISTA DE PAGINAS LIBRES: si la pagina no ha sido modificada
LISTA DE PAGINA MODIFICADA :si la pagina ha sido modificada, las paginas
son reescitas por bloques, en vez de una por una , reduce al numero de
operaciones de E/S por lo tanto el tiempo de acceso al disco
La pagina no se mueve físicamente de la memoria principal, en su lugar se
suprime su entrada en la tabla de paginas libres o modificadas.
La lista de paginas libres es una
lista de marcos disponibles para
cargar pagina, VMS intenta
mantener un pequeño numero
de marcos libres en todos
momento
Cuando se va a reemplazar una
pagina no modificada , esta
permanece en memoria y su
marco se añade al final de la
lista de paginas libres , del
mismo modo , cuando se va a
reescribir y reemplazar una
pagina modificada , su marco se
añade al final de la lista de
paginas modificadas
Cuando se va a leer
una pagina se
emplea el marco
del principio de la
lista, acabando con
la pagina que
estaba allí
Lo importante de estas
operaciones es que la pagina a
reemplazar permanece en
memoria, así pues, si el proceso
hace referencia a dicha pagina,
de devuelve al conjunto
residente del proceso con un
costo pequeño
http://www.sc.ehu.es/acwlaroa/SO2/Apuntes/Cap4.pdf
http://www.dacya.ucm.es/mendias/512/docs/tema14.pdf
http://www.fdi.ucm.es/profesor/jjruz/WEB2/Temas/EC7.p
df
Finalfinal

Weitere ähnliche Inhalte

Was ist angesagt?

Capítulo 3 - Libro Azúl (Profesor)
Capítulo 3 - Libro Azúl (Profesor)Capítulo 3 - Libro Azúl (Profesor)
Capítulo 3 - Libro Azúl (Profesor)fredur
 
Administracion de memoria virtual
Administracion de memoria virtualAdministracion de memoria virtual
Administracion de memoria virtualMarco Lopez
 
Asignación de memoria continua
Asignación de memoria continuaAsignación de memoria continua
Asignación de memoria continuaEdgar Pauta
 
Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoriaguestca1de2e
 
4 Administracion De Memoria
4 Administracion De Memoria4 Administracion De Memoria
4 Administracion De MemoriaUVM
 
Capítulo 2 - Libro Azúl (Profesor)
Capítulo 2 - Libro Azúl (Profesor)Capítulo 2 - Libro Azúl (Profesor)
Capítulo 2 - Libro Azúl (Profesor)fredur
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoriajhoax
 
Capítulo 2 - Libro Azúl
Capítulo 2 - Libro AzúlCapítulo 2 - Libro Azúl
Capítulo 2 - Libro Azúlfredur
 
3.1 politica y_filosofia
3.1 politica y_filosofia3.1 politica y_filosofia
3.1 politica y_filosofiabeymarlopez
 
Administracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemasAdministracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemasANIUX77
 
Memoria virtual fus daniel
Memoria virtual fus danielMemoria virtual fus daniel
Memoria virtual fus danielscrepto
 
Memoria virtual fus daniel
Memoria virtual fus danielMemoria virtual fus daniel
Memoria virtual fus danielscrepto
 
Administración de memoras
Administración de memorasAdministración de memoras
Administración de memorasJuan Bustamante
 
Sistemas Operativos I-Particionamiento de memoria
Sistemas Operativos I-Particionamiento de memoriaSistemas Operativos I-Particionamiento de memoria
Sistemas Operativos I-Particionamiento de memoriaMari Cruz
 

Was ist angesagt? (20)

Capítulo 3 - Libro Azúl (Profesor)
Capítulo 3 - Libro Azúl (Profesor)Capítulo 3 - Libro Azúl (Profesor)
Capítulo 3 - Libro Azúl (Profesor)
 
Administracion de memoria virtual
Administracion de memoria virtualAdministracion de memoria virtual
Administracion de memoria virtual
 
Asignación de memoria continua
Asignación de memoria continuaAsignación de memoria continua
Asignación de memoria continua
 
Capitulo3
Capitulo3Capitulo3
Capitulo3
 
Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoria
 
4 Administracion De Memoria
4 Administracion De Memoria4 Administracion De Memoria
4 Administracion De Memoria
 
Capítulo 2 - Libro Azúl (Profesor)
Capítulo 2 - Libro Azúl (Profesor)Capítulo 2 - Libro Azúl (Profesor)
Capítulo 2 - Libro Azúl (Profesor)
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
Capítulo 2 - Libro Azúl
Capítulo 2 - Libro AzúlCapítulo 2 - Libro Azúl
Capítulo 2 - Libro Azúl
 
3.1 politica y_filosofia
3.1 politica y_filosofia3.1 politica y_filosofia
3.1 politica y_filosofia
 
Sistemas Operativos Gestión de memoria
Sistemas Operativos Gestión de memoriaSistemas Operativos Gestión de memoria
Sistemas Operativos Gestión de memoria
 
Gestion-de-memoria
 Gestion-de-memoria Gestion-de-memoria
Gestion-de-memoria
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 
Administracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemasAdministracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemas
 
Gestión de memoria
Gestión de memoriaGestión de memoria
Gestión de memoria
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Memoria virtual fus daniel
Memoria virtual fus danielMemoria virtual fus daniel
Memoria virtual fus daniel
 
Memoria virtual fus daniel
Memoria virtual fus danielMemoria virtual fus daniel
Memoria virtual fus daniel
 
Administración de memoras
Administración de memorasAdministración de memoras
Administración de memoras
 
Sistemas Operativos I-Particionamiento de memoria
Sistemas Operativos I-Particionamiento de memoriaSistemas Operativos I-Particionamiento de memoria
Sistemas Operativos I-Particionamiento de memoria
 

Ähnlich wie Finalfinal

SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)Videoconferencias UTPL
 
Arquitectura de los sistemas operativos
Arquitectura de los sistemas operativosArquitectura de los sistemas operativos
Arquitectura de los sistemas operativosfresjunior
 
Andres infante
Andres infanteAndres infante
Andres infanteandresinf
 
Andres infante
Andres infanteAndres infante
Andres infanteandresinf
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUALandresinf
 
memoria virtual xD
memoria virtual xDmemoria virtual xD
memoria virtual xDandramelek
 
MeMoRiA ViRtUaL
MeMoRiA ViRtUaLMeMoRiA ViRtUaL
MeMoRiA ViRtUaLandramelek
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principaljbersosa
 
Memoria virtual...
Memoria virtual...Memoria virtual...
Memoria virtual...osjavier
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtualosjavier
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtualosjavier
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtualosjavier
 
Tatiana sanchez 1
Tatiana sanchez 1Tatiana sanchez 1
Tatiana sanchez 1tatyseli
 
MEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOSMEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOSAnnimoLatinoamerica
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtualakany
 

Ähnlich wie Finalfinal (20)

Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual2
Memoria virtual2Memoria virtual2
Memoria virtual2
 
memoria_virtual
memoria_virtualmemoria_virtual
memoria_virtual
 
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
 
Arquitectura de los sistemas operativos
Arquitectura de los sistemas operativosArquitectura de los sistemas operativos
Arquitectura de los sistemas operativos
 
Andres infante
Andres infanteAndres infante
Andres infante
 
Andres infante
Andres infanteAndres infante
Andres infante
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUAL
 
memoria virtual xD
memoria virtual xDmemoria virtual xD
memoria virtual xD
 
MeMoRiA ViRtUaL
MeMoRiA ViRtUaLMeMoRiA ViRtUaL
MeMoRiA ViRtUaL
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principal
 
Memoria virtual...
Memoria virtual...Memoria virtual...
Memoria virtual...
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtual
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtual
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtual
 
Tatiana sanchez 1
Tatiana sanchez 1Tatiana sanchez 1
Tatiana sanchez 1
 
MEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOSMEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOS
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtual Memoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 

Finalfinal

  • 1. John Forero Miryam Molina Tatiana Roa William BonillaDocente Oscar Mendoza ECCI Escuela Colombiana de Carreras Industriales Tecnología en desarrollo informático Grupo 4AN Sistemas Operativos
  • 2. PARA LA GESTION DE MEMORIA
  • 3.
  • 4. Es una técnica para proporcionar la simulación de un espacio de memoria mucho mayor que la memoria física de una máquina. Esta "ilusión" permite que los programas se ejecuten sin tener en cuenta el tamaño exacto de la memoria física La ilusión de la memoria virtual está soportada por el mecanismo de traducción de memoria, junto con una gran cantidad de almacenamiento rápido en disco duro. Así en cualquier momento el espacio de direcciones virtual hace un seguimiento de tal forma que una pequeña parte de él, está en memoria real y el resto almacenado en el disco, y puede ser referenciado fácilmente. Debido a que sólo la parte de memoria virtual que está almacenada en la memoria principal, es accesible a la CPU, según un programa va ejecutándose, la proximidad de referencias a memoria cambia, necesitando que algunas partes de la memoria virtual se traigan a la memoria principal desde el disco, mientras que otras ya ejecutadas, se pueden volver a depositar en el disco (archivos de paginación). ,
  • 5.
  • 6. La memoria es uno de los recursos más importantes de la computadora y, en consecuencia, la parte del sistema operativo responsable de tratar con este recurso, el gestor de memoria, es un componente básico del mismo El gestor de memoria del sistema operativo debe hacer de puente entre los requisitos de las aplicaciones y los mecanismos que proporciona el hardware de gestión de memoria. Se trata de una de las partes del sistema operativo que está más ligada al hardware Las necesidades del sistema operativo han obligado a los diseñadores del hardware a incluir nuevos mecanismos que, a su vez, han posibilitado el uso de nuevos esquemas de gestión de memoria De hecho, la frontera entre la labor que realiza el hardware y la que hace el software de gestión de memoria es difusa y ha ido también evolucionando
  • 7. Empleo de técnica de memoria virtual (depende de la plataforma de hardware) Uso de paginación y/o segmentación (depende de la plataforma de hardware , Los algoritmos empleados para diversos problemas de la gestión de memoria (entran en el dominio del so; El punto clave de los algoritmos es el rendimiento , minimizando fallos de pagina ) Áreas fundamentales en el diseño del gestor de memoria
  • 8. En un sistema con memoria virtual, hay que establecer las reglas para gestionar el intercambio de páginas o segmentos entre la memoria principal y la secundaria
  • 9. La carga de programas y su ubicación. Hay que establecer la correspondencia entre las direcciones lógicas del programa y su ubicación física en memoria La presencia simultánea de más de un programa en memoria. La compartición de espacios de memoria por varios programas. La ejecución de programas que no caben completos en memoria. La gestión eficiente del espacio de memoria libre. En los sistemas operativos modernos la gestión de memoria resuelve aspectos como:
  • 10. FETCH PAGINACION BAJO DEMANDA: Una pagina se lleva a MP solo cuando produce una fallo de referencia PAGINACION PREVIA Cuando la pagina p produce un fallo de referencia, se llevan a memoria las p y p+1. Decisión del momento en el que se debe cargar una pagina en memoria principal
  • 11. Se trae una pagina a MP solo cuando se hace referencia a una posición de dicha pagina Si los otros elementos de la política de gestión de memoria funcionan adecuadamente debe ocurrir lo siguiente : Cuando un proceso se ejecute por primera vez , se produce un aluvión de fallos de pagina A medida que se traigan a memoria mas paginas, el principio de cercanía hará que la mayoría de las futuras referencias estén en paginas que han cargado hace poco después de un tiempo la situación se estabilizara y el numero de fallos de pagina disminuirán hasta un nivel muy bajo
  • 12. Si las paginas de un proceso se cargan secuencialmente en memoria secundaria es mas eficiente traer a memoria un numero de paginas contiguas de una vez que ir trayéndolas de una durante un periodo largo de tiempo Se cargan otras paginas distintas a las demandadas debido a un fallo de pagina La paginación previa no debe confundirse con el intercambio; cuando un proceso se descargar de memoria y pasa al estado suspendido, todas sus paginas residentes se lleven también fuera; cuando se reanuda el proceso, todas las paginas que estaban antes en memoria principal se devuelven a las misma, esta política es la seguida por la mayoría de los sistemas operativos
  • 13. Las tres políticas de ubicación de segmentos más utilizadas son Mejor ajuste, primer ajuste, peor ajuste Se identifican los espacios de memoria principal por su tamaño (longitud) y dirección inicial, y se reúnen en una lista. La política de ubicación determinará la ordenación previa de la lista. Una vez que se decide el espacio donde se ubica el segmento, se actualiza la lista de espacios con el que se acaba de crear (a no ser que el segmento mida exactamente igual que el espacio de memoria utilizado) Determinar donde se va ubicar una parte del proceso en memoria principal, en un sistema de segmentación puro
  • 14. La lista de espacios se mantiene ordenada en orden creciente de las direcciones iniciales y se ubica el segmento en el primer espacio con capacidad suficiente para albergarlo Segmento de 13 Kb 20 Kb 30 Kb 14 Kb 13 Kb 7 Kb
  • 15. El segmento se ubica en el espacio mas pequeño donde se pueda albergar Segmento de 13 Kb 20 Kb 30 Kb 14 Kb 13 Kb 1 Kb
  • 16. El segmento se ubica en el espacio mas grande donde se pueda albergar Segmento de 13 Kb 20 Kb 30 Kb 14 Kb 13 Kb 17 Kb
  • 17. Los pasos a seguir: Cuando se produce un fallo de página y no hay marcos libres es necesario liberar uno de los marcos de página ocupados para poder cargar la página referenciada 1, Se selecciona la página víctima mediante un algoritmo de reemplazo que ejecute una política de reemplazo determinada. 2, Si la página víctima había sido modificada durante su estancia en memoria, hay que escribirla en el dispositivo de paginación (page-out). Si no, esta operación no es necesaria. Para la gestión de páginas modificadas se asocia un bit de página modificada para cada marco de página, que se activa cada vez que se accede a memoria para escritura. 3, Se pone a cero el bit de validez correspondiente a la página víctima en su tabla de páginas. Escritura.
  • 18. Los criterios a seguir para implementar un algoritmo de reemplazo de páginas son fundamentalmente dos MINIMIZAR el número de fallos de página. Explotar la localidad temporal de los programas será fundamental SENCILLEZ DE IMPLEMENTACIÓN. Un algoritmo complejo, puede requerir intervención adicional en los accesos a memoria, lo que implicará o pérdida de rendimiento, o un hardware costoso, lo que a su vez redundará probablemente en pérdida de rendimiento
  • 19. Numero de macros de pagina a asignar a cada proceso activo 1, Si el conjunto de paginas candidatas para el remplazo debe limitarse a las del proceso que provoco el fallo de paginas si abarcara todos los macros de pagina situadas en memoria principal 2, Dentro del conjunto de paginas candidatas cual se debe elegir para el reemplazo 3, Importante a tener en cuenta al momento de realizar el reemplazo:
  • 20. Restricción de la política de reemplazo: Algunos de los marcos de memoria principal pueden estar bloqueados, cuando esto sucede la pagina cargada actualmente no puede estar remplazada En los marcos bloqueados se albergan: la mayoría del núcleo del S.O. y las estructuras clave de control El bloqueo se consigue asignando un bit de bloqueo a cada marco, este bit puede guardarse en una tabla de marcos o estar en la tabla de página actual.
  • 21.
  • 22. selecciona para remplazar la pagina que tiene que esperar mayor cantidad de tiempo hasta que se produzca la referencia siguiente Esta política genera el menor numero de fallos de pagina. Sirve como estándar para comparar con otros algoritmos Imposible de implementar , puesto que requiere que el so tenga un conocimiento exacto de los sucesos futuros
  • 23. El ejemplo supone una asignación constante de tres marcos para el proceso. L a ejecución del proceso hace referencia a cinco paginas distintas. La cadena de referencia a las paginas durante la ejecución del programa es: 232152453252. Lo que significa que la primera referencia es a la pagina 2, la segunda a la 3 y así sucesivamente. El algoritmo optimo origina tres fallos de pagina después de haber llenado los marcos asignados
  • 24. Muy afinada a la política optima Debido al principio de cercanía , esta debería ser la pagina con menos probabilidad de referencia en un futuro cercano Remplaza la pagina de memoria que no ha sido referenciada hace mas tiempo
  • 25. la política de remplazo tiene gran dificultad en su implementación LA SOLUCION Etiquetar cada pagina con el instante de su ultima referencia; esto tendría que hacerse para cada referencia a memoria, tanto para instrucciones como para datos
  • 26. El ejemplo muestra el comportamiento de LRU, utilizando la misma cadena de referencia a paginas del ejemplo de la política optima. En este caso , se producen cuatro fallos de pagina
  • 27. Trata los macros asignados a un proceso como un buffer circular y las paginas se suprimen de memoria según la técnica de espera circular (round- robiri). Todo lo que necesita es un puntero que circule atreves de todos los marcos del proceso Es la mas sencilla de implementar Utiliza una cola FIFO y hace un uso pobre de la localidad temporal
  • 28. La lógica que hay detrás de esta selección , es remplazar la pagina que ha estado mas tiempo en memoria : una pagina introducida en memoria hace mucho tiempo puede haber caído en desuso este racionamiento será a menudo incorrecto porque habrá regiones de programa o de datos que son muy usadas a lo largo de la vida de un programa . Con el algoritmo FIFO estas paginas se cargaran y expulsaran repetidas veces
  • 29. La política FIFO genera seis fallos de pagina. Nótese que la LRU se da cuanta de que las paginas 2 y 5 se referencian mas frecuentemente que las otras, mientras que la FIFO no lo hace .
  • 30. La forma mas simple de esta política requiere asociar un bit adicional a cada macro, denominado bit de uso Cuando se cargue una pagina por primera vez , este bit se pone en 0 y cuando se hace la referencia a la pagina el bit de uso se pone en 1.
  • 31. Para el algoritmo de remplazo de paginas, el conjunto de marcos candidatos a ser reemplazado se considera como un buffer circular con un puntero asociado El alcance es local si los candidatos son de un solo proceso y global si procede de toda la memoria Al reemplazar una pagina, se hace que el puntero señale al siguiente marco del buffer Cuando llega el momento de reemplazar una pagina, el SO recorre el buffer buscando un marco con el bit de uso a 0, eligiendo para reemplazar el primero que encuentre. Cada vez que se encuentra un marco con el bit de uso a 1, se pone a 0
  • 32. La forma mas simple de esta política requiere asociar un bit adicional a cada marco, denominado bit de uso. Cuando se cargue una pagina por primera vez, este bit se pone a 0 y cuando se hace referencia posteriormente a la pagina el bit de uso se pone a 1.
  • 33.
  • 34. Es una estrategia que puede mejorar el rendimiento de la paginación y permitir el uso de la política de remplazo de paginas de manera mas sencilla Un método representativo es el del VAX/VMS; VMS emplea una estrategia de asignación variable y local el algoritmo de reeplazo de paginas es simplemente una FIFO Para mejorar el rendimiento , no se pierde de pista la pagina reemplazada, sino que se asigna a una de las dos listas siguientes : LISTA DE PAGINAS LIBRES: si la pagina no ha sido modificada LISTA DE PAGINA MODIFICADA :si la pagina ha sido modificada, las paginas son reescitas por bloques, en vez de una por una , reduce al numero de operaciones de E/S por lo tanto el tiempo de acceso al disco La pagina no se mueve físicamente de la memoria principal, en su lugar se suprime su entrada en la tabla de paginas libres o modificadas.
  • 35. La lista de paginas libres es una lista de marcos disponibles para cargar pagina, VMS intenta mantener un pequeño numero de marcos libres en todos momento Cuando se va a reemplazar una pagina no modificada , esta permanece en memoria y su marco se añade al final de la lista de paginas libres , del mismo modo , cuando se va a reescribir y reemplazar una pagina modificada , su marco se añade al final de la lista de paginas modificadas Cuando se va a leer una pagina se emplea el marco del principio de la lista, acabando con la pagina que estaba allí Lo importante de estas operaciones es que la pagina a reemplazar permanece en memoria, así pues, si el proceso hace referencia a dicha pagina, de devuelve al conjunto residente del proceso con un costo pequeño