SlideShare una empresa de Scribd logo
1 de 30
Administración de Memoria
Memoria Virtual
Cecilia Hernández
2007-1
Administración de Memoria
 Objetivos de la Administración de Memoria
 Proveer una abstracción simple de programación
 Proveer aislamiento entre procesos
 Asignar memoria (limitada) a procesos que la
requieren maximizando el rendimiento,
productividad y minimizando sobrecarga (overhead)
 Mecanismos
 Memoria física versus virtual
 Administración de tablas de páginas y segmentación
 Algoritmos de reemplazamiento de páginas
Memoria Virtual
 Abstracción básica que proporciona SO para la
administración de memoria
 Memoria virtual habilita la ejecución de procesos sin
estar contenidos completamente en memoria física
• Consecuencia inmediata: un proceso puede requerir más
memoria de la disponible físicamente
 Posible porque muchos programas no necesitan todo el
código o datos al mismo tiempo
• Por ejemplo, datos en una rama condicional que nunca son
accesados
• SO puede asignar memoria física durante tiempo de ejecución
(cuando sea requerido)
 Memoria Virtual aisla procesos
• Cada proceso tiene su propio espacio de direccionamiento
Memoria Virtual cont
 La implementación de Memoria virtual
requiere apoyo del hardware
 MMUs, TLBs, tablas de páginas
Historia
 Sistemas Batch
 Programas usaban memoria física directamente
 OS cargaba trabajo, lo ejecutaba y lo descargaba
 Sistemas Multiprogramados
 Múltiples procesos coexistían en memoria al mismo tiempo
• Procesos usaban CPU y dispositivos I/O simultáneamente
 Requerimientos de administración de memoria
• Protección, restringiendo espacios de direccionamiento para evitar
daños entre ellos
• Traducción rápida, acceso a la memoria debe ser rápida
• Cambio de contexto, debe ser rápido, (protección y traducción)
 Swapping
• Salvar el estado de programa completo (incluyendo memoria) a
disco para permitir la ejecución de otros
• Swap in : de disco a memoria
• Swap out : de memoria a disco
Direcciones Virtuales
 Para facilitar el manejo de memoria de múltiples
procesos, procesos manejan memoria virtual
 Direcciones virtuales son independientes de las
direcciones de memoria física (donde realmente
código y datos están)
• SO determina ubicación de memoria física
 Las instrucciones con las cuales trabaja la CPU
usan direcciones virtuales
• punteros, argumentos de load/store, PC, etc
 Traducción de direcciones virtuales a físicas se
realiza por hardware con ayuda del SO
Direcciones Virtuales cont
 El conjunto de direcciones virtuales que un
proceso puede direccionar corresponde a su
espacio de direccionamiento
 Existen muchos mecanismos para la traducción de
direcciones virtuales a físicas
• Particiones fijas
• Particiones variables
• Paginación (técnica moderna)
• Segmentación (técnica moderna)
• Paginación y segmentación
Traducción con Particiones Fijas
 Memoria física se divide en particiones fijas
 Todas las particiones son de tamaño fijo y nunca cambian
• Pero pueden haber particiones de diferentes tamaños
 Hardware requerido: registro base y registro límite
• dirección física = dirección virtual + registro base
• Registro base es cargado por el SO después de cambio de
contexto, y entonces un proceso se va a ejecutar
• Como se asegura la protección?
• Si (dirección física > base + limite) entonces error
 Ventajas
• Sencillo, cambio de contexto rápido
 Desventajas
• Fragmentación interna
• Partición mas grande de lo necesario (sobra memoria que no
puede utilizar otro proceso)
• Fragmentación externa
• Caso en que dos particiones disponibles pero ambas muy
pequeñas para contener un proceso mas grande
• Tamaño de la partición (cuál debería ser?)
Particiones fijas
Partición 2
2K (tamaño P2)
offset
Base de P2: 6K
Registro límite
dirección virtual
viene de CPU
Registro base
Si
No
Memoria física
Error de
direccionamiento
Partición 0
Partición 1
Partición 3
+<
0
2K
6K
8K
12K
Traducción con Particiones Variables
 Memoria física es dividida en particiones variables
 Tamaño de particiones varía dinámicamente no
preestablecidas como en caso de particiones fijas
 Requerimientos Hardware: registros base y límite
 Dirección física = dirección virtual + registro base
• Registro límite se usa para protección
• if (dirección física < registro limite) then
• dirección física = dirección virtual + registro
base
• Else
• Error de direccionamiento
• Registro base : contiene valor de la dirección física menor posible
• Registro límite : contiene mayor rango de direcciones virtuales
Traducción con Particiones Variables
Partición 2
Tamaño de P2
offset
Registro límite
dirección virtual
viene de CPU
Registro base
Si
No
Memoria física
Error de
direccionamiento
Partición 0
Partición 1
Partición 3
+<
Traducción con Particiones Variables cont
 Ventajas
• No hay fragmentación interna ( si sabemos
cuanto necesita proceso)
• Asignar partición solo lo suficiente para
contener proceso
 Problemas
• Fragmentación externa
• a medida que procesos de distinto
tamaño entran y salen van quedando
porciones de memoria sin posibilidades
de ser reutilizada
Qué hacer con fragmentación?
 Swap out : Sacar
programa de
memoria
 recargar
programas
alrededor
poniedolos
cercanos y
generando huecos
 No muy eficiente
partición 0
partición 1
partición 2
partición 3
partición 4
partición 0
partición 1
partición 2
partición 3
partición 4
Paginación (Técnica actual)
 Para solucionar el problema de fragmentación externa dada
con particiones variables. Usar particiones fijas en memoria
virtual y física
Marco pág. 0
Marco pág. 1
Marco pág. N
Página 0
Página 1
Página N
Memoria Virtual
Memoria Física
Visión del usuario
 Procesos ven memoria como un espacio
contiguo de 0 a M
 En realidad la memoria física esta
desparramada
 Cada página virtual se mapea a una página real
(marco de página) que esta en cualquier parte
en memoria física
 Mapeo es invisible al programa
 Protección esta dada porque un programa no
puede referenciar memoria que esta fuera de
su espacio de direccionamiento virtual
 Si dos procesos tienen la misma dirección virtual
su mapeo a memoria física es distinta para cada
proceso
Paginación
 Traduciendo direcciones virtuales
 Una dirección virtual tiene dos partes:
• Número de página virtual y offset
 Número de página virtual es un índice en tabla
de páginas
 Entrada en tabla de página contiene número de
marco de página
 Dirección física se traduce a:
• Número Marco de página:offset
Tablas de Páginas
 Manejadas por el SO
 Mapea Número de Pagina Virtual a Número
de Marco de Página
 Número de Página Virtual es índice en la tabla
 Existe una Entrada en la Tabla de Páginas por
página en el espacio de direccionamiento
virtual
• Normalmente denominada como PTE (Page Table
Entry)
Ilustración Paginación
nmp
npv
dirección virtual
dirección física
Marco Pag 0
Marco Pag 1
Marco Pag 3
Marco Pag 4
Marco Pag N
.
.
.
offset
offset
nmp
npv: Num. página virtual
nmp: Num. marco página
Marco Pág 2
Ejemplo de Paginación
 Asumir direcciones de 32 bits
 Páginas de 4KB (4096 bytes, 212
bytes)
 Número de páginas virtuales de 20 bits, offset es
de 12 bits (220
posibles páginas virtuales)
 Traducir la dirección virtual 0x13325328
(representación Hexa)
 Número Página Virtual : 0x13325, offset 0x328
 Asumir que en tabla de páginas, entrada
direccionada por 0x13325 es 0x03876 (Número
de Marco de Página)
• 0x13325 se mapea a 0x03876
 Dirección de memoria física : 0x03876328
Entradas de Tablas de Páginas (PTE)
 Estructura de cada entrada en la tabla de páginas
 Usualmente mas que solo el número de marco de
página
1 1 1 2 20
V R M Prot Marco de pagina
V : Bit válido. indica si página es válida
R : Bit de Referencia se setea cuando página ha sido leída 
o escrito
M : Dirty bit, es seteado cuando la página ha sido escrita
Prot : Bits de protección de Lectura, Escritura, Ejecución 
Ventajas de la Paginación
 Fácil para asignar memoria física
 Memoria física se administra usando una lista de marcos
de páginas libres
• Para asignar un marco de página, se saca de la lista
 Fragmentación externa no es un problema
• Cómo ?
 Fácil quitarle páginas a programas
 Páginas son del mismo tamaño
 Uso de bit válido para saber que páginas ha perdido el
proceso
 Tamaño de páginas definido como múltiplos de tamaños
de bloques de disco
Desventajas de Paginación
 Expone Fragmentación interna
 Proceso no puede usar memoria de marco de página
que le sobra a otro proceso
 Referencia a memoria en 2 pasos
• Tabla de página y luego Memoria
• Solución, usar hardware como cache para acelerar
referencias : Translation Lookaside buffer (TLBs)
 Memoria requerida para mantener tablas de páginas
puede ser grande
• Necesita una entrada en tabla de página por número
de página virtual
Desventajas de Paginación cont
 Direccionamiento virtual de 32 bits, tamaño página de
4KB, entonces
 Se necesitan 220
entradas = 1.048.576 Entradas
 Si se tiene 4 bytes/Entrada, entonces se necesitan 4MB
por tabla de páginas
• En general SO tiene tablas de páginas separadas por
proceso
• Con 25 procesos en el sistema, entonces 100MB
en tablas de páginas
 Solución a este gran uso de memoria solo para tablas
de páginas
 Paginar las tablas de páginas
Segmentación
 Paginación
 Vista de espacio de direccionamiento como arreglo de
bytes (lineal)
 Divide espacio en páginas de igual tamaño (ejemplo
4KB)
 Usa tabla de página para mapear páginas virtuales a
páginas físicas
• Terminología
• Página : página virtual
• Marco : página física
 Segmentación
 Dividir el espacio de direccionamiento en unidades
lógicas
• Stack, código, heap, datos, procedimientos
 Una dirección virtual es [número segmento, offset]
Cuál es la idea?
 Más lógico
 Cada segmento asociado con contenido
lógico
 Facilita compartición y reutilización
 Un segmento es una unidad que se puede
compartir
 Extensión de la idea de particiones variables
 Un proceso utiliza un segmento (partición
variable)
 Con segmentación un proceso tiene asociado
un conjunto de segmentos
Soporte Hardware
 Tabla de segmentos
 Múltiple pares de registros base/límite uno por
segmento
 Segmentos identificados por número de segmento
• Identificador se usa como índice a tabla de segmentos
• Dirección virtual [num. segmento, offset]
• Dirección física se obtiene sumando dirección base de
segmento + offset
Ilustración Segmentación
segment 0
segment 1
segment 2
segment 3
segment 4
Memoria física
Num.segmento
+
Dir virtual
<?
Error de protección
SI
offset
baselimit
Tabla de segmentos
offsetbase
Ventajas y Desventajas
 Compartir: Más fácil y natural
 Problemas con fragmentación
 asignación de memoria contigua
 cuales deben ser los tamaños de los
fragmentos para los diversos tipos de
requerimientos en el sistema?
 Qué hacer?
Combinar Segmentación con Paginación
 Quienes
 Arquitectura x86 soporta los dos mecanismos
 Usar segmentos para manejar unidades
lógicas
 Segmentos de diversos tamaños en base a
páginas
 Usar páginas para particionar segmentos
• Cada segmento tiene propia tabla de páginas ( en
lugar de una tabla de páginas por proceso de
usuario)
• Luego asignación de memoria se simplifica a
paginación
• Dirección virtual [num segmento, num página, offset]
Linux
 Un segmento de código para kernel, un segmento
para datos
 Un segmento de código para usurio, un segmento
para datos de usuario
 N segmentos de estado para N tareas (almacena
estado para cambio de contexto)
 Una “tabla de segmentos de descriptores local”
 Todos los segmentos son paginados
 http://www.ibm.com/developerworks/linux/library/l-
memmod/

Más contenido relacionado

Destacado

Escuela (valentina dambrosio)1°g
Escuela (valentina dambrosio)1°gEscuela (valentina dambrosio)1°g
Escuela (valentina dambrosio)1°gvalentina1G
 
informática básica
informática básica informática básica
informática básica ingrith_1707
 
Feria cientifica nohemy 11mo A
Feria cientifica nohemy 11mo AFeria cientifica nohemy 11mo A
Feria cientifica nohemy 11mo Anohemy19
 
Dissertacao Aline Barroso
Dissertacao Aline BarrosoDissertacao Aline Barroso
Dissertacao Aline BarrosoAline Barroso
 

Destacado (8)

Meteorito serra do magé
Meteorito serra do magéMeteorito serra do magé
Meteorito serra do magé
 
Escuela (valentina dambrosio)1°g
Escuela (valentina dambrosio)1°gEscuela (valentina dambrosio)1°g
Escuela (valentina dambrosio)1°g
 
informática básica
informática básica informática básica
informática básica
 
Feria cientifica nohemy 11mo A
Feria cientifica nohemy 11mo AFeria cientifica nohemy 11mo A
Feria cientifica nohemy 11mo A
 
Agenda Tributária 01 2014
Agenda Tributária  01 2014Agenda Tributária  01 2014
Agenda Tributária 01 2014
 
Psicologia
PsicologiaPsicologia
Psicologia
 
Dissertacao Aline Barroso
Dissertacao Aline BarrosoDissertacao Aline Barroso
Dissertacao Aline Barroso
 
Nueva agenda en politicas docentes
Nueva agenda en politicas docentesNueva agenda en politicas docentes
Nueva agenda en politicas docentes
 

Similar a Administracion de-memorias

Capitulo 8 Memoria Principal
Capitulo 8 Memoria PrincipalCapitulo 8 Memoria Principal
Capitulo 8 Memoria Principallagm000
 
MEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOSMEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOSAnnimoLatinoamerica
 
administracion de memoria y archivos
administracion de memoria y archivosadministracion de memoria y archivos
administracion de memoria y archivosSamir Barrios
 
Presentación2 lina ramirez
Presentación2 lina ramirezPresentación2 lina ramirez
Presentación2 lina ramirezlinayerick
 
Sistemas operativos. Gestión de memoria
Sistemas operativos. Gestión de memoriaSistemas operativos. Gestión de memoria
Sistemas operativos. Gestión de memoriajlmartinf
 
Sistema operativo.ppt
Sistema operativo.pptSistema operativo.ppt
Sistema operativo.pptAngizon Vn'
 
Seg y pag en diapositivas
Seg y pag en diapositivasSeg y pag en diapositivas
Seg y pag en diapositivasmemp1234
 
Consideraciones de hardware para SQL Server
Consideraciones de hardware para SQL ServerConsideraciones de hardware para SQL Server
Consideraciones de hardware para SQL ServerEduardo Castro
 

Similar a Administracion de-memorias (20)

Administracion de Memoria
Administracion de MemoriaAdministracion de Memoria
Administracion de Memoria
 
Capitulo 8 Memoria Principal
Capitulo 8 Memoria PrincipalCapitulo 8 Memoria Principal
Capitulo 8 Memoria Principal
 
Memoria Soporte Hw
Memoria Soporte HwMemoria Soporte Hw
Memoria Soporte Hw
 
13691765(1).ppt
13691765(1).ppt13691765(1).ppt
13691765(1).ppt
 
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
 
Pag Demanda Reemplazamiento
Pag Demanda ReemplazamientoPag Demanda Reemplazamiento
Pag Demanda Reemplazamiento
 
Cap3
Cap3Cap3
Cap3
 
Cap3
Cap3Cap3
Cap3
 
MEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOSMEMORIA VIRTUAL - SISTEMAS OPERATIVOS
MEMORIA VIRTUAL - SISTEMAS OPERATIVOS
 
Memoria 3
Memoria 3Memoria 3
Memoria 3
 
4679923.ppt
4679923.ppt4679923.ppt
4679923.ppt
 
administracion de memoria y archivos
administracion de memoria y archivosadministracion de memoria y archivos
administracion de memoria y archivos
 
Presentación2 lina ramirez
Presentación2 lina ramirezPresentación2 lina ramirez
Presentación2 lina ramirez
 
Sistemas operativos. Gestión de memoria
Sistemas operativos. Gestión de memoriaSistemas operativos. Gestión de memoria
Sistemas operativos. Gestión de memoria
 
Sistema operativo.ppt
Sistema operativo.pptSistema operativo.ppt
Sistema operativo.ppt
 
Seg y pag en diapositivas
Seg y pag en diapositivasSeg y pag en diapositivas
Seg y pag en diapositivas
 
Consideraciones de hardware para SQL Server
Consideraciones de hardware para SQL ServerConsideraciones de hardware para SQL Server
Consideraciones de hardware para SQL Server
 

Último

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 

Último (20)

Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 

Administracion de-memorias

  • 1. Administración de Memoria Memoria Virtual Cecilia Hernández 2007-1
  • 2. Administración de Memoria  Objetivos de la Administración de Memoria  Proveer una abstracción simple de programación  Proveer aislamiento entre procesos  Asignar memoria (limitada) a procesos que la requieren maximizando el rendimiento, productividad y minimizando sobrecarga (overhead)  Mecanismos  Memoria física versus virtual  Administración de tablas de páginas y segmentación  Algoritmos de reemplazamiento de páginas
  • 3. Memoria Virtual  Abstracción básica que proporciona SO para la administración de memoria  Memoria virtual habilita la ejecución de procesos sin estar contenidos completamente en memoria física • Consecuencia inmediata: un proceso puede requerir más memoria de la disponible físicamente  Posible porque muchos programas no necesitan todo el código o datos al mismo tiempo • Por ejemplo, datos en una rama condicional que nunca son accesados • SO puede asignar memoria física durante tiempo de ejecución (cuando sea requerido)  Memoria Virtual aisla procesos • Cada proceso tiene su propio espacio de direccionamiento
  • 4. Memoria Virtual cont  La implementación de Memoria virtual requiere apoyo del hardware  MMUs, TLBs, tablas de páginas
  • 5. Historia  Sistemas Batch  Programas usaban memoria física directamente  OS cargaba trabajo, lo ejecutaba y lo descargaba  Sistemas Multiprogramados  Múltiples procesos coexistían en memoria al mismo tiempo • Procesos usaban CPU y dispositivos I/O simultáneamente  Requerimientos de administración de memoria • Protección, restringiendo espacios de direccionamiento para evitar daños entre ellos • Traducción rápida, acceso a la memoria debe ser rápida • Cambio de contexto, debe ser rápido, (protección y traducción)  Swapping • Salvar el estado de programa completo (incluyendo memoria) a disco para permitir la ejecución de otros • Swap in : de disco a memoria • Swap out : de memoria a disco
  • 6. Direcciones Virtuales  Para facilitar el manejo de memoria de múltiples procesos, procesos manejan memoria virtual  Direcciones virtuales son independientes de las direcciones de memoria física (donde realmente código y datos están) • SO determina ubicación de memoria física  Las instrucciones con las cuales trabaja la CPU usan direcciones virtuales • punteros, argumentos de load/store, PC, etc  Traducción de direcciones virtuales a físicas se realiza por hardware con ayuda del SO
  • 7. Direcciones Virtuales cont  El conjunto de direcciones virtuales que un proceso puede direccionar corresponde a su espacio de direccionamiento  Existen muchos mecanismos para la traducción de direcciones virtuales a físicas • Particiones fijas • Particiones variables • Paginación (técnica moderna) • Segmentación (técnica moderna) • Paginación y segmentación
  • 8. Traducción con Particiones Fijas  Memoria física se divide en particiones fijas  Todas las particiones son de tamaño fijo y nunca cambian • Pero pueden haber particiones de diferentes tamaños  Hardware requerido: registro base y registro límite • dirección física = dirección virtual + registro base • Registro base es cargado por el SO después de cambio de contexto, y entonces un proceso se va a ejecutar • Como se asegura la protección? • Si (dirección física > base + limite) entonces error  Ventajas • Sencillo, cambio de contexto rápido  Desventajas • Fragmentación interna • Partición mas grande de lo necesario (sobra memoria que no puede utilizar otro proceso) • Fragmentación externa • Caso en que dos particiones disponibles pero ambas muy pequeñas para contener un proceso mas grande • Tamaño de la partición (cuál debería ser?)
  • 9. Particiones fijas Partición 2 2K (tamaño P2) offset Base de P2: 6K Registro límite dirección virtual viene de CPU Registro base Si No Memoria física Error de direccionamiento Partición 0 Partición 1 Partición 3 +< 0 2K 6K 8K 12K
  • 10. Traducción con Particiones Variables  Memoria física es dividida en particiones variables  Tamaño de particiones varía dinámicamente no preestablecidas como en caso de particiones fijas  Requerimientos Hardware: registros base y límite  Dirección física = dirección virtual + registro base • Registro límite se usa para protección • if (dirección física < registro limite) then • dirección física = dirección virtual + registro base • Else • Error de direccionamiento • Registro base : contiene valor de la dirección física menor posible • Registro límite : contiene mayor rango de direcciones virtuales
  • 11. Traducción con Particiones Variables Partición 2 Tamaño de P2 offset Registro límite dirección virtual viene de CPU Registro base Si No Memoria física Error de direccionamiento Partición 0 Partición 1 Partición 3 +<
  • 12. Traducción con Particiones Variables cont  Ventajas • No hay fragmentación interna ( si sabemos cuanto necesita proceso) • Asignar partición solo lo suficiente para contener proceso  Problemas • Fragmentación externa • a medida que procesos de distinto tamaño entran y salen van quedando porciones de memoria sin posibilidades de ser reutilizada
  • 13. Qué hacer con fragmentación?  Swap out : Sacar programa de memoria  recargar programas alrededor poniedolos cercanos y generando huecos  No muy eficiente partición 0 partición 1 partición 2 partición 3 partición 4 partición 0 partición 1 partición 2 partición 3 partición 4
  • 14. Paginación (Técnica actual)  Para solucionar el problema de fragmentación externa dada con particiones variables. Usar particiones fijas en memoria virtual y física Marco pág. 0 Marco pág. 1 Marco pág. N Página 0 Página 1 Página N Memoria Virtual Memoria Física
  • 15. Visión del usuario  Procesos ven memoria como un espacio contiguo de 0 a M  En realidad la memoria física esta desparramada  Cada página virtual se mapea a una página real (marco de página) que esta en cualquier parte en memoria física  Mapeo es invisible al programa  Protección esta dada porque un programa no puede referenciar memoria que esta fuera de su espacio de direccionamiento virtual  Si dos procesos tienen la misma dirección virtual su mapeo a memoria física es distinta para cada proceso
  • 16. Paginación  Traduciendo direcciones virtuales  Una dirección virtual tiene dos partes: • Número de página virtual y offset  Número de página virtual es un índice en tabla de páginas  Entrada en tabla de página contiene número de marco de página  Dirección física se traduce a: • Número Marco de página:offset
  • 17. Tablas de Páginas  Manejadas por el SO  Mapea Número de Pagina Virtual a Número de Marco de Página  Número de Página Virtual es índice en la tabla  Existe una Entrada en la Tabla de Páginas por página en el espacio de direccionamiento virtual • Normalmente denominada como PTE (Page Table Entry)
  • 18. Ilustración Paginación nmp npv dirección virtual dirección física Marco Pag 0 Marco Pag 1 Marco Pag 3 Marco Pag 4 Marco Pag N . . . offset offset nmp npv: Num. página virtual nmp: Num. marco página Marco Pág 2
  • 19. Ejemplo de Paginación  Asumir direcciones de 32 bits  Páginas de 4KB (4096 bytes, 212 bytes)  Número de páginas virtuales de 20 bits, offset es de 12 bits (220 posibles páginas virtuales)  Traducir la dirección virtual 0x13325328 (representación Hexa)  Número Página Virtual : 0x13325, offset 0x328  Asumir que en tabla de páginas, entrada direccionada por 0x13325 es 0x03876 (Número de Marco de Página) • 0x13325 se mapea a 0x03876  Dirección de memoria física : 0x03876328
  • 20. Entradas de Tablas de Páginas (PTE)  Estructura de cada entrada en la tabla de páginas  Usualmente mas que solo el número de marco de página 1 1 1 2 20 V R M Prot Marco de pagina V : Bit válido. indica si página es válida R : Bit de Referencia se setea cuando página ha sido leída  o escrito M : Dirty bit, es seteado cuando la página ha sido escrita Prot : Bits de protección de Lectura, Escritura, Ejecución 
  • 21. Ventajas de la Paginación  Fácil para asignar memoria física  Memoria física se administra usando una lista de marcos de páginas libres • Para asignar un marco de página, se saca de la lista  Fragmentación externa no es un problema • Cómo ?  Fácil quitarle páginas a programas  Páginas son del mismo tamaño  Uso de bit válido para saber que páginas ha perdido el proceso  Tamaño de páginas definido como múltiplos de tamaños de bloques de disco
  • 22. Desventajas de Paginación  Expone Fragmentación interna  Proceso no puede usar memoria de marco de página que le sobra a otro proceso  Referencia a memoria en 2 pasos • Tabla de página y luego Memoria • Solución, usar hardware como cache para acelerar referencias : Translation Lookaside buffer (TLBs)  Memoria requerida para mantener tablas de páginas puede ser grande • Necesita una entrada en tabla de página por número de página virtual
  • 23. Desventajas de Paginación cont  Direccionamiento virtual de 32 bits, tamaño página de 4KB, entonces  Se necesitan 220 entradas = 1.048.576 Entradas  Si se tiene 4 bytes/Entrada, entonces se necesitan 4MB por tabla de páginas • En general SO tiene tablas de páginas separadas por proceso • Con 25 procesos en el sistema, entonces 100MB en tablas de páginas  Solución a este gran uso de memoria solo para tablas de páginas  Paginar las tablas de páginas
  • 24. Segmentación  Paginación  Vista de espacio de direccionamiento como arreglo de bytes (lineal)  Divide espacio en páginas de igual tamaño (ejemplo 4KB)  Usa tabla de página para mapear páginas virtuales a páginas físicas • Terminología • Página : página virtual • Marco : página física  Segmentación  Dividir el espacio de direccionamiento en unidades lógicas • Stack, código, heap, datos, procedimientos  Una dirección virtual es [número segmento, offset]
  • 25. Cuál es la idea?  Más lógico  Cada segmento asociado con contenido lógico  Facilita compartición y reutilización  Un segmento es una unidad que se puede compartir  Extensión de la idea de particiones variables  Un proceso utiliza un segmento (partición variable)  Con segmentación un proceso tiene asociado un conjunto de segmentos
  • 26. Soporte Hardware  Tabla de segmentos  Múltiple pares de registros base/límite uno por segmento  Segmentos identificados por número de segmento • Identificador se usa como índice a tabla de segmentos • Dirección virtual [num. segmento, offset] • Dirección física se obtiene sumando dirección base de segmento + offset
  • 27. Ilustración Segmentación segment 0 segment 1 segment 2 segment 3 segment 4 Memoria física Num.segmento + Dir virtual <? Error de protección SI offset baselimit Tabla de segmentos offsetbase
  • 28. Ventajas y Desventajas  Compartir: Más fácil y natural  Problemas con fragmentación  asignación de memoria contigua  cuales deben ser los tamaños de los fragmentos para los diversos tipos de requerimientos en el sistema?  Qué hacer?
  • 29. Combinar Segmentación con Paginación  Quienes  Arquitectura x86 soporta los dos mecanismos  Usar segmentos para manejar unidades lógicas  Segmentos de diversos tamaños en base a páginas  Usar páginas para particionar segmentos • Cada segmento tiene propia tabla de páginas ( en lugar de una tabla de páginas por proceso de usuario) • Luego asignación de memoria se simplifica a paginación • Dirección virtual [num segmento, num página, offset]
  • 30. Linux  Un segmento de código para kernel, un segmento para datos  Un segmento de código para usurio, un segmento para datos de usuario  N segmentos de estado para N tareas (almacena estado para cambio de contexto)  Una “tabla de segmentos de descriptores local”  Todos los segmentos son paginados  http://www.ibm.com/developerworks/linux/library/l- memmod/