The OpenNET Project / Index page

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

Третий выпуск реализации kdbus для ядра Linux

17.01.2015 09:54

Грег Кроа-Хартман (Greg Kroah-Hartman) представил в списке рассылки разработчиков ядра Linux третью версию патчей с реализацией kdbus, надёжной, быстрой и безопасной системы обмена сообщениями, поддерживающей доставку сообщений в режиме точка-точка и в режиме мультикаст (от одного отправителя к группе получателей). Kdbus может использоваться не только для альтернативных реализаций D-Bus, не требующих запуска отдельного демона в пространстве пользователя, но и в виде самодостаточного IPC, например, данная система уже поддерживается в systemd.

В третьей версии патчей добавлен флаг FS_USERNS_MOUNT, при помощи которого пользователи могут примонтировать собственные обособленные экземпляры kdbusfs. Переписана большая часть кода, связанная с обработкой метаданных, что позволило обеспечить возможность трансляции привязанных к получателям пространств имён. Идентификаторы PID и TID перемещены из KDBUS_ITEM_CREDS в KDBUS_ITEM_PIDS, что дало возможность отслеживать ситуации с повторным использованием PID другим процессом. Прекращена поддержка интерфейса KDBUS_CMD_CANCEL, вместо которого следует использовать CANCEL_FD с ioctl CMD_SEND. Вызов KDBUS_CMD_MSG_SEND переименован в KDBUS_CMD_SEND, а KDBUS_CMD_MSG_RECV в KDBUS_CMD_RECV.

Из основных достоинств реализации шины kdbus на уровне ядра отмечается:

  • Высокая производительность за счёт минимизации переключения контекста процессов, меньшего выполнения операций копирования, сокращения системных вызовов, использования memfd;
  • Высокая безопасность из-за исключения влияния пользовательских процессов на содержимое шины и использования механизмов ядра для управления передачей данных, в том числе с возможностью контроля со стороны модулей LSM;
  • К сообщениям может быть прикреплено больше метаданных;
  • Пригодность для приложений, обрабатывающих большие потоки данных, с возможностью расстановки сообщений в очереди на основании приоритетов и задания глобального упорядочивания сообщений. Например, некоторые разработчики нашли применение в kdbus даже для передачи звука в системе;
  • Неподверженность многим состояниям гонки, которые трудно устранить в реализации на уровне пользователя. Например, ситуация отсоединения клиента от шины только при условии отсутствия сообщений в его очереди;
  • Возможность мониторинга на уровне ядра. Привилегированные пользователи могут подключиться к потоку сообщений без создания специализированных механизмов в пространстве пользователя;
  • Возможность прямой доставки сообщения без помещения в очередь, что удобно при организации обработки запросов активации по шине;
  • Возможность раннего доступа к шине, на этапе выполнения initrd.


  1. Главная ссылка к новости (https://lkml.org/lkml/2015/1/1...)
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: kdbus, linux, kernel
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (121) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Аноним (-), 10:53, 17/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Почему бы не вынести _это_ в юзерспейс?
     
     
  • 2.3, Аноним (-), 11:07, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +14 +/
    > Почему бы не вынести _это_ в юзерспейс?

    Потому что это в  юзерспейсе уже есть и пытаются наоборот из юзерспейс в ядро перенести, так как безопасность, надёжность (race condition в DBus источник многих проблем) и производительность у DBus в юзерспейс никакая.

     
     
  • 3.5, Аноним (-), 11:29, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    это не объясняет зачем оно нужно в ядре. ну плохой dbus, значит надо переписать так чтоб был хороший и быстрый. но в ядро-то зачем пихать все подряд.
     
     
  • 4.14, Аноним (-), 13:17, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > но в ядро-то зачем пихать все подряд.

    Вы же сами ответили

    > ну плохой dbus, значит надо переписать так чтоб был хороший и быстрый.

    А "хороший и быстрый dbus" в юзерспейсе - это несбыточная хотелка, противоречащая объективной реальности. Типа вечного двигателя. Ну нельзя его сделать. Нель-зя.

     
     
  • 5.85, Олег (??), 17:52, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > А "хороший и быстрый dbus" в юзерспейсе - это несбыточная хотелка, противоречащая
    > объективной реальности. Типа вечного двигателя. Ну нельзя его сделать. Нель-зя.

    Это ещё почему? Процессор в юзерспейсе медленнее работает?


     
     
  • 6.93, arisu (ok), 14:30, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    потому что дбас — дерьмо.
     
  • 6.122, Очередной аноним (?), 14:32, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Это ещё почему? Процессор в юзерспейсе медленнее работает?

    написано же - "минимизации переключения контекста процессов". Переключения контекста - удовольствие дорогое. Чтобы два разных юзерспейсовских пользовательских процесса "говорили" друг с другом через третий юзерспейсовский процесс (демон управления сообщениями) придется больше переключений сделать (потому что все равно эти три процесса будут с друг другом через какие-то уже существующие ядерные IPC взаимодействовать). А так один из процессов из цепочки исключается, ядро его функции берет на себя


     
     
  • 7.123, arisu (ok), 17:17, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    а всё потому, что они пытаются применять шину для того, для чего она не предназначена. господи, если я в тебя поверю, ты ответишь мне, зачем ты создал столько дебилов?
     
     
  • 8.126, Аноним (-), 18:55, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    кокой изощрённый способ саморефлексии... текст свёрнут, показать
     
  • 8.133, ZloySergant (ok), 14:53, 21/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Угум, а в ответ получишь все вопросы - к эволюции, я ей - только пинка дал ... текст свёрнут, показать
     
     
  • 9.134, arisu (ok), 19:14, 21/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    это у него гнилой отмаз как вдруг что хорошо получилось 8212 так 171 славь... текст свёрнут, показать
     
     
  • 10.135, ZloySergant (ok), 09:03, 22/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Бога со святошами не путаешь Мало ли чего им там по укурке ладаном привиделось ... текст свёрнут, показать
     
     
  • 11.136, arisu (ok), 18:52, 22/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    так он только через них и говорит напрямую пока не слышал к счастью, наверное ... текст свёрнут, показать
     
  • 7.129, Олег (??), 22:00, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> Это ещё почему? Процессор в юзерспейсе медленнее работает?
    > написано же - "минимизации переключения контекста процессов". Переключения контекста
    > - удовольствие дорогое.

    Ух, КЭП, а разработчики plan9 не в курсе. Надо им рассказать.

    Что-то мне подсказывает, что если всё делать по уму, то такая высокоуровневая вещь, как dbus, не может проводить много больше времени в переключениях контекста, чем в основной работе.


     
  • 7.130, Олег (??), 22:05, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Это ещё почему? Процессор в юзерспейсе медленнее работает?
    > написано же - "минимизации переключения контекста процессов". Переключения контекста
    > - удовольствие дорогое.

    И вообще, я бы послушал, что на это скажут разработчики dpdk. А то, может, они зря столько сил вбухивают, что бы всё наоборот из ядра в юзерспейс вынести.

     
  • 4.34, Crazy Alex (ok), 17:04, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это не всё подряд. Это просто ещё один механизм IPC. Давно пора.
     
     
  • 5.89, Ананас (?), 08:04, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > ещё один
    > Давно пора
     
  • 4.61, Аноним (-), 04:37, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > но в ядро-то зачем пихать все подряд.

    На этот вопрос хорошо описано в списке достоинств в новости. Если кто-то не умеет читать - нет смысла орать на ухо глухому.

     
  • 3.8, anonymous (??), 11:41, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> Почему бы не вынести _это_ в юзерспейс?
    > Потому что это в  юзерспейсе уже есть и пытаются наоборот из
    > юзерспейс в ядро перенести, так как безопасность, надёжность (race condition в
    > DBus источник многих проблем) и производительность у DBus в юзерспейс никакая.

    Ты это так говоришь, будто при переносе кода в ядро вдруг исчезнут race condition. Наоборот, можно будет валить ещё и ядро, если удачно их использовать. Всё то, за что 5 лет поливали грязью венду, стало вдруг "хорошим" и "годным" в линуксе.

     
     
  • 4.16, Аноним (-), 13:20, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Ты это так говоришь, будто при переносе кода в ядро вдруг исчезнут race condition.

    Подучите матчасть, тогда у вас и не будет таких глупых вопросов.

     
  • 4.17, Аноним (-), 13:21, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Венду поливали грязью 15 лет за реестр и за то, что сейчас творит Поттер в GNU/Linux.
     
     
  • 5.19, Аноним (-), 13:24, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Венду поливали грязью 15 лет за реестр и за то, что сейчас
    > творит Поттер в GNU/Linux.

    То, что сейчас творит Поттер - это вообще не винда, а BSD. Когда вместе с ядром ставится куча левых прог на все случаи жизни, и хрен чего удалишь без пересборки. Между прочим, BSDшники этим гордятся - все под рукой из коробки.

     
     
  • 6.36, ццц (?), 17:08, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +8 +/
    > То, что сейчас творит Поттер - это вообще не винда, а BSD.

    То, что сейчас творит Поттер - это вообще не винда, а BDSМ

    исправил во имя справедливости!


     
     
  • 7.42, Crazy Alex (ok), 20:40, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Исправил на синоним, я бы сказал
     
  • 5.35, Crazy Alex (ok), 17:07, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    kdbus имиет к Поттеру весьма косвенное отношение. Это универсальная основа для всех, кому надо. А заменять разносортицу сокетов, файлов-флагов и черт знает чего ещё давно пора.
     
     
  • 6.58, Аноним (-), 01:11, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >kdbus имиет к Поттеру весьма косвенное отношение. Это универсальная основа для всех, кому надо.

    Дело в том, что по большому счету это не надо никому, кроме системдэшных хипстеров, которые и начали пропихивать dbus в ведро. Даже в новости написано, что автор этой спичечно-желудевой поделки - Грег КХ, который тоже системдэшный хипстер. Кдбус - это проект системдэшников для системдэшников. Но так как системд не нужен, то не нужен и кдбус.

    >А заменять разносортицу сокетов, файлов-флагов и черт знает чего ещё давно пора.

    Заменять чем (и вообще, зачем)? Другой разносортицей?

     
     
  • 7.100, Crazy Alex (ok), 23:03, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не надо потому, что нет. Тот D-Bus,  что сейчас есть, используется на все свои 100%. Будут новые возможности у ядерного (прежде всего в плане идентификации адресата и скорости) - будут и новые применения. systemd (который, таки ненужен) и так живёт.

    А заменять - именно стандартной шиной. Которую всегда можно стандартными инструментами просмотреть, запротоколировать, а при необходимости - и воткнуть модуль модификации сообщений. Чтобы странная идея рисовать свой очередной формат обмена через сокеты в голову никому не приходила. Но для этого нужна гарантия, что эта самая стандартная шина будет всегда и везде, в работоспособном состоянии и т.д. По факту в линуксе такую гарантию могут дать только разработчики ядра.

     
     
  • 8.108, Vkni (ok), 04:33, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Понятно дело Только пропускная способность этой шины всё равно лимитирована кол... текст свёрнут, показать
     
     
  • 9.109, Crazy Alex (ok), 04:58, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Там не такая уж и кольцевая топология Большинство сообщений летает всё же не бр... текст свёрнут, показать
     
     
  • 10.120, Vkni (ok), 08:45, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Достаточно одного приложения, шлющего broadcast ы, чтобы поставить систему раком... текст свёрнут, показать
     
  • 5.63, Аноним (-), 04:38, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Венду поливали грязью 15 лет за реестр

    А где у поттера реестр? Коронный вопрос.

     
     
  • 6.76, Andrey Mitrofanov (?), 11:27, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Венду поливали грязью 15 лет за реестр
    > А где у поттера реестр? Коронный вопрос.

    http://www.freedesktop.org/wiki/Software/Elektra/

     
  • 3.29, all_glory_to_the_hypnotoad (ok), 16:18, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > реализация kdbus для ядра Linux
    > так как безопасность, надёжность

    отлично поделил на ноль. Какие ещё вспомнишь фичи из существующих для чего-либо? Можешь смело продолжать ими свой список.

     
  • 3.54, Аноним (-), 22:22, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В юзерспейсе и иксы есть. Может их тоже в ядро...
     
     
  • 4.59, maximnik0 (?), 02:06, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > В юзерспейсе и иксы есть. Может их тоже в ядро...

    Так уже X в ядре есть - правда полузакрытая платная разработка ,вроде называется микроX или миниX .Думал разработка закрылась нет еще шевелятся (смотрел в октябре  прошлого года) заказы у них есть ,правда не много .Совместимость с классическими X не полная ,приложения нужно собирать под их версию X и либ,но и правда маленькое и шустрое -600кб модуль ядра ,3,5 либы ,из класических минусов нет сетевой потдержки ,за счет чего сделали гораздо шустрее .

     
  • 4.65, Аноним (-), 08:35, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В юзерспейсе и иксы есть. Может их тоже в ядро...

    Ну как бы ядро и само нынче по минимуму рисовать может. См. drm и kms.

     
  • 4.107, pavlinux (ok), 04:14, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    http filemare com browse 131 114 56 15 pub Linux fbui-0 11 2 tar gz code Fra... текст свёрнут, показать
     
     
  • 5.121, Vkni (ok), 08:46, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Here are some key features of "FramebufferUI":

    Это скорее список недостатков.

     
     
  • 6.124, pavlinux (ok), 17:57, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Here are some key features of "FramebufferUI":
    > Это скорее список недостатков.

    Can i see you realization? Benchmarks? Compare key features?
    Or you just peace da ball?

     
     
  • 7.125, Vkni (ok), 18:17, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Can i see you realization?

    Павлик, я в своё время посчитал кол-во "графических систем", сделанных под Linux - их около десятка. Неужели ты думаешь, что я настолько больной на голову, чтобы после этого создавать свой аналог DirectFB?

     
     
  • 8.131, pavlinux (ok), 03:41, 21/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    D 100500 ... текст свёрнут, показать
     
  • 7.127, Аноним (-), 18:58, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Can i see you realization? Benchmarks? Compare key features?
    > Or you just peace da ball?

    mgimo finished

     
     
  • 8.132, pavlinux (ok), 03:43, 21/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    йес, йес - э гёрл ... текст свёрнут, показать
     
  • 2.18, Аноним (-), 13:22, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Почему бы не вынести _это_ в юзерспейс?

    Пока что есть более важные вещи, которые определенно стоит вынести в юзерспейс раньше - сетевой стек, фаервол, стек блочных устройств (DM, mdraid, LVM).

     
     
  • 3.21, cmp (ok), 14:22, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    оу,оу, полегче, давайте еще планировщик процессорного времени в юзерспей вынесем, или даже лучше все ядро как процесс запускать, а какойнить command.com пусть будет ядром, назовем это линукс 98 фор ворк груп. атличная идея. Бил.
     
     
  • 4.50, freehck (ok), 22:07, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Линукс98? Зачем же. Назовём это Хурд.
     
  • 3.43, Crazy Alex (ok), 20:40, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Генод - в соседней новости. Здесь о линуксе речь. Арихтектура которого уже показала свою эффективность где только можно.
     

  • 1.4, Аноним (-), 11:07, 17/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    > Почему бы не вынести _это_ в юзерспейс ... весь текст скрыт

    Потому что от костыли _такого_ размера становится только хуже. Впрочем, даже будь такое решение удобным, просто началась бы война вокруг того, чей интерфейс лучше. У ядерного IPC уйма преимуществ, не зря его перым делом реализовали в Android (см. https://lkml.org/lkml/2009/6/25/3) и уже черте сколько лет пилят в Венде.

     
     
  • 2.6, anonymous (??), 11:35, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >У ядерного IPC уйма преимуществ

    Ты это так говоришь, будто его там сейчас нет.

     
     
  • 3.15, Аноним (-), 13:18, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>У ядерного IPC уйма преимуществ
    > Ты это так говоришь, будто его там сейчас нет.

    Высокоуровневого IPC - нет.
    А каждый раз велосипедить высокоуровневый протокол поверх низкоуровневого IPC, предназначенного для обмена сырыми данными - обезьянья работа.

     
     
  • 4.32, anonymous (??), 17:00, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >>>У ядерного IPC уйма преимуществ
    >> Ты это так говоришь, будто его там сейчас нет.
    > Высокоуровневого IPC - нет.
    > А каждый раз велосипедить высокоуровневый протокол поверх низкоуровневого IPC, предназначенного
    > для обмена сырыми данными - обезьянья работа.

    Осиль наконец преимущества разделяемых библиотек, школьник.

     
     
  • 5.45, Crazy Alex (ok), 20:44, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Их все осилили. И каждый ваяет свой велосипед. А вот эмулировать, скажем, сокеты как-то в голову не приходит, даже если голова совсем больная. Потому что ежу ясно, что эффективнее не будет - максимум можно сверху что-то наворотить, как в ZeroMQ.

    Вот и kdbus - будет стандартная реализация - больше народу уйдёт от самопала. А самопал в IPC - глупость редчайшая, так как IPC - это о взаимодействии и, соответственно, совместимости.

     
     
  • 6.48, Аноним (-), 21:56, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    чем sysv ipc не угодил ?
     
     
  • 7.66, Аноним (-), 08:39, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > чем sysv ipc не угодил ?

    Тем же чем не угодила отправка сырых кадров эзернета для того чтобы отправить сообщение на опеннет. Да, можно сказать что ну его нафиг - TCP/IP стек в ядре. Нехай программа сама его реализует. Ну вот использовать sysv ipc для того для чего используют dbus - это примерно как отсылать сообщения на опеннет путем компоновки всех необходимых кадров эзернета самолично. Без использования соотв. услуг ядра. Тyпoй пуризм и баранья упертость еще и не до такого доводит.

     
  • 7.101, Crazy Alex (ok), 23:08, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вы с ним разбирались? Мало того, что опять неструктурированные блобы гоняет, так еще и буфер очереди совершенно смехотворный.Да и отправителя там не узнать - ни pid, ни uid.
     
  • 6.55, all_glory_to_the_hypnotoad (ok), 22:25, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Вот и kdbus - будет стандартная реализация - больше народу уйдёт от самопала.

    никто не уйдёт от нормальных реализаций IPC, хотя бы лишь из-за отсутствия этого kdbus для других posix'оподобных ос. Ниша (?)dbus это максимум десктопная интеграция + некоторые стандартные системные задачи, в общем где он и сейчсс спокойно живёт.

    Сервисы которым нужен IPC для масштабирования и/или изоляции процессами никто на (?)dbus переводить не будет, это мечты дилетантов.

     
     
  • 7.68, Аноним (-), 08:44, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > никто не уйдёт от нормальных реализаций IPC,

    "Никто не уйдет от компоновки сырых фреймов эзернета к дерганию вызовов ядра для работы с TCP/IP".

     
     
  • 8.80, all_glory_to_the_hypnotoad (ok), 13:59, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Гуманитарное днище, угомонись уже со своими тупыми аналогиями ... текст свёрнут, показать
     
  • 7.84, Алоним (?), 17:28, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В других ОС будуть использовать dbus. Сюрпрайз. :-)
     
     
  • 8.87, all_glory_to_the_hypnotoad (ok), 18:24, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    С головой дружишь хоть немного Если в других ОС можно использовать сам dbus, то... текст свёрнут, показать
     
  • 7.102, Crazy Alex (ok), 23:11, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Первое, где сейчас нужна вменяемая компонентная архитектура - это как раз десктоп. И хорошая изоляция, идентфикация адресата и т.п. для этого абсолютно критичны.

    А другие POSIX-системы - не смешите. Нет их. Из живого есть ещё макось - но там обычно совсем свой софт. У *BSD ниша только уменьшается, что там осталось? Подыхающий солярис и изолированный мирок AIX?

     
     
  • 8.128, Аноним (-), 19:23, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И сколько там процентов у линух-десктопа ... текст свёрнут, показать
     
  • 6.94, arisu (ok), 14:33, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вот и kdbus - будет стандартная реализация - больше народу уйдёт от
    > самопала.

    тоже правильно: будет легче детектировать идиотов. в принципе, использование в программе dbus — уже признак нехилого идиотизма. а с kdbus идиотизм вообще будет ядерный.

     
     
  • 7.103, Crazy Alex (ok), 23:20, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не знаю, как ты, а я был бы очень рад, если бы всё, что у меня умеет сейчас управляться через сокеты, начиная с rtorrent того же, умело какие-то более структурированные механизмы. Да и те же нотификации с DBus выглядят куда как логичнее, чем фридесктоповская механика, подразумевающая существование иксов и окна, принимающего сообщения.

    В сущности, современную систему как раз вокруг такой (ладно, почти такой) шины надо целиком строить, на событийной рахитектуре. От аналога udev, нотификаций DHCP-клиента и прочей системщины до выставления всего пользовательского интерфейса в виде интерфейсов D-Bus, а уже потом - гуя поверх них. Чтобы для всего этого дела возможна была вменяемая единая конфигурация.

     
     
  • 8.104, arisu (ok), 23:22, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    разве ж я когда был против идеи нормальной общей шины но когда мне вместо неё в... текст свёрнут, показать
     
     
  • 9.110, Crazy Alex (ok), 05:02, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну так с реальностью надо дружить Был бы выбор DBus или вменяемая шина - я бы... текст свёрнут, показать
     
     
  • 10.112, arisu (ok), 05:07, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    нафиг-нафиг лучше вообще без, чем с таким есть мнение, что 171 обобщённый ва... текст свёрнут, показать
     
  • 2.47, Аноним (-), 20:51, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это вы сейчас binder хотите с kdbus сравнить? Опять сравнили теплое с мягник
     

  • 1.7, Kroz (??), 11:40, 17/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Высокая производительность

    Тесты есть? Чтобы было понятно на сколько и в каких ситуациях.
    А то бывает, что некоторые повыкидывают NOP'ы из своих программ, и начинают вопить про "высокую производительность", а потом выясняется, что производительность улучшилась-то на целых 0.0001%.

     
     
  • 2.69, Аноним (-), 08:45, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Переключения контекста - штука напряжная. Одна из причин по которой микроядра перманентно в ж...е.
     
     
  • 3.74, Ph0zzy (ok), 09:00, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    L4 вполне себе так успешны
     
     
  • 4.82, Аноним (-), 16:11, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Историю успеха в студию
     

  • 1.9, anonymous (??), 11:46, 17/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    > Высокая производительность

    Производительность в dbus вообще не нужна. dbus предназначен для обмена небольшими структурированными данными. Если надо скорость и объём, то для этого есть Unix domain socket. Впрочем, сейчас найдутся умники, которые будут гонять по нему фильмы и удивляться, что ой как оно тормозит. Однозначно надо в ядро пихать!

     
     
  • 2.10, ferux (ok), 12:26, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Впрочем, сейчас найдутся умники, которые будут гонять по нему фильмы

    конечно будут. Где это видано - гонять управляющие потоки по одному IPC, а потоки данных - по другому, в рамках решения одной задачи?

    Другое дело - если будет тормозить, то нужно ждать/писать новый, более гибкий в этом плане IPC.

     
     
  • 3.27, all_glory_to_the_hypnotoad (ok), 16:06, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Везде это видано. Например, стандартные пайпы  типа cmd | cmd2 | cmd3. В сложных приложениях состоящих из нескольких процессов механизмы ещё больее разнообразны.
     
  • 3.95, arisu (ok), 14:35, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > конечно будут. Где это видано - гонять управляющие потоки по одному IPC,
    > а потоки данных - по другому, в рамках решения одной задачи?

    везде, где данных много, а архитекторы вместо жопы внизу и жопы на шее имеют нормальное анатомическое строение.

     
  • 2.12, Аноним (-), 13:06, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >Например, некоторые разработчики нашли применение в kdbus даже для передачи звука в системе;
    >Впрочем, сейчас найдутся умники, которые будут гонять по нему фильмы и удивляться, что ой как оно тормозит.

    Уже погоняли, похоже.

     
  • 2.20, Аноним (-), 13:35, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > dbus предназначен для обмена небольшими структурированными данными. Если надо скорость и объём, то для этого есть Unix domain socket.

    Звучит примерно так же грамотно, как и "HTTP предназначен для обмена небольшими структурированными данными. Если надо скорость и объём, то для этого есть UDP."

     
     
  • 3.28, all_glory_to_the_hypnotoad (ok), 16:12, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > HTTP предназначен для обмена небольшими структурированными данными
    > ... Если надо скорость и объём, то для этого есть UDP

    такое мог ляпнуть тольтко клинический идиот. Вообще HTTP действительно какое-то время не был приспособлен для передачи больших объёмов данных и для этого использовали другие протоколы вроде FTP с раздельными контрольным каналом и каналом передачи данных.

     
     
  • 4.51, freehck (ok), 22:13, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >> HTTP предназначен для обмена небольшими структурированными данными
    >> ... Если надо скорость и объём, то для этого есть UDP
    > такое мог ляпнуть тольтко клинический идиот. Вообще HTTP действительно какое-то время не
    > был приспособлен для передачи больших объёмов данных и для этого использовали
    > другие протоколы вроде FTP с раздельными контрольным каналом и каналом передачи
    > данных.

    Кгхм. Вы что, считаете, что он сейчас приспособлен для передачи больших объёмов данных?
    Это при том, что он не поддерживает, например, докачку? Я посмотрю на Вас, когда Вы будете скачивать LiveDVD по http, и на 95% у вашего провайдера случится обрыв канала. То-то радости будет всё заново качать.

     
     
  • 5.53, all_glory_to_the_hypnotoad (ok), 22:18, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Это при том, что он не поддерживает, например, докачку?

    поддерживает. Тебе после разморозки разве ещё не сообщили?

     
     
  • 6.57, Аноним (-), 23:44, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    С июня 1999 товарищ был в криогенном сне, сделайте ему скидку, не отошел еще.
     
  • 5.70, Аноним (-), 08:47, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это при том, что он не поддерживает, например, докачку?

    А про HTTP код 206 "partial content" - не, не слышали? У, хорошая у вас там криокамера.

     
     
  • 6.98, freehck (ok), 22:11, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Это при том, что он не поддерживает, например, докачку?
    > А про HTTP код 206 "partial content" - не, не слышали? У,
    > хорошая у вас там криокамера.

    Да. Я, пожалуй, и в самом деле в бункере зимовал. =)

     
  • 2.37, Crazy Alex (ok), 17:12, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вот в результате таких верований всё имеет свои форматы обмена и, кроме велосипедизма и сопутствующих багов, нет универсального механизма мониторинга и модификации на лету.
     
     
  • 3.96, arisu (ok), 14:37, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот в результате таких верований всё имеет свои форматы обмена и, кроме
    > велосипедизма и сопутствующих багов, нет универсального механизма мониторинга и модификации
    > на лету.

    а, да-да, я знаю. «у нас есть 14 стандартов, и мы придумали один универсальный…»

     
     
  • 4.105, Crazy Alex (ok), 23:22, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну скажи, какие есть плюсы у, скажем, сокетного IPC i3 перед шиной? А вот недостатки очевидны - автору пришлось наляпать велосипед по приему, отправке и базовому парсингу сообщений, и нет простого средства отмониторить в случае нужды, что за фигню ему туда шлют.
     
     
  • 5.106, arisu (ok), 23:25, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    а всё почему? потому что дбас — говно. есть также мнение, что если говно засунуть в ядро, то не говно превратится в конфетку, а в ядре будет куча говна.
     
     
  • 6.111, Crazy Alex (ok), 05:05, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то скорее потому, что там, где есть i3 (и, соответственно, нет DE) DBus вполне может и не быть.

    Да, а чем он тебя так раздражает? Я в реализацию не лез, но API там вполне вменяемые. ну разве что интерфейсов хотелось бы, как в COM - но это уже мои заморочки.

     
     
  • 7.117, arisu (ok), 05:16, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вообще-то скорее потому, что там, где есть i3 (и, соответственно, нет DE)
    > DBus вполне может и не быть.

    …потому что оно говно и от него стараются избавиться.

    > Да, а чем он тебя так раздражает?

    про кривокод даже на лоре писали, это уже давно не смешно.

    про то, что оно не текстовое — я писал, кажется. а если не писал, то сейчас пишу: оно не текстовое. собственно, всё: дальше мне уже неинтересно. то есть, мне было немного интересно, пока я на свою голову не почитал спеки формата. в общем, грустное оно. так никто не делит пышки.

     

  • 1.23, ццц (?), 15:47, 17/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    не нужно

    а то этих системд-упорышей не остановить - навалят в ядро своего *овнокода

     
     
  • 2.26, ibujhbygblfh0 (?), 16:05, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >не нужно

    возможно и не нужно

    >а то этих системд-упорышей не остановить - навалят в ядро своего *овнокода

    kdbus ваяет не САМ системд-поделкин, а "некто" Greg KH, так что очень велика вероятность, что г-нокода там не будет совсем.

    если что я совсем не фанат поделки потера, но и не хэйтер, смотреть на это дело надо объективно, может быть в обозримом будующем таки будет толк от всей этой хрени.

     
     
  • 3.33, ццц (?), 17:04, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > kdbus ваяет не САМ системд-поделкин, а "некто" Greg KH, так что очень велика вероятность, что г-нокода там не будет совсем.

    https://lkml.org/lkml/2014/4/2/420

    в компании у Грега те еще г-нокодеры :) Так что еще как будет...

     
     
  • 4.46, Crazy Alex (ok), 20:45, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну тем более какие пробелмы - есть кому контролировать процесс.
     
     
  • 5.49, Аноним (-), 21:59, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну тем более какие пробелмы - есть кому контролировать процесс.

    правильно. Есть - RedHat - как работодателю Лени и Грега. Вот и контролируют - что бы все попало.
    Не потрудившись даже разработать как следует API. Главное свое запихнуть в ядро - другим будет сложнее и пофик что сырое суем - как с kpatch..

     
     
  • 6.71, Аноним (-), 08:50, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > правильно. Есть - RedHat - как работодателю Лени и Грега.

    Вообще-то KH насколько я помню из зюзи, так что FAIL - побиение редхата не состоится. Или придется сразу двух пинать. А вообще их таких много. Просто вы их не видите, потому что отморозились в вашем узком мирке где есть только вы и ваши потребности. А на планете более 6 миллиардов людей. И у них потребности иные. Вот они и делают то что надо им а не вам.

     
     
  • 7.83, Аноним (-), 16:20, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А на планете более 6 миллиардов людей.

    Вас в каком году заморозили, уже более 7 млрд людей на планете земля. Так что с разморозкой.
    > И у них потребности иные. Вот они и делают то что надо им а не вам.

    О да у 7 млрд иные потребности: пожрать, место где поспать и потрахатся. Им на kdbus вообе пофигу.

     

  • 1.24, all_glory_to_the_hypnotoad (ok), 15:58, 17/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Привилегированные пользователи могут подключить к потоку сообщений без создания специализированных механизмов в пространстве пользователя

    что подключить?

     
     
  • 2.30, ццц (?), 16:49, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    поток сообщений :)
    раньше для этого вещества требовались, а теперь kdbus и вперед...
     
  • 2.72, Аноним (-), 08:51, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > что подключить?

    Нечто типа дебагера/трассира, позволяюшего оптом сгрести сообщения на шине и изучать кто, что, куда и почему. В случае ядра такую штуку проще сделать, потому что ядро - в нужном месте и в нужное время.

     

  • 1.25, all_glory_to_the_hypnotoad (ok), 16:03, 17/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    > апример, некоторые разработчики нашли применение в kdbus даже для передачи звука в системе;

    если можно систему заюзать каким-нибудь неестественным способом и всё сделать через задницу, то всегда найдётся олигофрен который это сделает и будет считать сие творение Ъ. Так что это скорее минус и упоминать о привлечении таких придурков на рекламируемую технологию лишний раз не стоит.

    И не звука, а видео.

     
  • 1.41, Mirraz (ok), 19:02, 17/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что такого предоставляет этот kdbus, чего нельзя было реализовать с помощью сокетов? Пусть даже новым типом или протоколом, но в рамках системы сокетов?
     
     
  • 2.52, freehck (ok), 22:17, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Что такого предоставляет этот kdbus, чего нельзя было реализовать с помощью сокетов?
    > Пусть даже новым типом или протоколом, но в рамках системы сокетов?

    Вы неправильно задаёте вопрос. Шина как раз и нужна для того, чтобы избавиться от изобилия сокетов. Если у вас каждая программа общается с каждой, то у вас количество сокетов будет n!, а в случае системной шины - только n.

    С другой стороны, действительно не понятно, зачем это в ядре.

     
     
  • 3.56, all_glory_to_the_hypnotoad (ok), 22:55, 17/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Если у вас каждая программа общается с каждой, то у вас количество сокетов будет n!,

    Вот же еврей безграмотный, не n!, а n(n  1)/2.

    > а в случае системной шины - только n.

    Типа замёл гогно под ковёр и сделал вид что не нагадил? Нет, такого в инженерии не бывает, полный mesh никак не масштабируется линейно даже с общей "системной шиной" не смотря на видимые N сокетов из юзерспейса. Внутри это всё равно будет ощутимо больше O(N) и по потреблению ресурсов и по локам/cpu.

    Можно только снизить коэффициенты по памяти за счёт шаренной памяти при передачи больших объёмов данных, чего видимо и делает kdbus.

     
     
  • 4.99, freehck (ok), 22:25, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >> Если у вас каждая программа общается с каждой, то у вас количество сокетов будет n!,
    > Вот же еврей безграмотный, не n!, а n(n  1)/2.

    Точно. Я зачем-то связи перемножил, вместо того, чтобы сложить. Да и взять сочетание из n по 2 было бы разумнее по смыслу. Спасибо. Я вчера был не в своей тарелке.

    >> а в случае системной шины - только n.
    > Типа замёл гогно под ковёр и сделал вид что не нагадил? Нет,
    > такого в инженерии не бывает, полный mesh никак не масштабируется линейно
    > даже с общей "системной шиной" не смотря на видимые N сокетов
    > из юзерспейса. Внутри это всё равно будет ощутимо больше O(N) и
    > по потреблению ресурсов и по локам/cpu.

    ну так про O(N) никто и не говорил. Но если уж сложность анализировать, то она очевидно будет как раз между n и n^2,  что в любом случае какой-никакой, а плюс.

    > Можно только снизить коэффициенты по памяти за счёт шаренной памяти при передачи
    > больших объёмов данных, чего видимо и делает kdbus.

    А разумно ли передавать по шине большие объёмы данных? Мне казалось, что изначально цель была - пересылка большого количества маленьких управляющих конструкций. Запуск программ, пересылка событий и т.п.

     
  • 3.86, Олег (??), 18:19, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Если у вас каждая программа общается с
    > каждой, то у вас количество сокетов будет n!, а в случае
    > системной шины - только n.

      Стоп-стоп. Может проблема как раз в кривой архитектуре ПК, если у Вас каждая программа вынуждена общаться с каждой?

     
  • 2.73, Аноним (-), 08:53, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Что такого предоставляет этот kdbus, чего нельзя было реализовать с помощью сокетов?

    Если заново сделать протокол с множесвенными отправителями и подписчиками ... получится как раз нечто типа dbus. А нафига его еще раз делать?

     
  • 2.116, Crazy Alex (ok), 05:15, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Например, можно точно знать, кто прислал сообщение
     
     
  • 3.119, arisu (ok), 05:28, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Например, можно точно знать, кто прислал сообщение

    а зачем? что тебе дадут pid'ы? а uid'ы? зачем они? дайте каждому юзеру по токену, если надо, и пусть ними авторизуются. я токен могу с собой носить какой хочу и куда хочу. даже между юзерами передавать, если мне вдруг так удобней показалось.

     

  • 1.60, fi (ok), 03:50, 18/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если добавить сеть, то можно уже сравнивать с amqp :))
     
     
  • 2.79, Аноним (-), 13:00, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вопрос в том почему бы туда сразу его и не впилить, вместо дбас.
     
     
  • 3.113, Crazy Alex (ok), 05:07, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Потому что это монстр, на фиг не нужный в рамках ПК и часто даже для проиводственных задач адски избыточный
     
  • 2.114, Crazy Alex (ok), 05:12, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вот этого не надо. Еслу уж впиливать сеть - так совершенно тупо - дал адрес(а) - и туда летит всё, что можно, за исключением простейшего autodiscovery, как на свитчах делается. Без повторных отправок, гарантий доставки и подобной хрени. Надо будет - пусть это клиенты поверх реализуют. Сильно надо будет - нарастёт отдельная либа, которую эти клиенты будут юзать. Чай, не энтерпрайз какой.
     

  • 1.81, Kodir (ok), 14:28, 18/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    То ли у меня с русским проблема, то ли у автора....

    "Kdbus может использоваться как в самодостаточном виде, например, данная система уже поддерживается в systemd"

    Непонятно, причём тут "самодостаточность" и то, что модуль поддерживается посторонней прогой?? Самодостаточность - это значит программе не нужны внешние зависимости. Каким боком тут системД?

     
     
  • 2.88, Пыщь (?), 19:07, 18/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ну оно для сустемд и задумано вообще-то... Такой вывод можно сделать рассматривая контингент просящих "dbus в вЯдро".
     
  • 2.90, Аноним (-), 08:22, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > "Kdbus может использоваться как в самодостаточном виде, например, данная система уже поддерживается в systemd"
    > Непонятно, причём тут "самодостаточность

    Всмысле как самодостаточный IPC без симуляции интерфейса D-Bus.

     

  • 1.91, Аноним (-), 12:32, 19/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Пока эмулятор dbus через kdbus есть только у systemd.
    Остальные подтянутся.
    Кстати: на kdbus хотят переводить pulseaudio и gvfs :-)
    gdbus будет тоже поддерживать kdbus.
     
     
  • 2.97, arisu (ok), 14:38, 19/01/2015 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Кстати: на kdbus хотят переводить pulseaudio и gvfs :-)

    отличный список ненужно.

     
     
  • 3.115, Crazy Alex (ok), 05:14, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, gvfs - это, как по мне, даже больший урод, чем пульс. Вместо нормального автомонтирования с доступностью всему софту имеем частное решение. А потом оказывается, что в файл-менеджере файлик юзер видит, а в deadbeef его засунуть - никак. Видит око, да зуб неймёт.
     
     
  • 4.118, arisu (ok), 05:19, 20/01/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Кстати, gvfs - это, как по мне, даже больший урод, чем пульс.
    > Вместо нормального автомонтирования с доступностью всему софту имеем частное решение.
    > А потом оказывается, что в файл-менеджере файлик юзер видит, а в
    > deadbeef его засунуть - никак. Видит око, да зуб неймёт.

    ну так DE-шки же. авторы DE-шек свято уверены, что есть только софт под их DE, который использует их библиотеки, и досадное недоразумение в виде ядра, которое лучше бы тоже переписать на их библиотеках.

    в итоге одни сочиняют KIO, другие gvfs, а вместе всё это как было кучей хлама, так и остаётся.

     
     
  • 5.137, Зачем (?), 18:24, 31/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > авторы DE-шек свято уверены, что есть только софт под их DE, который использует их библиотеки, и досадное недоразумение в виде ядра, которое лучше бы тоже переписать на их библиотеках.

    :-D

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

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