Documentos de Académico
Documentos de Profesional
Documentos de Cultura
jcolivar@antares.itmorelia.edu.mx
http://antares.itmorelia.edu.mx/~jcolivar
Julio, 2009
Agenda
• 4.1 Configuraciones de MCD.
• Primer ajuste.
• Siguiente ajuste
• Mejor ajuste
• Peor ajuste
Complejidad de los mecanismos y
estrategias de asignación
• Cualquier método para manejar la disponibilidad de la
memoria presenta inconvenientes como:
• Fragmentación
• Overhead
• Relocalización de programas
• Trashing (sacar un programa inmediatamente después de
haber sido asignado memoria)
Segmentación
Paginación
Paginación
Concepto de Memoria virtual
• Es un método mediante el cual, un sistema operativo simula
tener mas memoria principal que la que existe físicamente.
Para implementar la memoria virtual se utiliza un medio de
almacenamiento secundario de alta velocidad de acceso,
generalmente en disco duro de la maquina.
– 2 GB sistema operativo
2 GB
• Espacio de Direcciones de 64-bit Espacio de
Procesos
– 7192 GB espacio de usuario de Usuario
(Itanium) Systemwide
– 8192 GB espacione de usuario (x64)
– ~6000 GB sistema operativo 2 GB Sistema
Kernel/HAL
drivers
Sistema
de cache
Mecanismos de Memoria Virtual
• Existen 2 métodos para cargar programas en
memoria:
• MIN
• FIFO
• LRU
Swap
• El swap es la forma en como se intercambia una
partición de memoria por otra. Generalmente se
utiliza en técnicas basadas en paginación.
DSM appears as
Process
memory in address
accessing DSM
space of process
Replicación
(a) páginas distribuidas
en 4 máquinas
• Pseudo-Compartición
Memoria compartida en IPC
• La forma más rápida de comunicar dos procesos es que
compartan una zona de memoria compartida.
int shmid;
if((shmid = shmget(IPC_PRIVATE, 4096,
IPC_CREAT | 0600)) == -1)
/*Error al crear memoria compartida*/
Memoria compartida
• int shmctl(shmid, cmd, buf)
float *memoria;
shmid = shmget(llave, MAX * sizeof(float), IPC_CREAT |
0600);
memoria = shmat(shmid, 0, 0);
/*Operar memoria*/
shmdt(memoria);
shmctl(shmid, IPC_RMID, 0);
Arquitecturas de MCD
• Existen varías formas de implantar físicamente
memoria compartida distribuida, a continuación se
describen cada una de ellas.
• P(X, t1): A =1
• ….
• P(y, t2): A = 5
• …..
• P(z, t3): print(A) --> 5
P1: W(x)1
Process accessing
paged DSM segment
Kernel redirects
page faults to
user-level Kernel
handler
• Lectura:
– Si tiene copia local: lee de la misma
– Si no: la solicita a propietario y la marca R
• Si el propietario la tenía W, la pasa a R (degradación)
Diseño de MCD basada en páginas
• Otros factores a considerar son:
• Replicación
• Estructura
• Localización de los datos
• Políticas de escritura
• Política de reemplazo de páginas
• Modelos de consistencia
Diseño de MCD basada en páginas
• Se recomienda replicar sólo las páginas R o bien,
todas las páginas con la problemática de la
reintegración.
• Clases de variables:
– Variables ordinarias.
– Variables de datos compartidos.
– Variables de sincronización.
Munin
• Categorías de variables:
– Exclusiva para lectura.
– Migratoria.
– De escritura compartida.
– Convencional.
Midway
• Compartir estructuras de datos individuales.
out(“matrix-I”, i, j, 3.14)
in(“abc”, 2, ?i)
read(“abc”, 2, ?i)
eval(X,Y,Z), con X,Y,Z expresiones.
El Sistema Orca
• El acceso a memoria se basa en un esquema de
objetos protegidos.
• Se basa en Módula 2.