D-Bus software | |
---|---|
Genere | Comunicazione tra processi |
Sviluppatore | Red Hat e la community |
Ultima versione | 1.14.0 (28 febbraio 2022) |
Ultima beta | 1.15.0 (28 febbraio 2022) |
Sistema operativo | Linux Microsoft Windows |
Linguaggio | C |
Licenza | GNU General Public License o Academic Free License 2.1[1] (licenza libera) |
Sito web | www.freedesktop.org/wiki/Software/dbus/ |
D-Bus (Desktop Bus) è un sistema di comunicazione tra processi (IPC), sviluppato come progetto di software libero, che offre alle applicazioni un semplice modo di comunicare tra loro.
D-Bus è stato pesantemente influenzato dal sistema DCOP e lo ha sostituito nella versione KDE 4; D-Bus fa parte del progetto Freedesktop.org e Red Hat è il suo sviluppatore principale. È implementato in Qt 4, GNOME e sulla piattaforma Maemo per applicazioni mobili.
Introduzione
[modifica | modifica wikitesto]Mediante D-Bus una applicazione può registrarsi per offrire servizi ad altre. D-Bus offre anche alle applicazioni client la possibilità di ricercare i servizi disponibili. Inoltre i programmi possono registrarsi in attesa di eventi del kernel, come ad esempio il cambiamento di periferiche collegate.
D-Bus è implementato come demone, e gli utenti possono eseguire diverse istanze, ciascuna delle quali è definita un canale. Generalmente esisterà un canale privilegiato, detto canale di sistema (system channel), e una istanza privata per ogni utente. Le istanze private sono necessarie perché il canale di sistema avrà restrizioni di accesso. Il canale di sistema ha la missione di recapitare i messaggi dallo strato di astrazione dall'hardware (Hardware abstraction layer o HAL) a tutti i processi interessati. Le istanze private invece forniscono un sistema di comunicazione tra le applicazioni dell'utente senza restrizioni.
Architettura
[modifica | modifica wikitesto]L'architettura di D-Bus si sviluppa su tre livelli:
- libdbus
- una libreria che consente a due applicazioni di collegarsi tra loro e scambiarsi messaggi.
- un demone di gestione dei messaggi
- che impiega libdbus, a cui le applicazioni si connettono; il demone può dirottare i messaggi da una applicazione a zero o più altre applicazioni.
- librerie wrapper
- per ogni ambiente applicativo.
Utilizzo
[modifica | modifica wikitesto]D-Bus è progettato per fare fronte a due possibili casi:
- Comunicazione tra diverse applicazioni dello stesso desktop.
- Comunicazione tra l'ambiente desktop e il sistema operativo.
Note
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su freedesktop.org.
- D-Bus, su packages.debian.org.
- Repository sorgenti di D-Bus, su gitlab.freedesktop.org.
- (EN) D-Bus, su Free Software Directory.
- Freedesktop.org D-Bus, implementazione di riferimento