Memoria compartida bajo Linux

28 02 2008 GNU/Linux

    La memoria compartida es otro de los métodos utilizados para la comunicación entre procesos (IPC) en donde 2 o más procesos comparten un segmento de memoria. Básicamente existen 2 tipos diferentes disponibles en la mayoría de sistemas GNU/Linux. Los nombres de estas implementaciones son System V IPC y BSD mmap.

La utilización de memoria compartida en ambos sistemas involucra lo siguiente:

La asignación de un nombre único para el segmento
, de manera que otras aplicaciones puedan acceder a él. Al mismo tiempo contienen métodos para producir segmentos anónimos o privados.

Especificación de los permisos de acceso, siguiendo el esquema lectura/escritura/ejecución

Condiciones de carrera (Race conditions), métodos para tratar de evitar estas situaciones.

Funciones BSD mmap

#include
#include

void *mmap(void *start, size_t length, int prot , int
flags, int fd, off_t offset);

int munmap(void *start, size_t length);

int msync(const void *start, size_t length, int flags);

int mprotect(const void *addr, size_t len, int prot);

prot |= PROT_EXEC
PROT_READ
PROT_WRITE
PROT_NONE

flags |= MAP_FIXED
MAP_SHARED, MAP_PRIVATE
MAP_ANONYMOUS



System V IPC

#include
#include

key_t ftok(char pathname, char proj);
IPC_PRIVATE

struct ipc_perm
{
key_t key;
ushort uid; /
owner euid and egid /
ushort gid;
ushort cuid; /
creator euid and egid /
ushort cgid;
ushort mode; /
lower 9 bits of access modes /
ushort seq; /
sequence number */
};

IPC_CREAT
IPC_EXCL

Bookmark Memoria compartida bajo Linux  at del.icio.us Digg Memoria compartida bajo Linux Mixx Memoria compartida bajo Linux Bloglines Memoria compartida bajo Linux Technorati Memoria compartida bajo Linux Fark this: Memoria compartida bajo Linux Bookmark Memoria compartida bajo Linux  at YahooMyWeb Bookmark Memoria compartida bajo Linux  at Furl.net Bookmark Memoria compartida bajo Linux  at reddit.com Bookmark Memoria compartida bajo Linux  at blinklist.com Bookmark Memoria compartida bajo Linux  at Spurl.net Bookmark Memoria compartida bajo Linux  at NewsVine Bookmark Memoria compartida bajo Linux  at Simpy.com Bookmark Memoria compartida bajo Linux  at blogmarks Bookmark Memoria compartida bajo Linux  with wists Bookmark Memoria compartida bajo Linux  at Ma.gnolia.com wong it! Bookmark using any bookmark manager! Stumble It!

Referencias


17 03 2008
Fork en Linux
    Existen multitud de programas que mantiene varios procesos para poder atender distintas tareas, resolver en paralelo una tarea compleja o ser más eficientes en las respuestas al usuario. Para ello el programa debe ser capaz de lanz
Weblog: Novanebula blog
Tracked: Mar 17, 21:52

Comentarios

Mostrar comentarios como (Plano | Hilos)
No hay comentarios

Añadir comentario


Encerrando entre asteriscos convierte el texto en negrita (*palabra*), el subrayado es hecho así: _palabra_.
Smilies normales como :-) y ;-) son convertidos en imágenes.