next up previous contents
Next: Comunicación y sincronización Up: Arquitecturas que soportan la Previous: Conmutación   Índice General

Memoria compartida

Sin una memoria compartida no existe concurrencia.

Existen varios tipos de arquitecturas de ordenadores que son diseñadas especialmente para la ejecución de programas concurrentes o paralelos con una memoria compartida (por ejemplo los proyectos NYU, SB-PRAM, o Tera; shared memory processing), más se explicó en clase.

Muchas ideas de estos proyectos se encuentra hoy día en los microprocesadores modernos, sobre todo en los protocolos que controlan la coherencia de los cachés.

Sin embargo, no hace falta que se ejecute un programa en unidades similares para obtener concurrencia. La concurrencia está presente también en sistemas heterógenos, por ejemplo, aquellos que solapan el trabajo de entrada y salida con el resto de las tareas (discos duros).

La refComunicacionSincronizacioncomunicación y sincronización entre procesos funciona

Sin embargo, siempre hace falta algún tipo de memoria compartida para realizar la comunicación entre procesos, solamente que en algunos casos dicha memoria no es accesible en forma directa por el programador.

También existen mezclas de todo tipo de estos conceptos, por ejemplo, un sistema que use multi-procesamiento con hilos y procesos en cada procesador de un sistema distribuido simulando una memoria compartida al nivel de la aplicación.


next up previous contents
Next: Comunicación y sincronización Up: Arquitecturas que soportan la Previous: Conmutación   Índice General
© 2005, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática