Úvod
D-BUS umožňuje programu zaregistrovat jej pro poskytování služeb jiným programům. Zároveň také poskytuje klientský program pro zjištění, které služby jsou dostupné. Program lze také zaregistrovat, aby čekal na Hernelovy události, jako je hardware hardwaru.
D-bus je implementován v démonu. Uživatelé mohou provádět několik entit D-BUS, přičemž každá entita je označována jako CHANNEL. Obvykle existuje privilegovaný kanál nazvaný Systémový kanál a každý uživatel má soukromou entitu. Uživatelé potřebují soukromé entity, protože System Channel bude mít přístup k přístupu.
D-Bus je ovlivněn systémem DCOP a nahrazuje DCOP v KDE 4; byl integrován do systémů Qt 4, Gnome, Windows a Maemo. GNOME jej také používá k postupnému nahrazení většiny raného mechanismu Bonobo.
Systémový kanál Hlavní funkcí je doručit zprávu HAL procesům, které mají o tyto zprávy zájem. Funkcí soukromých subjektů je zajistit neomezenou komunikaci mezi programy.
Pracovní režim
Všechny aplikace používající D-Bus obsahují některé objekty, které jsou obecně mapovány na objekty GOBJECT, QOBJECT, C ++ nebo objekty Python (nemusí být potřeba). Objekt je instance místo typu. Když je zpráva přijata prostřednictvím připojení D-BUS, je zpráva odeslána objektu namísto celé aplikace.
Aby zpráva mohla specifikovat objekt přijetí, je také nutné poskytnout odkaz na objekt. Ve vašem oblíbeném programovacím jazyce se tomu může říkat ukazatel nebo reference. Výše popsaná tzv. reference je však obecně implementována jako paměťová adresa související s aplikací, takže ji nelze mezi aplikacemi předávat.
Za účelem vyřešení tohoto problému zavádí D-bus název pro každý objekt. Tato jména vypadají jako cesta k systému souborů, jako je například objekt, může se nazývat "/ ORG / KDE / KSPREAD / Sheets / 3 / Cells / 4/5". Doporučuje se snadno čitelný název cesty, ale také vám umožňuje používat, například „/ COM / MojeSpolečnost / C5YO817Y0C1Y1C5B“, atd., pokud jej lze použít pro vaši aplikaci.
Cesta objektu jmenného prostoru začíná všemi názvy domén vývojáře (jako / org / kde), aby se předešlo interferenci mezi různými moduly kódu systému.
Architektura
D-BUS je systém sběrnice zpráv pro návrh, jehož cílem je komunikovat mezi aplikacemi. Jedná se o třívrstvý systém pro procesní komunikaci (IPC), který zahrnuje:
Knihovna funkcí libdbus, používaná pro dva aplikační volací kontakty a interaktivní zprávy. Zpráva založená na libdbus, démon sběrnice může být připojen k více aplikacím a může směrovat zprávy z jedné aplikace do 0 nebo více jiných programů. Řada knihoven Wrapper založených na specifickém aplikačním rámci. D-Bus je navržen pro dvě konkrétní situace:
komunikace dvou desktopových aplikací ve stejné desktopové relaci umožňuje desktopové relace jako celku vyřešit problém životního cyklu procesu. Relace pracovní plochy a komunikace operačního systému, kde je operační systém obecně zahrnut do jádra a systémového démona.