memoria
4
•
•
•
SOI
Conceptos generales: hard / soft
Esquemas contiguos de asignación:
– Fragmentación
– Compactación
Esquemas no contiguos:
– Paginación
– Segmentación
– Segmentación paginada
Memoria Virtual: paginación por
demanda
1
Conceptos generales
hardware
Jerarquía de
memoria:
Las cachés.
Tiempo efectivo
de acceso.
SOI
2
Jerarquía de MemoriaLos computadores usan una jerarquía de
memoria similar a la que muestra la figura.
CPU
Caché
Hardware
Memoria
Principal
Almacén
Auxiliar
Registros
Caché(s)
Hardware
Bus de memoria
Bus de E/S
+ rápida en tiempo acceso –
– Tamaño +
SOI
3
Cachés
Caché –contiene copia de instrucción/dato
que son accedidos +rápido que el original.
Hacer los casos frecuenteseficientes, los
caminos infrecuentes no importan tanto.
SOI
Denominamos:
I/D
• Acierto de caché:
CPU
Caché
item en caché.
• Fallo de caché:
no está en caché ⇒ Acierto
operación completa.
Fallo
Memoria
4
Localidad
Las cachés “funcionan” porque explotan las
localidad de las referencias del código,
datos, y pila de los programas.
Tipos de localidad:
Espacial: si un item esreferenciado, las
direcciones próximas a él tienden
también a ser referenciadas.
Temporal: si un item referenciado, tiende
de nuevo a ser referenciado en breve.
SOI
5
Tiempo de Acceso
Efectivo
Cuando usamos cachés ¿Cuánto no cuesta
acceder a memoria? Denominamos …
Tiempo efectivo de acceso (TAE) al tiempo
medio de acceso a una celda de memoria:
TAE = p*ta + (1-p)*tf
Donde:
pta
1-p
tf
=
=
=
=
probabilidad de acierto.
tiempo de acceso si hay acierto.
probabilidad de fallo.
tiempo de acceso si hay fallo.
SOI
6
Conceptos generales
software
Requisitos de la gestión de
memoria.
Niveles de gestión de
memoria.
Compilación de programas:
Enlace y carga.
Espacios de direcciones:
lógico y físico:
Traducción de direcciones
Apoyo hardware a latraducción: la MMU
SOI
7
Contrapuestos
Requisitos de la gestión
de memoria (i)
SOI
El SO asigna memoria a los procesos para su
ejecución, garantizando:
Protección:
Un proceso no accede a memoria de otro.
Diferentes módulos del programa deben
tener diferentes permisos de acceso.
Compartición:
De datos/código entre procesos.
Permite el ahorro de memoria.
Reubicación: Ensists. multiprogramados,
un programa debe poder cargarse en
diferentes zonas de memoria.
8
Requisitos de la gestión
de memoria (y ii)
El SO debe esconder la
organización física (jerarquía de niveles,
estructura no lineal) de la memoria
física.
para que el usuario tenga una visión
lógica de la memoria como una matriz
lineal. Además permita la
estructuración de un programa en
módulos.SOI
9
Niveles de gestión
de memoria
Existen dos niveles:
Gestor de memoria
del SO -asigna
Nuestro
objetivo
porciones de
memoria al proceso
Gestor de memoria
del proceso -gestiona
estas porciones (p. ej.
a través de malloc y
free).
Proceso
Gestor de
memoria del
proceso
brk
Gestor de
memoria
del SO
SO
SOI
10
Procesamiento
de un programa
MódulosFuentes
Traductor
Etapas por las que pasa un programa
antes de cargarse en memoria.
Módulos
Objetos
Editor de
Enlaces
Bibliotecas
de sistema
Bibliotecas
de sistema
dinámicas
Programa
Absoluto
Cargador
Programa
Ejecutable
SOI
11
Compiladores, enlazadores
y cargadores
Compiladores y ensambladores: Sus
salidas contienen direcciones reubicables
y referencias externas.Enlazadores: resuelven las referencias
externas de las subrutinas compiladas o
ensambladas por separado.
Cargadores: ligan direcciones reubicables
a direcciones absolutas.
SOI
12
Ligadura de direcciones
Ligadura de direcciones - correspondencia
entre direcciones, de instrucciones y datos,
de nuestro programa con las direcciones
de memoria.
Es un esquema de designación; una...
Regístrate para leer el documento completo.