1. Планируется использовать 1.6, поскольку в версиях <1.5 поставщик не мог собрать драйвер последовательных каналов. В 1.5 есть некоторые глюки, которые вроде поправили в 1.6.
2. Те средства, что не знают о маркировке полей вроде не пострадают, но они же при обмене в TCP/IP выдают ответные пакеты, которые будут без меток и уже ОС может не принимать такие пакеты. То есть TCP сессия не сможет по всей вероятности функционировать выше уровня 0. Интересно знать как дело обстоит наверняка.
3. Да нам мандатные метки не нужны и при передаче конфиденциальных данных в сетевой среде думаю о возможности применить VPN. Имею ввиду ту подсеть, где выполняется передача конфиденциальной информации. Там где имеем исполнители и датчики использовать обычные сетевые средства.
4. Да QNX был реализован и датчики на основе SoC без ОС и терминалов. То что QNX должен был подпадать под сертификацию это очевидно, но вот не так очевидно с ячейкой, которая выполнена на SoC - она имеет только сетевой интерфейс, но весь код написан без ОС и ячейки не имеют терминалов и других пользовательских интерфейсов.
5. Почему 1.4? Разве 1.6 отсутствует для МО?
На предлагаемом рисунке весьма условно нарисованы возможные потоки данных. Там где стоит знак вопроса у меня есть сложности понимания в возможности работы таким образом. Ряд вопросов:
1. Как я понимаю, некоторые устройства в /dev/ могут быть переведены на уровень 1 для возможности управления ими с уровня пользователя 1 или это делается иначе через группы?
2. Для работы с данными уровнем ниже возможно только их чтение и корректировка недопустима. То есть такие данные должны быть изменены с уровня 0 например другим пользователем или процессом
3. Можно ли передавать данные внутри процесса сервера между потоками разных уровней. Как я понял сервер может слушать с уровня 0 и при обращении клиента с меткой 1 следует создавать поток (thread) обслуживающий клиента на уровне 1. Но с этого уровня поток (thread) уже не сможет работать с клиентами и серверами, имеющими уровень 0. Таким образом у сервера должны быть потоки (threads) для работы с клиентами и серверами уровня 0. Так как потоки (threads) наследуют общее пространство данных, кроме стека, то тут появляется возможность обмена данными между ними. Механизм установки метки при создании потока (thread) в процессе распространяется на процесс или на поток - это не совсем понятно. Если на процесс, то все имеющиеся открытые файлы и вновь открываемые, в том числе и сокеты, будут наследовать уровень 1. Как тогда возможно работать с клиентами и серверами с уровнем 0?
4. Для класса АС 2 в РД указано, что операторы имеют равные права, но информация хранится на разных носителях. Это значит, что на одном носителе не может быть двух уровней информации? Стоит ли рассматривать ОЗУ СВТ как носитель в этом случае, или только диск может быть носителем и вся информация на нем должна быть одного уровня? То есть весь диск либо 0, либо 1, но не 0 и 1. Как это соотносится с ОС СН?