[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]
[Hilos de Discusión] [Fecha] [Tema] [Autor]On Mon, 26 Jul 1999, Federico Javier Fernandez wrote: > > Hola a Todos: > > He estado leyendo el Linux Programmer's Guide, del Linux Documen- > tation Project y tengo algunas consultas acerca de la programacion > en Linux que seguramente alguien de la lista me podra responder: > > a) Cual es la utilidad de utilizar colas de mensajes o semaforos si > tenermos en cuenta que la memoria compartida (shared mem), hace > las mismas tareas y a mas alta velocidad? Son otras formas de IPC (Inter Process Communication). No todos los programas se pueden realizar con memoria compartida, Por ejemplo, piensa en tratar de asignar prioridades para tareas simultaneas que lean/escriban (en memoria) con memoria compartida: se vuelve muy complejo el bloqueo de memoria por cada proceso, y es algo mas natural con semaforos. En este sentido, tambien las colas de mensajes dan mas facilidades para establecer este tipo de prioridades. Tu escoges: un poco mas de desempe~o por mas trabajo para programar, o un poco menos de desempe~o por mas facil de programar. > b) Que son las se#ales o signals? Sospecho que tienen algo que ver > con estos temas de la comunicacion entre procesos pero no son nom- > bradas en el libro. Son elementos de comunicacion asincrona entre procesos. Tu puedes enviar una se~al a un proceso, y el proceso responde de acuerdo a lo programado. Si no se programo ninguna rutina de atencion a la se~al, UNIX provee una rutina de atencion. > c) Donde puedo encontrar mas informacion relacionada? "El entorno de programacion UNIX" Kernighan & Pike. Lo encuentras en cualquier libreria que se precie de serlo. > d) Que aplicaciones practicas usan la comunicacion entre proce- > sos? Es decir, que programas las usan? Supongo que los que estan > escritos en "estilo" cliente-servidor y en los daemons. Es asi? Yo > veo muy clara la utilidad en aplicaciones de red, pero no tanto > en aplicaciones "locales" (sera que en Linux todas las aplicaciones > son de "red"?). Ademas de los programas cliente-servidor, hay otras aplicaciones locales que lo utilizan. Si estableces un named pipe (otro IPC), puedes modificar la actividad de un programa desde otro al momento de ejecucion, tipo control remoto. Eso hace (entre otros programas) el servidor de fonts de X. Saludos -- (o- Cristian Othon Martinez Vera <cfuga en itam mx> Pulchrum est paucorum //\ http://eniac.rhon.itam.mx/~cfuga/ hominum. v_/_