D-Bus

Wikipedia
Loikkaa: valikkoon, hakuun

D-Bus on tietokoneohjelmien väliseen tiedonsiirtoon käytettävä rajapinta, jonka tarkoituksena on tarjoita yksinkertainen tapa ohjelmien ja komponenttien väliseen toimintaan. D-Bus on avoimen lähdekoodin projekti, jota kehitetään freedesktop.org-projektin alla, ja sitä käytetään pääasiassa vapaissa Unix-johdannaisissa kuten Linuxissa.

D-Busin tarkoituksena on mahdollistaa erityisesti graafisten työpöytäohjelmistojen välinen kommunikointi. Sen tärkeimpänä inspiraation lähteenä on KDE-projektissa kehitetty DCOP. D-Bus on sittemmin korvannut GNOME:n CORBA-tekniikan ja KDE:n 4.0-versiosta lähtien myös DCOP:in.

D-Bus toimii taustaohjelman (daemon) avulla, ja ohjelmia voi olla käytössä useita. Jokaista instanssia kutsutaan kanavaksi. Yleensä kanavia on kaksi: Kaikille käyttäjille yhteinen järjestelmän kanava, joka käynnistetään järjestelmän käynnistyksen yhteydessä, ja käyttäjäkohtainen kanava, joka käynnistetään työpöytäympäristön käynnistyessä (käyttäjän kirjautuessa sisään, jos työpöytäympäristö on määritelty automaattisesti käynnistyväksi).

D-Busin avulla ohjelmat tarjoavat erilaisia palveluita, jotka sisältävät erilaisia olioita. Oliot toteuttavat erilaisia rajapintoja jotka sisältävät metodeita jotka palauttavat tietyn tyyppistä tietoa. Palveluiden nimet on eritetty pistein, ja olioiden nimet kauttaviivoin. Esimerkiksi Amarok 2.0 näkyy D-Busille palveluna org.kde.amarok, ja soittolista näkyy kyseisen palvelun oliona /TrackList. Tämä olio toteuttaa rajapinnan org.freedesktop.MediaPlayer metodit, esimerkiksi GetCurrentTrack(). Rajapintojen etuna on se, että org.freedesktop.MediaPlayer on määritelty vain kerran, ja jos käyttäjä käyttää jotain muuta mediasoitinta, ei D-Bus-kutsua tarvitse muuttaa näiltä osin - vain palvelun nimi ja olion nimi muuttuvat.

Eräs D-Busin päälle rakennetuista palveluista oli HAL (Hardware Abstraction Layer), joka välitti laitteistoon liittyviä tapahtumia niistä kiinnostuneille ohjelmille; esimerkiksi kuvankäsittelyohjelma voi haluta tietoa järjestelmään liitetyistä skannereista tai digikameroista, ja tiedostonhallintaohjelma voi haluta tietoa asemaan laitetuista CD-ROM-levyistä tai koneeseen kytketyistä USB-muisteista. HALia ei kuitenkaan käytetä uudemmissa KDE- ja GNOME -järjestelmissä, koska se sisälsi liikaa päällekkäisyyttä Linuxin udev -toiminnallisuuden kanssa.

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]

Tämä ohjelmistoon liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.