To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

De Wikipedia, la enciclopedia libre

D-Bus
Componente de Escritorio Linux
D-Feet.png
Información general
Tipo de programa Comunicación entre procesos (IPC)
Desarrollador freedesktop.org
Lanzamiento inicial 12 de enero de 2005
Licencia GPL y Academic Free License
Versiones
Última versión estable 1.8.18 ( 14 de mayo de 2015 (6 años, 6 meses y 20 días))
Enlaces

En informática, D-Bus (Desktop Bus) es un sistema de comunicación entre procesos (IPC) y una llamada a procedimiento remoto (RPC) , para aplicaciones de software con el fin de comunicarse entre sí. D-Bus fue desarrollado como parte del proyecto freedesktop.org, el cual fue fundado por Havoc Pennington de Red Hat para normalizar los servicios proporcionados por los entornos de escritorio de Linux como GNOME y KDE.[1]

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.

Los dos principales puntos de uso de D-Bus son los siguientes:

  • 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.

Para resolver esto, D-Bus introduce un nombre para cada objeto. Dicho nombre se muestra como una ruta del sistema de ficheros. Por ejemplo, un objeto podría llamarse /org/kde/kspread/sheets/3/cells/4/5. Resulta aconsejable utilizar rutas fácilmente inteligibles por humanos, si bien los desarrolladores son libres de crear objetos con nombres como /com/mycompany/c5yo817y0c1y1c5b si así lo desean.

Los nombres de objetos D-Bus se aglutinan en espacios de nombres para asegurar que módulos distintos de código se mantengan separados. Los espacios de nombres generalmente están prefijados en función de los componentes utilizados por los propios programadores (por ejemplo, /org/kde).

Véase también

Referencias

  1. Vermeulen, Jeroen (14 de julio de 2013). [FreeDesktop.org «Introduction to D-Bus»] |url= incorrecta (ayuda) (en inglés). Consultado el 6 de junio de 2019. 

Enlaces externos

Esta página se editó por última vez el 13 mar 2021 a las 15:02.
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.