The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Для ядра Linux вместо kdbus предложена новая шина обмена соо..."
Отправлено opennews, 27-Окт-16 19:23 
В списке рассылки разработчиков ядра Linux предложена (https://lkml.org/lkml/2016/10/26/963) для обсуждения реализация новой шины обмена сообщениями Bus1 (http://www.bus1.org/), пришедшей на смену шине kdbus (https://www.opennet.ru/opennews/art.shtml?num=41810), которую в свой время не удалось продвинуть в основной состав ядра. Bus1 разработан с нуля и концептуально ближе к IPC-маханизмам Android Binder (https://developer.android.com/reference/android/os/Binder.ht... Cap'n Proto (https://capnproto.org/) и seL4 (https://sel4.systems/), чем к kdbus. Bus1 реализован в виде универсального модуля для ядра Linux, не требующего наличия каких-либо обязательных компонентов в пространстве пользователя. Код Bus1 распространяется (https://github.com/bus1/bus1) под лицензией LGPLv2.1+.

Bus1 предоставляет объектно-ориентированный IPC-интерфейс для организации обмена данными между процессами (пирами), сочетающий легковесность и масштабируемость организации совместной работы с такими возможностями, как модульность, разделение привилегий, учёт ресурсов, изоляция и сокрытие информации (https://en.wikipedia.org/wiki/Information_hiding). Работа с объектами реализована через легковесные дескрипторы. Поддерживается доставка данных как в режиме точка-точка, так и в режиме мультикаст (от одного отправителя к группе получателей) с гарантированным сохранением порядка следования данных. На базе Bus1 в пространстве пользователя могут быть реализованы различные UAPI для обмена сообщениями, включая  Binder UAPI.

Bus1 работает децентрализовано и только  в локальных контекстах, не предоставляя общего глобального состояния совместного доступа или глобальных блокировок. Ключевыми примитивами в Bus1 являются узлы и дескрипторы: узлы представляют объекты локальных пиров (https://ru.wikipedia.org/wiki/Peer), а дескриптор выполняет роль указателя на узел. Узлы могут создаваться любым пиром, всегда оставаясь закреплёнными за своим создателем. Дескрипторы, ссылающиеся на узлы, могут передаваться с прикреплением сообщений в качестве вспомогательных данных. После доставки дескриптора, на стороне получателя создаётся его копия, которая указывает на тот же узел, что и оригинальный дескриптор.


Любой пир может отправлять  сообщения через один из своих дескрипторов, которые будут направлены владельцу связанного с дескриптором узла. Если пир не предоставил дескриптор, то сообщение заданному узлу отправить невозможно. Дескриптор в данном случае выступает в роли механизма для предоставления эксклюзивного доступа, при этом доступ можно делегировать другим пирам просто передавая дескриптор. Права доступа не отзываются, но владелец узла в любой момент может его удалить и разрушить таким образом все привязанные дескрипторы. Пиры не могут адресоваться напрямую, полностью отделены и могут взаимодействовать с другими пирами только через узлы и дескрипторы. Со стороны все узлы равнозначны и невозможно определить принадлежат узлы одному пиру или разным.

URL: https://lkml.org/lkml/2016/10/26/963
Новость: https://www.opennet.ru/opennews/art.shtml?num=45382

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру