Представлена реализация шины D-Bus, работающая на уровне Linux-ядра

16 сентября 2010 года

Разработчики из компании Collabora представили проект kdbus (Архивная копия от 28 июля 2012 на Wayback Machine), в рамках которого создан экспериментальный прототип шины для межпроцессного обмена сообщениями D-Bus, работающий на уровне Linux-ядра. Встраивание D-Bus в ядро позволило существенно повысить производительность за счет уменьшения числа копирования областей памяти и минимизации числа переключения контекста между ядром и процессом-демоном, работающим на прикладном уровне.

В kdbus для отправки сообщений реализован новый тип сокетов AF_DBUS, который напоминает Unix-сокеты и позволяет доставлять сообщения приложению-получателю напрямую, без задействования процесса-посредника (dbus-daemon). Изменения внутренней структуры организации обмена сообщениями не заметно для конечных приложений, так как они используют функции библиотеки libdbus, внешний API которой остался неизменен. Текущая реализация kdbus пока полностью не избавилась от необходимости запуска dbus-daemon, который используется для аутентификации и активации D-Bus, драйвер org.freedesktop.DBus также пока реализован только через dbus-daemon.

Измерение производительности утилитой dbus-ping-pong(недоступная ссылка) показало, что kdbus оказался быстрее реализации D-Bus на уровне пользователя в 1.8 раз для платформы i386 (тестовое окружение было запущено под управлением KVM) и в 3 раза для платформы ARM (использовался смартфон Nokia N900). При использовании другого

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Представлена реализация шины D-Bus, работающая на уровне Linux-ядра», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.