NERV

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » NERV » Антиляп » Космодром. Любые обсуждения, связанные с космосом. Часть 4.


Космодром. Любые обсуждения, связанные с космосом. Часть 4.

Сообщений 511 страница 520 из 1857

511

Mentat написал(а):

Jorian
К сожалению я не особо вкурсе что эти страшные буковки значат. Тут пмсм важен вопрос может ли пропущенный глюк выползти и дать счастья или нет.

Всегда есть шанс, даже на наших БЦВК, что при определённом положении луны, марса и сатурна вылезет бяка, которую сложно найти на Земле. Но тщательное тестирование, пуски, дополнительная защита и резервирование снижают этот риск, но не исключают.

0

512

Если что, на Линуксе можно точно так же СРВ сделать.

Извините, нет. Никак. Другая структура обработки прерываний. В свое время я предметно интересовался QNX/Flora и сравнивал архитектуры, так что могу судить уверенно.

+1

513

КоТ Гомель написал(а):

Извините, нет. Никак. Другая структура обработки прерываний. В свое время я предметно интересовался QNX/Flora и сравнивал архитектуры, так что могу судить уверенно.

https://ru.wikipedia.org/wiki/RTLinux
А СРВ на C++ доступны нынче даже домашним пользователям 3D принтеров

0

514

Busca написал(а):

https://ru.wikipedia.org/wiki/RTLinux
А СРВ на C++ доступны нынче даже домашним пользователям 3D принтеров

Busca, и что мы видим в статье по вашей ссылке?

Приложения реального времени выполняются в пространстве ядра, следовательно, они могут переписать часть памяти ядра и сломать систему

Взаимодействие между RT-подсистемой и Linux не может быть реального времени
Ядро Linux выполняется в бэкграунде, следовательно, задачи Linux могут испытывать большие задержки

Невозможно использовать драйверы Linux в задачах реального времени, следовательно, разработчики приложений реального времени вынуждены переписывать драйверы устройств поверх RT-подсистемы

Так в каком это месте Линукс, извините? Это WindRiver, вполне достойное решение, но не линукс.
----------------------

Раз пошла такая пьянка, объясняю голосом.

СРВ - система реального времени. Основной признак - время отклика системы ограничено только аппаратно.

Все эти игрушки - линуксСРВ, виндовсСРВ - это так называемые softRTS, появившиеся тогда, когда всякие там редхаты и другие захотели себе кусочек рынка.

Только в системах на базе QNX или аналогах есть реально RTS, когда прерывание обрабатывается сразу А НЕ СТАВИТСЯ В ОЧЕРЕДЬ на обработку, как в Linux/WindowsMacOS. Ядро в пингвине и планировщик задач сделаны так, что иначе не получается, плюс выделение памяти, плюс межпроцессная коммуникация - все именно так, как описано в той статье.

То есть, если мы полностью полагаемся на автоматику, а линукс у нас только оконца показывает и отклик на тач рисует, а без него все работает - то норм.

домашним пользователям 3D принтеров

там вообще нет ОС как таковой, там embdded-controller с 25-30 прошитых команд

и С++ не язык для RTS, только asm, ну еще немножко Forth, слишком все завязано на порты

+2

515

Busca написал(а):

https://ru.wikipedia.org/wiki/RTLinux

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

Если надо систему реального, то и делать надо систему реального. А не чёрт пойми что. Сейчас ракеты серьёзные, космонавтам могут закинуть вагон нубуков для личного пользования. Хоть на линухе, хоть на ассемблере. В корабле же не должно быть ничего лишнего - чё там, косынку раскладывать на борткомпе собираются?

И по любому же денежек на ентот прожэкт отсыпано немало.

П.С.
А ещё там не только линух, там ещё такая милая заметка про не экранированную гражданскую электронику. Вот это как объяснить, кроме "ну корабль же недооолго летит"?

Тут где-то звучал аргумент, что-де летают же. И шо, Кац предлагает уповать на везение и ждать, когда начнут падать?

Отредактировано Т-12 (08-06-2020 21:16:00)

0

516

КоТ Гомель написал(а):

там вообще нет ОС как таковой, там embdded-controller с 25-30 прошитых команд

и С++ не язык для RTS, только asm, ну еще немножко Forth, слишком все завязано на порты

Ну во первых, там есть ОС. Тыкни в любой 3D принтер или ЧПУ станок и ты увидишь там чип который содержит в себе блок работающий с тем самым низкоуровневым програмным кодом, но это не отменяет того, что фактическое управление осуществляется тем же кодом на C++
По факту - выходит что мы программируем СРВ не напрямую ассемблером, но от этого она не перестаёт быть СРВ

Почему и Спейсы, и Боинг, и наши разработчики не могут использовать такое же решение?

Т-12 написал(а):

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

А кто говорит, что это удачное решение. Я просто привёл это как контраргумент о ПРИНЦИПИАЛЬНОЙ невозможности СРВ на Линуксе.

Отредактировано Busca (08-06-2020 21:27:25)

0

517

Busca написал(а):

контраргумент о ПРИНЦИПИАЛЬНОЙ невозможности СРВ на Линуксе.

Так ведь нельзя же.

ПРИНЦИПИАЛЬНО НЕТЪ.

Это как быть немножко беременной.

+1

518

Т-12 написал(а):

Так ведь нельзя же.

ПРИНЦИПИАЛЬНО НЕТЪ.

Это как быть немножко беременной.

Если я обращаюсь к СРВ через интерфейс предоставленный линуксом, если я обновляю прошивку микроконтроллеру основанную на линуксе, то значит и ситема В ОБЩЕМ ПОНИМАНИИ основана на Линуксе. Тут уже не важно в сколько этапов идёт трансляция до машинного кода внутри микроконтроллера. "Если нечто выглядит как утка, плавает как утка и крякает как утка, то это, вероятно, и есть утка".
Вот если бы я с СРВ мог работать одновременно и через ассемблер и через Линукс, то я бы сказал что это дополнительная оболочка. Но в большинстве случаев - это не так. Хотя бы потому что кодить монструозные системы управления на чистом машинном коде тупо неудобно и непродуктивно.

0

519

Ну во первых, там есть ОС.

А давайте вы сперва перечитаете определение ОС?

ОС - комплект программ, предоставляющий API другим программам, назначение ОС - абстрагировать прикладной софт от деталей аппаратной реализации. Чтобы не писать номер головки и дорожки диска, а адресоваться к диску С: каталогу LOG файлу 1.txt. Потому что завтра дисковод поменяется, номер головки и дорожки пойдет по звизде, послезавтра диск вообще станет виртуальный - а ЛОГИЧЕСКИЙ адрес "C:\LOG\1.txt" сохраняется от 1991 до 2021 года.

Когда вы запустите на 3D принтере тетрис, тогда можно сказать, что на 3D принтере есть ОС.

А что станок ЧПУ понимает встроенный язык, так ведь это еще не ОС. У меня в детстве Байт-010 встроенный бейсик понимал, и че? Портировать на него что бы то ни было все равно невозможно, надо переписывать налысо на том самом встроенном бейсике.

Теперь смотрим, что суть риал-тайм система. Вот работает компьютер, подает по очереди команды на исполнение в процессор. И тут прерывание, я кнопку нажал. Или тот же тачскрин тронул. Надо вызвать обработчик нажатой кнопки, он должен получить данные, понять, какому процессу в системе они предназначены, и мне отсигналить, что данные получены (изменить цвет тачскрина) - вызвав для этого соотв. процесс вывода на тачскин спрайта другого цвета.

В реал-тайм ОС этот процесс пойдет ВНЕ зависимости от очереди, все остальное по умолчанию уйдет в фон. А в обычной ОС мой запрос (нажатая кнопка) будет поставлен в очередь планировщика. Дональд Кнут, "Операционные системы" же. И когда до него дойдет очередь, вот тогда тачскрин под касанием покраснеет. А если к тому времени уже не будет ни меня, ни корабля вокруг - "купите уже нормальный проц и память, а то как лохи на 4ГБ летаете", как нам когда-то отвечали на вопрос - "почему винда тормозит, а QNX нет".

Какими программными средствами QNX это делает - вопрос несколько не по уровню википедии. Тут надо читать первоисточники, я в эти дебри отпогружался в свое время, и повторять не горю желанием.

Так вот, когда канадцы сделали QNX платной, возникла нужна в свободной RTOS. Сюда-то и попытались влезть Red Hat, они хотели сделать дистр пингвина, обрабатывающий все запросы ОЧЕНЬ БЫСТРО, ну прям ВООБЩЕ!!!

Да, на малом числе запросов разницы не видно. Но в промышленных применениях, например, на химических комбинатах, где реально 65000 задвижек и каждая стучится в порт 2-3 раза/сек, разница видна сразу.

Поэтому Linux/windows не могут быть по определению RTOS. Они обрабатывают запросы и выделяют память исходя из условия общей производительности, а не максимально быстрой реакции. Чтобы сделать из Пингвина RTOS там, для начала, надо выкинуть планировщик. Потом межпроцессное взаимодействие переписать полностью, т.к. unix-soket откуда растут ноги, изначально не RT, он сетевой оптимизированный.

Впрочем, я обещал в дебри не лезть. Исходники к вашим услугам, обучающие курсы и всякое такое, сейчас не то, что в 1990х, когда сраную коллизию в sysinit никто не мог на русском описать, и даже на буржуйском немного находилось достоверной инфы.

+4

520

КоТ Гомель написал(а):

Впрочем, я обещал в дебри не лезть

А мне интересно   http://read.amahrov.ru/smile/Laie_86.gif

0


Вы здесь » NERV » Антиляп » Космодром. Любые обсуждения, связанные с космосом. Часть 4.