SlideShare une entreprise Scribd logo
1  sur  25
Es un concepto
que permite al
software usar mas
memoria de la q
pose
La mayoría de los
computadores
tienen 4 pipos de
memoria
La menoría cache
, la RAM, la física,
el disco duro
El software asede a
donde estuviera
involucrado sigue
ejecutando
En el primer caso, la
referencia a la memoria es
completada, como si la
memoria virtual no hubiera
estado involucrada: el
software accede donde
debía y sigue ejecutando
normalmente
Cuando se usa Memoria
Virtual, o cuando una
dirección es leída o escrita
por la CPU, una parte del
hardware dentro de la
computadora traduce las
direcciones de memoria
generadas
La memoras solo
se tiene unos
pocos fermentos
de un proceso
•Las páginas sirven como unidad de
almacenamiento de información y de
transferencia entre memoria principal y
memoria auxiliar o secundaria. Cada marco
se identifica por la dirección de
•Las páginas de un programa necesitan estar
contiguamente en memoria, aunque el
programador lo observe de esta forma
en unidades lógicas, denominadas
páginas, que tienen el mismo tamaño
que los marcos de páginas. De esta
forma, se puede cargar una página de
información en cualquier marco de
página.
•lLos mecanismos de paginación permiten la
correspondencia correcta entre las direcciones
virtuales
Es una técnica de manejo de
memoria, en la cual el espacio de
memoria se divide en secciones
físicas de igual tamaño,
denominadas marcos de página.
•las direcciones reales de la memoria que se
reverencien.
Cada página consiste en z palabras contiguas; un
espacio de direcciones N de un programa
Dadas por los programas
Hay barias formas de hacer esto una forma es la aplicación misma es responsable de desir
Que información sera guardada En cada sitio y de traerla y llevarla
Consiste
En las aplicasiolmnes mantengan
parte de su información al disco
Moviéndose ala memoria principal
La fragmentación es generada cuando durante el reemplazo de procesos quedan huecos
entre dos o más procesos de manera no contigua y cada hueco no es capaz de soportar
ningún proceso de la lista de espera.
Que la que puede ser mantenida en memoria física esta es la mayor
cantidad de memoria de la que posee
Requiere mas información de códigos y datos
La
desventja
• Además de la dificultad en diseño e
implementación
•Los interese entre las memorias generan conflictos entre si
Cada
programa
dor
• realizar su diseño tomando en cuenta q es el único
programa corriendo en el sistema
•La alternativa es usar memoria virtual
Memoria
virtual
•Donde la combinación del hardware especifico y el sistema
operativo
•Hacen uso de la memoria principal y la secundaria
la cantidad
de memoria
•Q se puede
ver tiene q
ver con las
característic
as del
procesador
•Por ejemplo
en un
sistema de
32bits el
máximo es
de 2
De 400
megabytes
•Todo esto
hace el
trabajo del
procesador
mucho mas
mas fácil al
poder mover
datos entre
los distintos
espacios de
memoria.
Software del
sistema
operativo
•En la
aplicación
universal se
usa una
combinació
n entre
hardware y
software
•Dado el
esfuerzo que
implica para
el
,procesador
Ase el
programa de
aplicación
•Al poder
ignorar los
datos y mover
los entre los
espacios de la
memoria
Aunque la
memoria virtual
podría ser
implementada
por software del
sistema
operativo,
•Cuando se usa
Memoria Virtual
•o cuando una
dirección es leída
o escrita por la
CPU
•parte del
hardware dentro
de la
computadora
traduce las
direcciones de
memoria
generadas por el
software
(direcciones
virtuales)
•de la
•hardware dentro
• computadora
•La dirección real
de memoria (la
dirección de
memoria física), o
una indicación de
que la dirección
de memoria
deseada no se
encuentra en
memoria principal
(llamado
excepción de
memoria virtual)
La dirección real de la memoria
O una indicación dela memoria q desea Llamado extensión dela menoría
Acede donde debía i sige ejecutando normal mente
, la referencia a la memoria es completada
, la referencia a la memoria es completada
Como si la memoria virtual no estuviera involucrada en el software
En el primer caso
Características de la paginación
El espacio de direcciones lógico de un proceso puede ser no contiguo.
Se divide la memoria física en bloques de tamaño fijo llamados marcos (frames).
Se divide la memoria en bloques de tamaño llamados páginas.
Se mantiene información en los marcos libres.
Para correr un programa de n paginas de tamaño, se necesitan encontrara n marcos y
cargar el programa.
Se establece una tabla de páginas para trasladar las direcciones lógicas a físicas
SsemantieneCada página tiene un número que se utiliza como índice en la tabla de páginas, lo que da
por resultado el número del marco correspondiente a esa página virtual. Si el bit presente /
ausente es 0, se provoca un señalamiento (trap) hacia el sistema operativo
•La memoria virtual ha llegado a
ser un componente esencial de
la mayoría de los sistemas
operativos actuales. Y como en
un instante dado, en la memoria
sólo se tienen unos pocos
fragmentos de un proceso dado,
se pueden mantener más
procesos en la memoria. Es más,
se ahorra tiempo, porque los
fragmentos que no se usan no se
cargan ni se descargan de la
memoria. Sin embargo, el
sistema operativo debe saber
cómo gestionar este esquema.
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 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).
•No es necesario que las paginas estén contiguas en memoria, por lo que no se
necesitan procesos de compactación cuando existen marcos de paginas
libres dispersos en la memoria.
•Es fácil controlar todas las páginas, ya que tienen el mismo tamaño.
•El mecanismo de traducción de direcciones (DAT) permite separar los
conceptos de espacio de direcciones y espacios de memoria. Todo el
mecanismo es transparente al usuario.
•Se libera al programador de la restricción de programar para un tamaño físico
de memoria, con lo que s e aumenta su productividad. Se puede programar
en función de una memoria mucho más grande a la existente.
•Al no necesitarse cargar un programa completo en memoria para su
ejecución, se puede aumentar el número de programas multiprogramándose.
•Se elimina el problema de fragmentación externa.
Es posible comenzar a ejecutar un programa, cargando
solo una parte del mismo en memoria, y el resto se cargara
bajo la solicitud.
Se deben reservar
áreas de memoria
para las PMT de los
procesos. Al no ser
fija el tamaño de
estas, se crea un
problema semejante
al de los programas
(como asignar un
tamaño óptimo sin
desperdicio de
memoria, u
"ovearhead" del
procesador).
•Aparece el problema de
fragmentación interna. Así, si
se requieren 5K para un
programa, pero las paginas
son de 4K, deberán
asignárseles 2 páginas (8k),
con lo que quedan 3K sin
utilizar. La suma de los
espacios libres dejados de
esta forma puede ser mayor
que el de varias páginas,
pero no podrá ser utilizados.
Debe asignarse un tamaño
promedio a las páginas,
evitando que si son muy
pequeñas, se necesiten
TABLAS BMT y PMT muy
grandes, y si son muy
grandes, se incremente el
grado de fragmentación
interna.
Fragmentación
Externa: existe
el espacio
total de
memoria para
satisfacer un
requerimiento,
pero no es
contigua.
La
fragmentació
n es
generada
cuando
durante el
reemplazo
La
fragmentación
es la memoria
que queda
desperdiciada
al usar los
métodos de
gestión de
memoria que se
vieron en los
métodos
anteriores.
Tanto el primer
ajuste, cómo el
mejor y el peor
producen
fragmentación
externa.
Fragmentación
Externa: existe el
espacio total de
memoria para
satisfacer un
requerimiento,
pero no es
contigua
framentacion
•Tanto el primer ajuste,
cómo el mejor y el
peor producen
fragmentación
externa.
•Que existe
Es un esquema de manejo de memoria mediante
el cual la estructura del programa refleja su
división lógica; llevándose a cabo una
agrupación lógica de la información en bloques
de tamaño variable denominados segmentos.
Cada uno de ellos tienen información lógica del
programa: subrutina, arreglo, etc. Luego, cada
espacio de direcciones de programa consiste de
una colección de segmentos, que generalmente
reflejan la división lógica del programa.
Modularidad de programas: cada rutina del programa puede ser un bloque sujeto a
cambios y recopilaciones, sin afectar por ello al resto del programa.
•Estructuras de datos de largo variable: ej. Stack, donde cada estructura tiene su propio
tamaño y este puede variar.
•Protección: se puede proteger los módulos del segmento contra accesos no autorizados.
•Compartición: dos o más procesos pueden ser un mismo segmento, bajo reglas de
protección; aunque no sean propietarios de los mismos.
•Enlace dinámico entre segmentos: puede evitarse realizar todo el proceso de enlace antes
de comenzar a ejecutar un programa. Los enlaces se establecerán solo cuando sea
necesario.
El esquema de segmentación ofrece las siguientes ventajas:
• El programador puede conocer las unidades lógicas de su programa,
dándoles un tratamiento particular.
• Es posible compilar módulos separados como segmentos el enlace entre los
segmentos puede suponer hasta tanto se haga una referencia entre
segmentos.
• Debido a que es posible separar los módulos se hace más fácil la
modificación de los mismos. Cambios dentro de un modulo no afecta al
resto de los módulos.
• Es fácil el compartir segmentos.
• Es posible que los segmentos crezcan dinámicamente según las necesidades
del programa en ejecución.
• Existe la posibilidad de definir segmentos que aun no existan. Así, no se
asignara memoria, sino a partir del momento que sea necesario hacer usos
del segmento. Un ejemplo de esto, serian los arreglos cuya dimensión no se
conoce hasta tanto no se comienza a ejecutar el programa. En algunos
casos, incluso podría retardar la asignación de memoria hasta el momento
en el cual se referencia el arreglo u otra estructura de dato por primera vez.
Desventajas de la segmentación
•Hay un incremento en los costos de hardware y de software para llevar a cabo la
implantación, así como un mayor consumo de recursos: memoria, tiempo de CPU, etc.
•Debido a que los segmentos tienen un tamaño variable se pueden presentar problemas
de fragmentación externas, lo que puede ameritar un plan de reubicación de
segmentos en memoria principal.
•Se complica el manejo de memoria virtual, ya que los discos almacenan la información
en bloques de tamaños fijos, mientras los segmentos son de tamaño variable. Esto hace
necesaria la existencia de mecanismos más costosos que los existentes para paginación.
•Al permitir que los segmentos varíen de tamaño, puede ser necesarios planes de
reubicación a nivel de los discos, si los segmentos son devueltos a dicho dispositivo; lo
que conlleva a nuevos costos.
•No se puede garantizar, que al salir un segmento de la memoria, este pueda ser traído
fácilmente de nuevo, ya que será necesario encontrar nuevamente un área de
memoria libre ajustada a su tamaño.
•La compartición de segmentos permite ahorrar memoria, pero requiere de mecanismos
adicionales da hardware y software.
Estas desventajas tratan de ser minimizadas, bajo la técnica conocida
como Segmentación paginada.
El esquema de
segmentación
paginada
tiene todas las
ventajas de la
segmentación
y la
paginación:
Debido
a que
los
espacio
s de
memori
as
son
segmentados,
se garantiza la
facilidad de
implantar la
compartición y
enlace.
Como los
espacios
de
memoria
son
paginados,
se simplifican
las estrategias
de
almacenamie
nto.
Se elimina el
problema de la
fragmentación
externa y
•Las tres componentes de la dirección y
el proceso de formación de direcciones
hace que se incremente el costo de su
implantación. El costo es mayor que en
el caso de de segmentación pura o
paginación pura.
•Se hace necesario mantener un número
mayor de tablas en memoria, lo que
implica un mayor costo de
almacenamiento.
Sigue existiendo el problema de
fragmentación interna de todas- o
casi- todas las páginas finales de cada
uno de los segmentos. Bajo
paginación pura se desperdician solo
la última página asignada, mientras
que bajo segmentación – paginada el
desperdicio puede ocurrir en todos los
segmentos asignados.
•Algoritmo óptimo
•Algoritmo FIFO
•Algoritmo LRU
•Algoritmos de aproximación al LRU
Existen diferentes algoritmos, entre ellos
•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
•Criterio comparativo
ALGORITMO OPTICO
Algoritmo FIFO muy sencillo de
implementar
•Rendimiento del algoritmo pobre, paginas
frecuentemente usadas pueden ser sustituidas
•Se puede presentar anomalía de belady: aumento
del número de fallos de pagina al aumentar el
número de marcos
Inconvenientes:
•Combina sencillez y buen rendimiento
•Emplea un bit de referencia asociado a cada
página
•Pasos del algoritmo:
•Se elige una página con criterio FIFO y se examina
su bit de referencia
•Si el bit de referencia está activo, se desactiva y
se trata la página como si se acabara de llegar a
memoria. Volver a 1
ALGORITMO FIFO CON
SEGUNDA OPORTUNIDAD
Existen diferentes algoritmos, entre ellos:
Generalmente se implementa mediante una
cola FIFO circular con las páginas cargadas
Algoritmo del reloj global
Algoritmo FIFO con segunda oportunidad
Algoritmo NFU
Si el bit de referencia está desactivado, se
sustituye la página
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
ALGORITMO
LRU (LEAST
RECENTLY
USED
•Se colocan todas las páginas que pueden ser sustituidas en una lista circular
Un proceso de sistema borra los bits de referencia cada cierto tiempo
utilizando un puntero giratorio
Si en la siguiente vuelta el bit sigue desactivado, la página en cuestión es una
buena candidata a ser sustituida
•Algoritmo que simula por software el algoritmo LRU
•Utiliza un contador asociado a cada página que se incrementa en
cada interrupción de reloj de acuerdo con el valor del bit de referencia
•En cada pulso de reloj se borra el valor del bit de referencia
•Si hay un fallo de página se elige la página con el valor mínimo del
contador para su sustitución

Contenu connexe

Tendances

Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre
Juan Anaya
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
ALASBLANKS
 
EJERCICIOS DE ADMINISTRACION DE MEMORIA
EJERCICIOS DE ADMINISTRACION DE MEMORIAEJERCICIOS DE ADMINISTRACION DE MEMORIA
EJERCICIOS DE ADMINISTRACION DE MEMORIA
Jhons Borja B
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
ayreonmx
 

Tendances (20)

Algoritmos de gestión de memoria
Algoritmos de gestión de memoriaAlgoritmos de gestión de memoria
Algoritmos de gestión de memoria
 
Gestion De Memoria
Gestion De MemoriaGestion De Memoria
Gestion De Memoria
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtual
 
Lectores y escritores
Lectores y escritoresLectores y escritores
Lectores y escritores
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
 
Sistemas de archivos
Sistemas de archivosSistemas de archivos
Sistemas de archivos
 
Comunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de ProcesosComunicación y Sincronizacion de Procesos
Comunicación y Sincronizacion de Procesos
 
Modelos de paralelismo y concurrencia
Modelos de paralelismo y concurrenciaModelos de paralelismo y concurrencia
Modelos de paralelismo y concurrencia
 
Planificación de la CPU
Planificación de la CPUPlanificación de la CPU
Planificación de la CPU
 
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
 
Estructuras de hardware y de control.
Estructuras de hardware y de control.Estructuras de hardware y de control.
Estructuras de hardware y de control.
 
Analizador léxico
Analizador léxicoAnalizador léxico
Analizador léxico
 
EJERCICIOS DE ADMINISTRACION DE MEMORIA
EJERCICIOS DE ADMINISTRACION DE MEMORIAEJERCICIOS DE ADMINISTRACION DE MEMORIA
EJERCICIOS DE ADMINISTRACION DE MEMORIA
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Optimizacion de la busqueda de discos
Optimizacion de la busqueda de discosOptimizacion de la busqueda de discos
Optimizacion de la busqueda de discos
 
Diagrama de-estado-de-procesos
Diagrama de-estado-de-procesosDiagrama de-estado-de-procesos
Diagrama de-estado-de-procesos
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
 

En vedette (10)

Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Capitulo 9 Memoria Virtual
Capitulo 9 Memoria VirtualCapitulo 9 Memoria Virtual
Capitulo 9 Memoria Virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas Operativos
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtual
 
La Memoria Virtual en Windows
La Memoria Virtual en WindowsLa Memoria Virtual en Windows
La Memoria Virtual en Windows
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
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
 
Administracion de Memoria
Administracion de MemoriaAdministracion de Memoria
Administracion de Memoria
 

Similaire à Memoria virtual (20)

Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtual
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtual
 
Memoriavirtual
MemoriavirtualMemoriavirtual
Memoriavirtual
 
Memoria virtual...
Memoria virtual...Memoria virtual...
Memoria virtual...
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Andres infante
Andres infanteAndres infante
Andres infante
 
Andres infante
Andres infanteAndres infante
Andres infante
 
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 1
Memoria virtual 1Memoria virtual 1
Memoria virtual 1
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtual
 
Memoria
MemoriaMemoria
Memoria
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 

Dernier

EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 

Dernier (10)

pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Memoria virtual

  • 1. Es un concepto que permite al software usar mas memoria de la q pose La mayoría de los computadores tienen 4 pipos de memoria La menoría cache , la RAM, la física, el disco duro El software asede a donde estuviera involucrado sigue ejecutando En el primer caso, la referencia a la memoria es completada, como si la memoria virtual no hubiera estado involucrada: el software accede donde debía y sigue ejecutando normalmente Cuando se usa Memoria Virtual, o cuando una dirección es leída o escrita por la CPU, una parte del hardware dentro de la computadora traduce las direcciones de memoria generadas La memoras solo se tiene unos pocos fermentos de un proceso
  • 2. •Las páginas sirven como unidad de almacenamiento de información y de transferencia entre memoria principal y memoria auxiliar o secundaria. Cada marco se identifica por la dirección de •Las páginas de un programa necesitan estar contiguamente en memoria, aunque el programador lo observe de esta forma en unidades lógicas, denominadas páginas, que tienen el mismo tamaño que los marcos de páginas. De esta forma, se puede cargar una página de información en cualquier marco de página. •lLos mecanismos de paginación permiten la correspondencia correcta entre las direcciones virtuales Es una técnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones físicas de igual tamaño, denominadas marcos de página. •las direcciones reales de la memoria que se reverencien. Cada página consiste en z palabras contiguas; un espacio de direcciones N de un programa Dadas por los programas
  • 3. Hay barias formas de hacer esto una forma es la aplicación misma es responsable de desir Que información sera guardada En cada sitio y de traerla y llevarla Consiste En las aplicasiolmnes mantengan parte de su información al disco Moviéndose ala memoria principal La fragmentación es generada cuando durante el reemplazo de procesos quedan huecos entre dos o más procesos de manera no contigua y cada hueco no es capaz de soportar ningún proceso de la lista de espera. Que la que puede ser mantenida en memoria física esta es la mayor cantidad de memoria de la que posee Requiere mas información de códigos y datos
  • 4. La desventja • Además de la dificultad en diseño e implementación •Los interese entre las memorias generan conflictos entre si Cada programa dor • realizar su diseño tomando en cuenta q es el único programa corriendo en el sistema •La alternativa es usar memoria virtual Memoria virtual •Donde la combinación del hardware especifico y el sistema operativo •Hacen uso de la memoria principal y la secundaria
  • 5. la cantidad de memoria •Q se puede ver tiene q ver con las característic as del procesador •Por ejemplo en un sistema de 32bits el máximo es de 2 De 400 megabytes •Todo esto hace el trabajo del procesador mucho mas mas fácil al poder mover datos entre los distintos espacios de memoria. Software del sistema operativo •En la aplicación universal se usa una combinació n entre hardware y software •Dado el esfuerzo que implica para el ,procesador Ase el programa de aplicación •Al poder ignorar los datos y mover los entre los espacios de la memoria Aunque la memoria virtual podría ser implementada por software del sistema operativo,
  • 6. •Cuando se usa Memoria Virtual •o cuando una dirección es leída o escrita por la CPU •parte del hardware dentro de la computadora traduce las direcciones de memoria generadas por el software (direcciones virtuales) •de la •hardware dentro • computadora •La dirección real de memoria (la dirección de memoria física), o una indicación de que la dirección de memoria deseada no se encuentra en memoria principal (llamado excepción de memoria virtual)
  • 7. La dirección real de la memoria O una indicación dela memoria q desea Llamado extensión dela menoría Acede donde debía i sige ejecutando normal mente , la referencia a la memoria es completada , la referencia a la memoria es completada Como si la memoria virtual no estuviera involucrada en el software En el primer caso
  • 8. Características de la paginación El espacio de direcciones lógico de un proceso puede ser no contiguo. Se divide la memoria física en bloques de tamaño fijo llamados marcos (frames). Se divide la memoria en bloques de tamaño llamados páginas. Se mantiene información en los marcos libres. Para correr un programa de n paginas de tamaño, se necesitan encontrara n marcos y cargar el programa. Se establece una tabla de páginas para trasladar las direcciones lógicas a físicas SsemantieneCada página tiene un número que se utiliza como índice en la tabla de páginas, lo que da por resultado el número del marco correspondiente a esa página virtual. Si el bit presente / ausente es 0, se provoca un señalamiento (trap) hacia el sistema operativo
  • 9. •La memoria virtual ha llegado a ser un componente esencial de la mayoría de los sistemas operativos actuales. Y como en un instante dado, en la memoria sólo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener más procesos en la memoria. Es más, se ahorra tiempo, porque los fragmentos que no se usan no se cargan ni se descargan de la memoria. Sin embargo, el sistema operativo debe saber cómo gestionar este esquema. 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 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).
  • 10. •No es necesario que las paginas estén contiguas en memoria, por lo que no se necesitan procesos de compactación cuando existen marcos de paginas libres dispersos en la memoria. •Es fácil controlar todas las páginas, ya que tienen el mismo tamaño. •El mecanismo de traducción de direcciones (DAT) permite separar los conceptos de espacio de direcciones y espacios de memoria. Todo el mecanismo es transparente al usuario. •Se libera al programador de la restricción de programar para un tamaño físico de memoria, con lo que s e aumenta su productividad. Se puede programar en función de una memoria mucho más grande a la existente. •Al no necesitarse cargar un programa completo en memoria para su ejecución, se puede aumentar el número de programas multiprogramándose. •Se elimina el problema de fragmentación externa. Es posible comenzar a ejecutar un programa, cargando solo una parte del mismo en memoria, y el resto se cargara bajo la solicitud.
  • 11. Se deben reservar áreas de memoria para las PMT de los procesos. Al no ser fija el tamaño de estas, se crea un problema semejante al de los programas (como asignar un tamaño óptimo sin desperdicio de memoria, u "ovearhead" del procesador). •Aparece el problema de fragmentación interna. Así, si se requieren 5K para un programa, pero las paginas son de 4K, deberán asignárseles 2 páginas (8k), con lo que quedan 3K sin utilizar. La suma de los espacios libres dejados de esta forma puede ser mayor que el de varias páginas, pero no podrá ser utilizados. Debe asignarse un tamaño promedio a las páginas, evitando que si son muy pequeñas, se necesiten TABLAS BMT y PMT muy grandes, y si son muy grandes, se incremente el grado de fragmentación interna.
  • 12. Fragmentación Externa: existe el espacio total de memoria para satisfacer un requerimiento, pero no es contigua. La fragmentació n es generada cuando durante el reemplazo La fragmentación es la memoria que queda desperdiciada al usar los métodos de gestión de memoria que se vieron en los métodos anteriores. Tanto el primer ajuste, cómo el mejor y el peor producen fragmentación externa. Fragmentación Externa: existe el espacio total de memoria para satisfacer un requerimiento, pero no es contigua framentacion •Tanto el primer ajuste, cómo el mejor y el peor producen fragmentación externa. •Que existe
  • 13. Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica; llevándose a cabo una agrupación lógica de la información en bloques de tamaño variable denominados segmentos. Cada uno de ellos tienen información lógica del programa: subrutina, arreglo, etc. Luego, cada espacio de direcciones de programa consiste de una colección de segmentos, que generalmente reflejan la división lógica del programa.
  • 14. Modularidad de programas: cada rutina del programa puede ser un bloque sujeto a cambios y recopilaciones, sin afectar por ello al resto del programa. •Estructuras de datos de largo variable: ej. Stack, donde cada estructura tiene su propio tamaño y este puede variar. •Protección: se puede proteger los módulos del segmento contra accesos no autorizados. •Compartición: dos o más procesos pueden ser un mismo segmento, bajo reglas de protección; aunque no sean propietarios de los mismos. •Enlace dinámico entre segmentos: puede evitarse realizar todo el proceso de enlace antes de comenzar a ejecutar un programa. Los enlaces se establecerán solo cuando sea necesario.
  • 15. El esquema de segmentación ofrece las siguientes ventajas: • El programador puede conocer las unidades lógicas de su programa, dándoles un tratamiento particular. • Es posible compilar módulos separados como segmentos el enlace entre los segmentos puede suponer hasta tanto se haga una referencia entre segmentos. • Debido a que es posible separar los módulos se hace más fácil la modificación de los mismos. Cambios dentro de un modulo no afecta al resto de los módulos. • Es fácil el compartir segmentos. • Es posible que los segmentos crezcan dinámicamente según las necesidades del programa en ejecución. • Existe la posibilidad de definir segmentos que aun no existan. Así, no se asignara memoria, sino a partir del momento que sea necesario hacer usos del segmento. Un ejemplo de esto, serian los arreglos cuya dimensión no se conoce hasta tanto no se comienza a ejecutar el programa. En algunos casos, incluso podría retardar la asignación de memoria hasta el momento en el cual se referencia el arreglo u otra estructura de dato por primera vez.
  • 16. Desventajas de la segmentación •Hay un incremento en los costos de hardware y de software para llevar a cabo la implantación, así como un mayor consumo de recursos: memoria, tiempo de CPU, etc. •Debido a que los segmentos tienen un tamaño variable se pueden presentar problemas de fragmentación externas, lo que puede ameritar un plan de reubicación de segmentos en memoria principal. •Se complica el manejo de memoria virtual, ya que los discos almacenan la información en bloques de tamaños fijos, mientras los segmentos son de tamaño variable. Esto hace necesaria la existencia de mecanismos más costosos que los existentes para paginación. •Al permitir que los segmentos varíen de tamaño, puede ser necesarios planes de reubicación a nivel de los discos, si los segmentos son devueltos a dicho dispositivo; lo que conlleva a nuevos costos. •No se puede garantizar, que al salir un segmento de la memoria, este pueda ser traído fácilmente de nuevo, ya que será necesario encontrar nuevamente un área de memoria libre ajustada a su tamaño. •La compartición de segmentos permite ahorrar memoria, pero requiere de mecanismos adicionales da hardware y software. Estas desventajas tratan de ser minimizadas, bajo la técnica conocida como Segmentación paginada.
  • 17.
  • 18.
  • 19. El esquema de segmentación paginada tiene todas las ventajas de la segmentación y la paginación: Debido a que los espacio s de memori as son segmentados, se garantiza la facilidad de implantar la compartición y enlace. Como los espacios de memoria son paginados, se simplifican las estrategias de almacenamie nto. Se elimina el problema de la fragmentación externa y
  • 20. •Las tres componentes de la dirección y el proceso de formación de direcciones hace que se incremente el costo de su implantación. El costo es mayor que en el caso de de segmentación pura o paginación pura. •Se hace necesario mantener un número mayor de tablas en memoria, lo que implica un mayor costo de almacenamiento. Sigue existiendo el problema de fragmentación interna de todas- o casi- todas las páginas finales de cada uno de los segmentos. Bajo paginación pura se desperdician solo la última página asignada, mientras que bajo segmentación – paginada el desperdicio puede ocurrir en todos los segmentos asignados.
  • 21. •Algoritmo óptimo •Algoritmo FIFO •Algoritmo LRU •Algoritmos de aproximación al LRU Existen diferentes algoritmos, entre ellos •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 •Criterio comparativo ALGORITMO OPTICO
  • 22. Algoritmo FIFO muy sencillo de implementar •Rendimiento del algoritmo pobre, paginas frecuentemente usadas pueden ser sustituidas •Se puede presentar anomalía de belady: aumento del número de fallos de pagina al aumentar el número de marcos Inconvenientes: •Combina sencillez y buen rendimiento •Emplea un bit de referencia asociado a cada página •Pasos del algoritmo: •Se elige una página con criterio FIFO y se examina su bit de referencia •Si el bit de referencia está activo, se desactiva y se trata la página como si se acabara de llegar a memoria. Volver a 1 ALGORITMO FIFO CON SEGUNDA OPORTUNIDAD
  • 23. Existen diferentes algoritmos, entre ellos: Generalmente se implementa mediante una cola FIFO circular con las páginas cargadas Algoritmo del reloj global Algoritmo FIFO con segunda oportunidad Algoritmo NFU Si el bit de referencia está desactivado, se sustituye la página 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 ALGORITMO LRU (LEAST RECENTLY USED
  • 24. •Se colocan todas las páginas que pueden ser sustituidas en una lista circular Un proceso de sistema borra los bits de referencia cada cierto tiempo utilizando un puntero giratorio Si en la siguiente vuelta el bit sigue desactivado, la página en cuestión es una buena candidata a ser sustituida
  • 25. •Algoritmo que simula por software el algoritmo LRU •Utiliza un contador asociado a cada página que se incrementa en cada interrupción de reloj de acuerdo con el valor del bit de referencia •En cada pulso de reloj se borra el valor del bit de referencia •Si hay un fallo de página se elige la página con el valor mínimo del contador para su sustitución