Системная шина
Системная шина решает вопрос унифицированного оперативного обмена системными и пользовательскими сигналами между модулями ядра и пользовательскими процессами.
Системная шина работает по принципу брокера сообщений:
- есть источник сигналов, который публикует необходимую информацию в файл;
- есть один или несколько потребителей, которые подписываются на файл и читают один файл одновременно; если у системного сигнала нет подписчиков – он остаётся как есть в файле;
- на файл можно подписаться и можно отписаться.
Системные процессы публикуют свои сигналы в файлы /bus. Пользовательские процессы публикуют свои сигналы в файлы с именем в виде имени пользователя (префикс) и уникального номера(суффикс).
Если публикация сигнала происходит на другую машину – в эту схему добавляется префикс в виде имени машины.
Пользовательские процессы пишут сигналы только в свои топики. Читать топики ядра могут любые процессы. Сигналы можно читать только в том случае, если файл помечен на экспорт.
Типичные команды:
- опубликовать сигнал в файл;
- прочитать сигнал из файла;
- подписаться на файл;
- отписаться от файла;
- подписаться на файлы по шаблону;
- отписаться от файлов по шаблону.
Файлы по шаблону – включает в себя образец строки, при совпадении которого в любом месте имени файла считается, что потребитель получит подписку на такие файлы, при условии, что потребитель имеет право читать эти файлы, а сами файлы (если они не принадлежат потребителю) – помечены на экспорт.
2023-10-25 10:37:10