Jump to content

    
Sign in to follow this  
jenya7

RTOS на Линуксе

Recommended Posts

36 minutes ago, haker_fox said:

После истории с Боингом мне уже кажется много подозрительным и некачественным в угоду "безнесу"

История с Боингом лежит, по большей части, в административной плоскости - FAA слишком понадеялась на DER'ов самого Боинга.

Share this post


Link to post
Share on other sites
17 minutes ago, haker_fox said:

это меня очень сильно волнует) Интересно, более именитые фирмы, такие как Siemens и Fanuc вставляют в свои ПЛК линукс или нет? Кто-нибудь, уважаемые коллеги, владеет данным вопросом?

Да многие уже вставляют, по крайней мере в линейки с опцией IoT: Weidmuller, OMRON, Phoenix и т.д.
Но линукс там не самое главное, главное рунтайм ядро CoDeSys. 
Именно надежность CoDeSys и сподвигла производителей на эту халяву с линуксом. 
Естественно надежность остальных сервисоы типа WEB-а, MQTT, Node.js в этих PLC никто гарантировать не собирается, но никто на них и не полагается.  
 

Share this post


Link to post
Share on other sites
4 minutes ago, AlexandrY said:

Естественно надежность остальных сервисоы типа WEB-а, MQTT, Node.js в этих PLC никто гарантировать не собирается

Так, они надеются на MMU? Т.е. если сервис WEB грохнулся, то он типа не заденит CoDeSys?

Share this post


Link to post
Share on other sites
29 minutes ago, haker_fox said:

Интересно, более именитые фирмы, такие как Siemens и Fanuc вставляют в свои ПЛК линукс или нет?

Именитые фирмы экономят деньги, так что в большинстве продуктов никакого Линукса нет.

 

8 minutes ago, haker_fox said:

Т.е. если сервис WEB грохнулся, то он типа не заденит CoDeSys?

Нет, не заденет - с пользовательского уровня очень тяжело что-то сломать. В Chromium'е, например, специальный счетчик есть - сколько раз процесс GPU упал.

Share this post


Link to post
Share on other sites
4 hours ago, haker_fox said:

Интересно, более именитые фирмы, такие как Siemens и Fanuc вставляют в свои ПЛК линукс или нет?

именитые деньги не считают ? ТС и вы вслед за ним не поняли что такое RTLinux - это не совсепм Linux

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

у Siemens-а есть подобное решение

https://github.com/siemens/jailhouse

Linux отдельно, RTOS с критическими задачами отдельно, сейчас этих гипервизоров очень много на любой вкус и задачу

Share this post


Link to post
Share on other sites
6 hours ago, sasamy said:

Linux отдельно, RTOS с критическими задачами отдельно, сейчас этих гипервизоров очень много на любой вкус и задачу

Не проще ли на одном камне запустить нормальный линукс, а на другом - реальное время?

Share this post


Link to post
Share on other sites
5 hours ago, haker_fox said:

Не проще ли на одном камне запустить нормальный линукс, а на другом - реальное время?

"SoC ? не, слышал". Дело не в мифических "камняж" - ОС могут и на разных ядрах исполняться, из надо бесшовно и безопасно интегрировать друг с другом

https://www.ghs.com/products/rtos/integrity.html

 

Share this post


Link to post
Share on other sites
33 minutes ago, sasamy said:

ОС могут и на разных ядрах исполняться, из надо бесшовно и безопасно интегрировать друг с другом

Ну разные ядра - это не разные процессоры. Адресное пространство, периферия у них уже общие. Поэтому возникает вопрос: на сколько всё это безопасно и надёжно. Раз вы уж привели ссылку на "гринхиллз", то не хотелось бы, что бы из-за падения веб-сервера грохнулся процесс автопилота)))

Share this post


Link to post
Share on other sites
2 hours ago, haker_fox said:

Ну разные ядра - это не разные процессоры. Адресное пространство, периферия у них уже общие. Поэтому возникает вопрос: на сколько всё это безопасно и надёжно. Раз вы уж привели ссылку на "гринхиллз", то не хотелось бы, что бы из-за падения веб-сервера грохнулся процесс автопилота)))

грнинхил тут понятно за уши притянули.
В ПЛК все проще, там задача обеспечить реальное время и для тех программ которые будут работать вне CoDeSys, допустим на внешние расширения IO с кастомным протоколом, скажем FreeMaster.  
И реальное время не подразумевает какую-то особую надежность. В ПЛК всегда есть вотчдог, сбрасывающий все к чертям если че затормозилось не глядя ни на какие жертвы. Оценки рисков - дело разработчика. Боишься - ставь полное модульное дублирование. 

Возьмем простой принтер для примера.
Если он не держит жесткий риалтайм, то вся его печать будет вкривь и вкость с неровными и рваными линиями. Это не потерпит никто.
Но все отлично терпят когда принтеры раз в день виснут и их надо выключать и заново включать. 
Вот это и есть типичная риалтайм система с жестким временем.  
Т.е. не нужно никакое вторе ядро или изолирующий гипервизор, никто не требует дикой надежности, но жесткое реальное время вынь и полож. 

Вся фишки RT линукса только в том что он не может нигде взять и запретить прерывания. 
И это делается подменной его драйвера контроллера прерываний на подсадной, который не работает напрямик с периферией SoC-а.  
Само собой все аппаратные драйвера тоже переделаны. На в ПЛК тех драйверов на пальцах пересчитать можно, поэтому никого не напрягает их переделать. 

Share this post


Link to post
Share on other sites
On 4/17/2020 at 10:39 AM, haker_fox said:

это меня очень сильно волнует) Интересно, более именитые фирмы, такие как Siemens и Fanuc вставляют в свои ПЛК линукс или нет? Кто-нибудь, уважаемые коллеги, владеет данным вопросом?

Вот в этой коробке пять плат с Линуксом:
https://www.cisco.com/c/en/us/products/collateral/video/digital-receivers-decoders/datasheet-c78-736419.html

On 4/17/2020 at 10:04 PM, haker_fox said:

Не проще ли на одном камне запустить нормальный линукс, а на другом - реальное время?

И так делают.
Я сейчас работаю с системой (с базовой станцией LTE) на 9 ядрах. Только на двух ядрах Линукс.

On 4/18/2020 at 3:36 AM, sasamy said:

"SoC ? не, слышал". Дело не в мифических "камняж" - ОС могут и на разных ядрах исполняться, из надо бесшовно и безопасно интегрировать друг с другом

https://www.ghs.com/products/rtos/integrity.html

 

Shared memory обычно используют.

Безопасно если на всех ядрах Memory Management использовать. Если нет, то пофиг, что у Линукса виртуальная память. Может прилететь откуда не ждешь.

 

On 4/18/2020 at 4:11 AM, haker_fox said:

Ну разные ядра - это не разные процессоры. Адресное пространство, периферия у них уже общие. Поэтому возникает вопрос: на сколько всё это безопасно и надёжно. Раз вы уж привели ссылку на "гринхиллз", то не хотелось бы, что бы из-за падения веб-сервера грохнулся процесс автопилота)))

На самолетах особый подход. Есть стандарт DO-178 так в нем даже прерывания запрещено использовать. Правда не везде. На западе только Гринхилсовская Интегрити и VxWorks сертифицированы для космоса и авиации. Интегрити гораздо приятнее чем VxWorks. Там еще VxWorks на Posix натянули. Мне было страшно смотреть.


Я не слышал, чтобы на самолетах Линукс использовали.

Share this post


Link to post
Share on other sites
1 hour ago, Tarbal said:

Я не слышал, чтобы на самолетах Линукс использовали.

Думаю в самолетах линуксов сотни в каждом. Как минимум в каждом дисплее в кресле.
Но речь шла об RT линуксе, а не о куда вообще суют линукс.   

Share this post


Link to post
Share on other sites
2 hours ago, Tarbal said:

Вот в этой коробке пять плат с Линуксом:

Это приятно, конечно, но это же не ПЛК))) В случае зависания свиноферму не заморозит)

2 hours ago, Tarbal said:

Я сейчас работаю с системой (с базовой станцией LTE) на 9 ядрах. Только на двух ядрах Линукс.

А остальные? Реалтайм?

28 minutes ago, AlexandrY said:

Но речь шла об RT линуксе, а не о куда вообще суют линукс. 

Вот, кстати, да. А кто-нибудь в курсе, процесс портирования RTLinux на кастомную плату сильно сложнее, чем портировать обычный линукс? При этом, на эту плату обычный линукс уже портирован.

Share this post


Link to post
Share on other sites
5 hours ago, Tarbal said:

Безопасно если на всех ядрах Memory Management использовать. Если нет, то пофиг, что у Линукса виртуальная память. Может прилететь откуда не ждешь.

Аппаратное обеспечение не стоит на месте, кроме MMU много чего придумали для изоляции - IOMMU,  расширения для виртуализации,  Trust Zone

https://www.toppers.jp/en/safeg.html

так что вопрос больше в том насколько аппаратная часть надежна - только избыточность (дублирование) может  повысить надежность/безотказность

5 hours ago, Tarbal said:

Я не слышал, чтобы на самолетах Линукс использовали.

это не показатель, вы слышали что ядерными реакторами управляет Linux ?

2 hours ago, haker_fox said:

А кто-нибудь в курсе, процесс портирования RTLinux на кастомную плату сильно сложнее

 

Вам это зачем ? Решение ищут под задачу, а вы кроме каких-то ПЛК задачу придумать не можете :)

Share this post


Link to post
Share on other sites
2 hours ago, sasamy said:

а вы кроме каких-то ПЛК задачу придумать не можете :)

Вы ошибаетесь. Тему про ПЛК начал вовсе не я. Я лишь подключился к общению.

Share this post


Link to post
Share on other sites
34 minutes ago, haker_fox said:

Вы ошибаетесь. Тему про ПЛК начал вовсе не я. Я лишь подключился к общению.

Самое прикольное здесь, то что линукс именно тогда и применяют когда не имеют четкой задачи. 
Т.е. правило такое: нет четкой задачи - бери линукс. 
В ПЛК линукс появился когда настало время нечеткой бизнес логики IoT.
Че-то нужно в облака посылать, но чё точно непонятно, каким протоколом непонятно, для чего и кому непонятно. Либо понятно, но через день уже может поменяться.   
Все четко укладывается в концепцию непрерывной разработки. Разработка продолжается даже когда система уже проинсталлирована у потребителя.   

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this