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