D-BUS

Revisión del 08:35 25 may 2012 de Evelina03031jcscu (discusión | contribuciones) (Página creada con '{{Ficha Software |nombre= D-BUS |familia= |imagen= |tamaño= |descripción= |imagen2= |tamaño2= |descripción2= |creador= |desarrollador= |diseñador= |modelo de desarroll...')
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
D-BUS
Información sobre la plantilla
Lanzamiento inicial12 de enero de 2005
GéneroComunicación entre procesos (IPC)
Sistemas Operativos compatiblesMultiplataforma
LicenciaGPL y Academic Free License
Sitio web
freedesktop.org

D-Bus. En informática, (Desktop Bus) es un sistema de comunicación entre procesos (IPC), para aplicaciones de software con el fin de comunicarse entre sí. D-Bus es desarrollado como parte del proyecto freedesktop.org.

Arquitectura

D-Bus es un mecanismo de comunicación entre procesos (IPC) consistente en tres capas:

  • Una biblioteca , libdbus, que permite a dos aplicaciones conectarse e intercambiar mensajes.
  • Un demonio ejecutable que funciona como bus de mensajes, construido sobre libdbus, al cual pueden conectarse varias aplicaciones. El demonio puede encaminar mensajes desde una aplicación a ninguna o más aplicaciones.
  • Bibliotecas adaptadas (wrappers en inglés) para su uso en frameworks concretos.


Puntos principales de un D-Bus

  • Comunicación entre aplicaciones de escritorio en la misma sesión, facilitando la integración de aplicaciones dentro de un mismo entorno de escritorio y el tratamiento de asuntos relativos al ciclo de vida de procesos.
  • Comunicación entre el sistema operativo y la sesión de escritorio, incluyendo dentro del sistema operativo al núcleo y algunos demonios o procesos.


Funcionamiento de D-Bus

Toda aplicación que utilice D-Bus contiene objetos, normalmente definidos (aunque no es necesario) como GObject, QObject, objetos C++ u objetos Python. Cuando se recibe un mensaje a través de una conexión D-Bus, este se envía a un objeto específico, no globalmente a la aplicación. De esta forma, D-Bus se apoya en componentes software, y de cara al usuario parece como si un objeto fuera serializado a través de la conexión IPC, sin importar si existe o no un objeto al otro lado de la comunicación.

Para permitir la especificación de destino a los mensajes, debe existir un medio para indicar esa referencia. En muchos lenguajes de programación, esto recibe el nombre de puntero o referencia. Sin embargo, estas referencias se implementan como direcciones de memoria relativas al espacio de direcciones de la aplicación, lo cual no puede intercambiarse de una aplicación a otra.


Fuentes