Johdanto
D-BUS mahdollistaa ohjelman rekisteröinnin tarjoamaan palveluja muille ohjelmille. Samalla hän tarjoaa myös asiakasohjelman, josta selviää, mitkä palvelut ovat saatavilla. Ohjelma voidaan myös rekisteröidä odottamaan Hernelin tapahtumia, kuten laitteiston laitteistoa.
D-väylä on toteutettu demonissa. Käyttäjät voivat suorittaa useita D-BUS-olioita, joista jokaista yksikköä kutsutaan KANAVANA. Yleensä on etuoikeutettu kanava nimeltä System Channel, ja jokaisella käyttäjällä on yksityinen entiteetti. Käyttäjät tarvitsevat yksityisiä entiteettejä, koska järjestelmäkanavalla on pääsy.
DCOP-järjestelmä vaikuttaa D-Bus-väylään, ja se korvaa DCOP:n KDE 4:ssä; hän on integroitu Qt 4-, Gnome-, Windows- ja Maemo-järjestelmiin. GNOME käyttää sitä myös korvaamaan vähitellen suurimman osan varhaisesta Bonobo-mekanismista.
Järjestelmäkanava Päätoiminto on toimittaa HAL:n viesti prosesseille, jotka ovat kiinnostuneita näistä viesteistä. Yksityisten yksiköiden tehtävänä on tarjota rajoittamaton viestintä ohjelmien välillä.
Työtila
Kaikki D-Bus-väylää käyttävät sovellukset sisältävät joitain objekteja, jotka on yleensä kartoitettu GOBJECT-, QOBJECT-, C ++ -objekteihin tai Python-objekteihin (ei ehkä tarvita). Objekti on esiintymä tyypin sijaan. Kun viesti vastaanotetaan D-BUS-yhteyden kautta, viesti lähetetään objektiin koko sovelluksen sijaan.
Jotta viesti voi määrittää hyväksymisobjektin, on myös annettava viittaus objektiin. Suosikkiohjelmointikielelläsi sitä voidaan kutsua osoittimeksi tai viitteeksi. Edellä kuvattu ns. referenssi on kuitenkin yleensä toteutettu sovellukseen liittyvänä muistiosoitteena, joten sitä ei voi siirtää sovellusten välillä.
Tämän ongelman ratkaisemiseksi D-bus esittelee jokaiselle objektille nimen. Nämä nimet näyttävät tiedostojärjestelmän polulta, kuten objektilta, jota voidaan kutsua "/ ORG / KDE / KSPREAD / Sheets / 3 / Cells / 4/5". Helposti luettavaa polun nimeä suositellaan, mutta sen avulla voit myös käyttää esimerkiksi "/ COM / MyCompany / C5YO817Y0C1Y1C5B" jne., kunhan sitä voidaan käyttää sovelluksessasi.
nimivälin objektipolku alkaa kaikilla kehittäjän toimialueen nimillä (kuten / org / kde), jotta vältetään häiriöt järjestelmän eri koodimoduulien välillä.
Arkkitehtuuri
D-BUS on viestiväyläjärjestelmä, jonka tarkoituksena on viestiä sovellusten välillä. Se on kolmikerroksinen arkkitehtuuriprosessiviestintäjärjestelmä (IPC), joka sisältää:
Funktiokirjasto libdbus, jota käytetään kahdelle sovelluksen kutsukontaktille ja interaktiivisille viesteille. Libdbus-pohjainen viesti, väylädaemoni voidaan yhdistää useisiin sovelluksiin, ja se voi reitittää viestejä yhdestä sovelluksesta 0 tai useampaan muuhun ohjelmaan. Sarja Wrapper-kirjastoja, jotka perustuvat tiettyyn sovelluskehykseen. D-Bus on suunniteltu kahteen erityiseen tilanteeseen:
kahden työpöytäsovelluksen tiedonsiirto saman työpöytäistunnon aikana mahdollistaa työpöytäistuntojen kokonaisuuden ratkaisemaan prosessin elinkaaren ongelman. Työpöytäistunto ja käyttöjärjestelmäviestintä, jossa käyttöjärjestelmä sisältyy yleensä ytimen ja järjestelmän demoniin.