Новости и события » Hi-Tech » Для ядра Linux вместо kdbus предложена новая шина обмена сообщениями Bus1

Для ядра Linux вместо kdbus предложена новая шина обмена сообщениями Bus1

В списке рассылки разработчиков ядра Linux предложена для обсуждения реализация новой шины обмена сообщениями Bus1, пришедшей на смену шине kdbus, которую в свой время не удалось продвинуть в основной состав ядра. Bus1 разработан с нуля и концептуально ближе к IPC-маханизмам Android Binder, Cap'n Proto и seL4, чем к kdbus. Bus1 реализован в виде универсального модуля для ядра Linux, не требующего наличия каких-либо обязательных компонентов в пространстве пользователя. Код Bus1 распространяется под лицензией LGPLv2.1+.

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

Bus1 работает децентрализовано и только в локальных контекстах, не предоставляя общего глобального состояния совместного доступа или глобальных блокировок. Ключевыми примитивами в Bus1 являются узлы и дескрипторы: узлы представляют объекты локальных пиров, а дескриптор выполняет роль указателя на узел. Узлы могут создаваться любым пиром, всегда оставаясь закрепленными за своим создателем. Дескрипторы, ссылающиеся на узлы, могут передаваться с прикреплением сообщений в качестве вспомогательных данных. После доставки дескриптора, на стороне получателя создается его копия, которая указывает на тот же узел, что и оригинальный дескриптор.

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


Переваги суцільних купальників перед роздільними

Переваги суцільних купальників перед роздільними

Літо вже на носі, тож питання вибору купальника стає все актуальнішим. Хочу поділитися з вами своїми спостереженнями і розповісти, чому ж суцільні купальники часто виграють у битві з роздільними. У цій статті ми розглянемо основні переваги суцільних...

сегодня 16:43

Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх