Jump to content

    
jenya7

RTOS на Линуксе

Recommended Posts

11 minutes ago, jenya7 said:

Посмотрел презентацию RTOS: RTLinux. Возник вопрос - а зачем вообще нужен RTOS на Линуксе? Линукс и так имеет мультитрединг.

Для ПЛК вестимо. 
К примеру вот этот ПЛК на котором я делаю умный дом - https://www.wago.com/global/plcs-–-controllers/controller-pfc200/p/750-8214 работает на линуксе с RT патчем. Делает жесткий риалтайм с тиком 5 мс.

И теперь пошел такой тренд что все переходят на линукс RT в последних ПЛК, потому что надо интегрироват IoT и линукс в этом случае самй простой путь. 

 

Share this post


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

Для ПЛК вестимо. 
К примеру вот этот ПЛК на котором я делаю умный дом - https://www.wago.com/global/plcs-–-controllers/controller-pfc200/p/750-8214 работает на линуксе с RT патчем. Делает жесткий риалтайм с тиком 5 мс.

И теперь пошел такой тренд что все переходят на линукс RT в последних ПЛК, потому что надо интегрироват IoT и линукс в этом случае самй простой путь. 

 

а просто создать тред?

stat = pthread_create(&(tid[0]), NULL, &UartTask, NULL);

 

Share this post


Link to post
Share on other sites

А вы точно понимаете, что такое RealTime? Это не про многозадачность. Это про детерменированность. Конкретно, про детерменированность временных интервалов, в которые та или иная задача будет завершена.

Share this post


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

А вы точно понимаете, что такое RealTime? Это не про многозадачность. Это про детерменированность. Конкретно, про детерменированность временных интервалов, в которые та или иная задача будет завершена.

так в линуксе насколько я понимаю есть нативный таск менеджмент. и можно привязаться к аппаратному таймеру.

 

интересно а как происходит свич контент между тасками после pthread_create? вытесняющая или кооперативная система?

 

Edited by jenya7

Share this post


Link to post
Share on other sites

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

Share this post


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

К примеру вот этот ПЛК на котором я делаю умный дом

А что с надёжностью? Линукс её обеспечивает? Ведь, даже и с патчем, эта система не предназначена для такого применения. ИМХО.

Share this post


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

А что с надёжностью? Линукс её обеспечивает? Ведь, даже и с патчем, эта система не предназначена для такого применения. ИМХО.

А что такое "надёжность"?
В 2009 - да, линукс для этого не подходил, так уже 10 лет прошло.

Кроме того, как правило, ненадёжность исходит от пользовательского приложения, а не от инфраструктуры. Я видел людей, кто во free rtos почти всё делали в критических секциях.

Edited by one_eight_seven

Share this post


Link to post
Share on other sites
7 minutes ago, one_eight_seven said:

А что такое "надёжность"?

Ну как-то странно смотрится в ПЛК система, спроектированная для десктопного и серверного приложений. И зачем там линукс? Задача ПКЛ - пройтись по циклу: опросить датчики, преобразовать полученную информацию, вывести её на "порты". Может быть я чего-то не понимаю? ПЛК изучал только в университите, видел где и как применяются. Но непонимание примениния там линукса остаётся.

Share this post


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

Ну как-то странно смотрится в ПЛК система, спроектированная для десктопного и серверного приложений. И зачем там линукс? Задача ПКЛ - пройтись по циклу: опросить датчики, преобразовать полученную информацию, вывести её на "порты". Может быть я чего-то не понимаю? ПЛК изучал только в университите, видел где и как применяются. Но непонимание примениния там линукса остаётся.

А применение языка программирования, который создавался для написания прообраза этой ОС (да и этой ОС) - нормально?

Share this post


Link to post
Share on other sites
35 минут назад, haker_fox сказал:

ПЛК изучал только в университите, видел где и как применяются. Но непонимание примениния там линукса остаётся. 

Да всё просто. Нужно было добавить в ПЛК сеть, потому что это модно и молодёжно. Варианта два: либо добавлять в ПЛК сетевой стек, либо добавлять функции ПЛК к микрокомпьютеру, у которого уже есть сетевой стек (типа малинки). Первый вариант сложный, ненадёжный (встраиваемые сетевые стеки всё же сильно отстают по функциональности от настоящих), и почти наверняка не влезет в существующие аппаратные платформы. Поэтому выбрали второй вариант.

В принципе, вариант хороший - сейчас линукс встраиваемый уже очень хорошо отработан, и надёжность на высоте. Вопросы могут быть только по времени отклика, но их (по идее) решает RT-ядро.

Ну и немаловажный факт - программистов под линукс найти всё же легче, чем программистов встраиваемых систем.

Share this post


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

программистов под линукс найти всё же легче, чем программистов встраиваемых систем.

А потом начинаешь хвататься за голову от того, что они накодили...

Share this post


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

Ну и немаловажный факт - программистов под линукс найти всё же легче, чем программистов встраиваемых систем.

Мне вот просто интересно: это действительно продуманный шаг? Я имею в виду применение подобной ОС в ПЛК? После истории с Боингом мне уже кажется много подозрительным и некачественным в угоду "безнесу".

Share this post


Link to post
Share on other sites

Я думаю, здесь так же, как и везде: можно написать плохо, можно написать хорошо. И если написать хорошо, то линукс никак не помешает, а даже наоборот, поможет. Вон, всякие сетевые маршрутизаторы и прочие подобные изделия работают годами 24x7, и вытягивают очень большие нагрузки. На этом фоне ПЛК выглядит детской задачей:)

Share this post


Link to post
Share on other sites
16 minutes ago, AHTOXA said:

можно написать плохо, можно написать хорошо.

Хорошо, если так.

Ибо

1 hour ago, AHTOXA said:

Ну и немаловажный факт - программистов под линукс найти всё же легче, чем программистов встраиваемых систем.

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

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.