Differenze tra le versioni di "Introduzione a DBus"

Da Gambas-it.org - Wikipedia.
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
Riga 3: Riga 3:
 
Oltre alla comunicazione tra processi, ''D-Bus'' aiuta a coordinare la vita del processo, lo rende semplice e affidabile per codificare un'applicazione a "''singola istanza''" o ''demone'', e per lanciare applicazioni e demoni su richiesta, quando sono necessari i loro servizi.
 
Oltre alla comunicazione tra processi, ''D-Bus'' aiuta a coordinare la vita del processo, lo rende semplice e affidabile per codificare un'applicazione a "''singola istanza''" o ''demone'', e per lanciare applicazioni e demoni su richiesta, quando sono necessari i loro servizi.
  
''D-Bus'' è costituito da un demone, che può essere eseguito sia a livello di sistema e per ogni sessione utente, e una serie di librerie per consentire alle applicazioni di utilizzare ''D-Bus''. Come semplice sistema di scambio messaggi tra processi (demone e utilità), fornisce, dunque, sia un demone di sistema (per eventi del tipo "nuovo hardware aggiunto" o "coda di stampa modificata"), sia un demone ''per-user-login-session'' (per generali esigenze IPC tra le applicazioni utente). Inoltre, il ''[http://it.wikipedia.org/wiki/MBus Message Bus]'' è costruito sulla base di un quadro di riferimento di passaggio di messaggi "''ad uno-a-uno''", che può essere utilizzato dalle due applicazioni per comunicare direttamente (senza passare attraverso il demone del ''Message Bus'').
+
''D-Bus'' è costituito da un demone, che può essere eseguito sia a livello di sistema e per ogni sessione utente, e una serie di librerie per consentire alle applicazioni di utilizzare ''D-Bus''. Come semplice sistema di scambio messaggi tra processi (demone e utilità), fornisce, dunque, sia un demone di sistema, sia un demone ''per-user-login-session'' (per generali esigenze di [http://it.wikipedia.org/wiki/Comunicazione_tra_processi IPC] tra le applicazioni utente). Inoltre, il ''[http://it.wikipedia.org/wiki/MBus Message Bus]'' è costruito sulla base di un quadro di riferimento di passaggio di messaggi "''ad uno-a-uno''", che può essere utilizzato dalle due applicazioni per comunicare direttamente (senza passare attraverso il demone del ''Message Bus'').
  
Qualsiasi applicazione che utilizza il D-Bus contiene oggetti, normalmente definita (anche se non necessario) come GObject, QObject, oggetti C++ o gli oggetti Python. Quando un messaggio viene ricevuto tramite connessione D-Bus, questo viene inviato a un oggetto specifico, non globalmente all'applicazione. Così, D-Bus si basa sulla componente software, e per l'utente guarda come se un oggetto serializzato esterno attraverso connessione IPC, indipendentemente dal fatto che un oggetto sull'altro lato della comunicazione.
+
Qualsiasi applicazione che utilizza il ''D-Bus'' contiene oggetti, normalmente definiti (anche se non necessariamente) come GObject, QObject, oggetti C++. Quando un messaggio viene ricevuto tramite connessione ''D-Bus'', questo viene inviato a un oggetto specifico, non genericamente all'applicazione. Così, ''D-Bus'' si basa sulla componente software, e per l'utente è come se un oggetto sia stato [http://it.wikipedia.org/wiki/Serializzazione serializzato] mediante la connessione [http://it.wikipedia.org/wiki/Comunicazione_tra_processi IPC], indipendentemente dal fatto che vi sia un oggetto dall'altra parte della comunicazione.
 
<BR>Per consentire la specificazione dell'obiettivo per i messaggi, è necessario indicare quel riferimento. In molti linguaggi di programmazione, si parla di un puntatore o riferimento. Tuttavia, questi riferimenti sono implementati come indirizzo di memoria nello spazio degli indirizzi dell'applicazione, che non possono essere scambiati tra le applicazioni. Per risolvere questo problema, ''D-Bus'' introduce un nome per ciascun oggetto. Questo nome viene visualizzato come un ''percorso del file system''. I nomi degli oggetti di ''D-Bus'' sono raggruppati in spazi dei nomi per garantire che i vari moduli di codice sono tenuti separati. Gli spazi dei nomi sono generalmente preimpostati a seconda dei componenti utilizzati dagli stessi programmatori.
 
<BR>Per consentire la specificazione dell'obiettivo per i messaggi, è necessario indicare quel riferimento. In molti linguaggi di programmazione, si parla di un puntatore o riferimento. Tuttavia, questi riferimenti sono implementati come indirizzo di memoria nello spazio degli indirizzi dell'applicazione, che non possono essere scambiati tra le applicazioni. Per risolvere questo problema, ''D-Bus'' introduce un nome per ciascun oggetto. Questo nome viene visualizzato come un ''percorso del file system''. I nomi degli oggetti di ''D-Bus'' sono raggruppati in spazi dei nomi per garantire che i vari moduli di codice sono tenuti separati. Gli spazi dei nomi sono generalmente preimpostati a seconda dei componenti utilizzati dagli stessi programmatori.
  
Riga 12: Riga 12:
 
* la comunicazione tra il sistema operativo e la sessione del desktop, anche all'interno del sistema operativo di base e di alcuni demoni o processi.
 
* la comunicazione tra il sistema operativo e la sessione del desktop, anche all'interno del sistema operativo di base e di alcuni demoni o processi.
  
 +
==DBus e Gambas==
 +
Sull'uso di DBus in Gambas proponiamo la lettura di questa pagina: https://gambaswiki.org/wiki/doc/dbus
  
  
=Letture=
+
 
 +
=Riferimenti=
 
* [http://it.wikipedia.org/wiki/D-Bus D-Bus]
 
* [http://it.wikipedia.org/wiki/D-Bus D-Bus]
 
* [http://www.freedesktop.org/wiki/IntroductionToDBus/ IntroductionToDBus]
 
* [http://www.freedesktop.org/wiki/IntroductionToDBus/ IntroductionToDBus]

Versione attuale delle 16:41, 26 nov 2023

D-Bus è un sistema di Message Bus, un modo semplice per le applicazioni di comunicare tra di loro. In tal senso, dunque, DBus è un sistema di comunicazione fra i processi.

Oltre alla comunicazione tra processi, D-Bus aiuta a coordinare la vita del processo, lo rende semplice e affidabile per codificare un'applicazione a "singola istanza" o demone, e per lanciare applicazioni e demoni su richiesta, quando sono necessari i loro servizi.

D-Bus è costituito da un demone, che può essere eseguito sia a livello di sistema e per ogni sessione utente, e una serie di librerie per consentire alle applicazioni di utilizzare D-Bus. Come semplice sistema di scambio messaggi tra processi (demone e utilità), fornisce, dunque, sia un demone di sistema, sia un demone per-user-login-session (per generali esigenze di IPC tra le applicazioni utente). Inoltre, il Message Bus è costruito sulla base di un quadro di riferimento di passaggio di messaggi "ad uno-a-uno", che può essere utilizzato dalle due applicazioni per comunicare direttamente (senza passare attraverso il demone del Message Bus).

Qualsiasi applicazione che utilizza il D-Bus contiene oggetti, normalmente definiti (anche se non necessariamente) come GObject, QObject, oggetti C++. Quando un messaggio viene ricevuto tramite connessione D-Bus, questo viene inviato a un oggetto specifico, non genericamente all'applicazione. Così, D-Bus si basa sulla componente software, e per l'utente è come se un oggetto sia stato serializzato mediante la connessione IPC, indipendentemente dal fatto che vi sia un oggetto dall'altra parte della comunicazione.
Per consentire la specificazione dell'obiettivo per i messaggi, è necessario indicare quel riferimento. In molti linguaggi di programmazione, si parla di un puntatore o riferimento. Tuttavia, questi riferimenti sono implementati come indirizzo di memoria nello spazio degli indirizzi dell'applicazione, che non possono essere scambiati tra le applicazioni. Per risolvere questo problema, D-Bus introduce un nome per ciascun oggetto. Questo nome viene visualizzato come un percorso del file system. I nomi degli oggetti di D-Bus sono raggruppati in spazi dei nomi per garantire che i vari moduli di codice sono tenuti separati. Gli spazi dei nomi sono generalmente preimpostati a seconda dei componenti utilizzati dagli stessi programmatori.

DBus viene utilizzato principalmente per:

  • la comunicazione tra programmi nella stessa sessione desktop, facilitando l'integrazione di applicazioni all'interno dello stesso ambiente desktop e il trattamento delle questioni relative al ciclo di vita del processo;
  • la comunicazione tra il sistema operativo e la sessione del desktop, anche all'interno del sistema operativo di base e di alcuni demoni o processi.

DBus e Gambas

Sull'uso di DBus in Gambas proponiamo la lettura di questa pagina: https://gambaswiki.org/wiki/doc/dbus


Riferimenti