|
Real-time и не-real-time - в одном флаконе или раздельно? |
|
|
|
Oct 26 2017, 09:41
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Привет. Собственно вопрос из области начинающих по архитектуре процессорной системы. Делаем новый проект и возник вопрос. С одной стороны есть программа, работающая в жестком реальном времени с коммуникацией, через CAN, SPI и RS485. Это основная функция системы. С другой стороны есть куча других интерфейсов - SD card, Ethernet, USB и прочих, которые служат для вспомогательных функций - записи логов, параметрирования, обновления ПО, удаленного доступа через WEB и bluetooth, терминалки и т.д.
Если все это реализовывать на одном процессоре, то получается, что надо использовать RTOS, что требует определенных программистских навыков и не нравится то, что это уменьшает защиту системы от внешних хакерских атак. Если из-за Ethernetа зависнет основная программа - это будет очень-очень плохо. Т.е. в результате увеличиваем затраты на разработку, делаем сложную программу, но уменьшаем стоимость железа. Поэтому у меня настрой такой, что основной процессор должен выполнять только основную real-time программу и все. При этом ему не нужна операционная система вообще, так как нужные интерфейсы реализуются как функции ввода/вывода - это уже реализовано и проверено. А для всего остального поставить отдельный процессор или даже платку, на которой будет крутиться обыкновенный Linux со всеми нужными драйверами. И с основным процессором эта плата будет общаться только через CAN. В этом случае практически все функции будут уже реализованы в самом ядре и программисту надо будет сделать очень мало и хоть на питоне или джаве. То есть затраты на разработку будут гораздо меньше, имеем барьер от хакерских атак - если этот процессор зависнет, система будет прекрасно работать дальше, но увеличиваем стоимость железа.
Как думаете это нормальный подход сегодня?
|
|
|
|
|
 |
Ответов
|
Nov 6 2017, 13:51
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(syoma @ Nov 6 2017, 13:38)  Не, не. Естественно, подразумевается, что пакет будет обработан до того, как придет следующий. Там всего лишь надо вытащить данные из CAN-пакета и положить их в память - работы с гулькин нос. Тогда нарушаете принцип RMS. Задача должна быть монолитна. А у вас часть задачи в прерывании, часть в потоке. А между ними может вклиниться другая задача или прерывание. Да что уж там, признайтесь, никакой вы RMS не используете, правда? Так просто, слышали звон.
|
|
|
|
|
Nov 6 2017, 14:22
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Цитата(AlexandrY @ Nov 6 2017, 16:51)  Тогда нарушаете принцип RMS. Задача должна быть монолитна. А у вас часть задачи в прерывании, часть в потоке. А между ними может вклиниться другая задача или прерывание. Да что уж там, признайтесь, никакой вы RMS не используете, правда? Так просто, слышали звон. Я собираюсь использовать RMS. Если так хочется сделать задачу монолитной, то можно спокойно собирать все CAN-пакеты в буфер, а затем обработать их скопом в самой приоритетной задаче, не нарушая принципов RMS. Но это все сводится к тому, как привести асинхронные задачи (такие как обработка CAN-пакетов) к синхронным - т.е. задачам в RMS. У вас есть другие решения данной проблемы?
|
|
|
|
|
Nov 7 2017, 06:12
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Tarbal @ Nov 7 2017, 06:18)  Занимаюсь задачами реального времени не один десяток лет, но никогда не слышал о необходимости делать задачи монолитными. "Откуда мол и что это за географические новости"? Гугл тоже не в курсе: https://www.google.ca/search?dcr=0&q=Re...427&bih=836Ссылка в тему, спасибо. К вопросу о монолитности задач. Это вытекает из принципа анализа RMS. А главная вещь в том анализе - дидлайн. Значит нет никакого смысла разбивать задачу на два этапа - сначала взять быстро ее данные, потом медленно данные обрабатывать. Это все равно что поставить себе целью фальшивый дидлайн, а на самом деле иметь гораздо более отдаленный дидлайн. Обман самого себя. Такие финты в анализе RMS учтены быть не могут. По вашей ссылке я вышел на более интересную статью - Rate Monotonic vs. EDF: Judgment DayОна немного открывает глаза и кстати упоминает подход от "Студент заборстр..."
|
|
|
|
|
Nov 7 2017, 18:23
|
Местный
  
Группа: Участник
Сообщений: 317
Регистрация: 16-09-17
Пользователь №: 99 334

|
Цитата(AlexandrY @ Nov 7 2017, 09:12)  Она немного открывает глаза и кстати упоминает подход от "Студент заборстр..." Подход очень зависит от того, ГДЕ будет использоваться RTOS. Одно дело в управлении кофемолкой, то там можно гнаться за красотой реализации, использовать какие-то новомодные концепции тащась от собственной крутости. Вообще по разному можно выпендриваться. А когда у тебя что-то серьёзное и от того, что у тебя случится дедлок или задача "чуть чуть не успеет" погибнут люди или угробится оборудование стоимостью в миллионы баксов, то вся эта блажь "красиво/не красиво" быстро уходит и остаются простые как гробовая доска железобетонные методы обеспечения надёжности. Я тоже в своё время игрался с разными концепциями, соблазнившись их красотой, когда писал RTOS "для себя". Чисто из научного интереса. Но когда задачи стали серьёзными ("жёсткий реалтайм" и никаких дедлоков и "не успела я" иначе будет большой бадабум), то в конце концов пришёл к описанной мной выше реализации
|
|
|
|
Сообщений в этой теме
syoma Real-time и не-real-time - в одном флаконе или раздельно? Oct 26 2017, 09:41 Kabdim А RTOS у которой в кач-ве guestOS крутится тот же ... Oct 26 2017, 10:36 k155la3 В промышленных контроллерах (PLC) практикуется ... Oct 26 2017, 10:52 AlexandrY Цитата(k155la3 @ Oct 26 2017, 13:52) Собс... Oct 26 2017, 12:24  k155la3 Цитата(AlexandrY @ Oct 26 2017, 15:24) Да... Oct 26 2017, 14:59   AlexandrY Цитата(k155la3 @ Oct 26 2017, 17:59) А ка... Oct 26 2017, 17:08    k155la3 Цитата(AlexandrY @ Oct 26 2017, 20:08) . ... Oct 26 2017, 17:21 syoma У нас как раз почти-промышленный контроллер - логи... Oct 26 2017, 11:57 Студент заборстроительного Цитата(syoma @ Oct 26 2017, 14:57) У нас ... Oct 28 2017, 17:56  AlexandrY Цитата(Студент заборстроительного @ Oct 28 20... Oct 29 2017, 12:22   mantech Цитата(AlexandrY @ Oct 29 2017, 15:19) То... Oct 29 2017, 12:25    AlexandrY Цитата(mantech @ Oct 29 2017, 14:25) Если... Oct 29 2017, 12:27   mantech Цитата(AlexandrY @ Oct 29 2017, 15:22) Хм... Oct 29 2017, 17:20 syoma Ну вот с другой сторону смотрю на системы типа Twi... Oct 26 2017, 12:44 Lagman Цитата(syoma @ Oct 26 2017, 15:44) что та... Oct 26 2017, 13:39 AlexandrY Цитата(syoma @ Oct 26 2017, 15:44) Но там... Oct 26 2017, 14:15  syoma Цитата(AlexandrY @ Oct 26 2017, 16:15) Ес... Oct 26 2017, 14:38 syoma ЦитатаОбслуживание цепей безопасности делают также... Oct 27 2017, 07:50 AlexandrY Цитата(syoma @ Oct 27 2017, 10:50) Но тем... Oct 27 2017, 08:26 k155la3 Цитата(syoma @ Oct 27 2017, 10:50) . . .
... Oct 27 2017, 10:17 syoma ЦитатаПолучается большой черный ящик, с массой вхо... Oct 27 2017, 15:20 k155la3 Цитата(syoma @ Oct 27 2017, 18:20) . . . ... Oct 27 2017, 15:47 AlexandrY Цитата(syoma @ Oct 27 2017, 18:20) Если д... Oct 27 2017, 17:05  mantech Цитата(AlexandrY @ Oct 27 2017, 20:05) Да... Oct 28 2017, 12:13 k155la3 У меня сейчас тоже проблема выбора OS или вообще б... Oct 28 2017, 13:16 AlexandrY Цитата(k155la3 @ Oct 28 2017, 16:16) Дост... Oct 28 2017, 14:03  mantech Цитата(AlexandrY @ Oct 28 2017, 17:03) В ... Oct 28 2017, 15:41 syoma Цитата(k155la3 @ Oct 28 2017, 15:16) Собс... Oct 28 2017, 14:04  AlexandrY Цитата(syoma @ Oct 28 2017, 17:04) так ка... Oct 28 2017, 14:13   syoma Цитата(AlexandrY @ Oct 28 2017, 16:13) Эт... Oct 28 2017, 15:42  mantech Цитата(syoma @ Oct 28 2017, 17:04) Допуст... Oct 28 2017, 15:47  k155la3 Цитата(syoma @ Oct 28 2017, 17:04) . . .
... Oct 28 2017, 16:03   mantech Цитата(k155la3 @ Oct 28 2017, 19:03) Для ... Oct 28 2017, 17:23    k155la3 Цитата(mantech @ Oct 28 2017, 20:23) Шеде... Oct 28 2017, 18:21     mantech Цитата(k155la3 @ Oct 28 2017, 21:21) Вы м... Oct 28 2017, 18:28 syoma ЦитатаВ любом нормально спроектированном софте не ... Oct 29 2017, 09:35 k155la3 >> В любом нормально спроектированном софте ... Oct 30 2017, 21:21  syoma Цитата(k155la3 @ Oct 30 2017, 23:21) Можн... Oct 31 2017, 10:52  mantech Цитата(k155la3 @ Oct 31 2017, 00:21) Можн... Oct 31 2017, 14:10 syoma ЦитатаХм, т.е. с одной стороны говорим - ой, какое... Oct 29 2017, 19:33 AlexandrY Цитата(syoma @ Oct 29 2017, 21:33) Что зн... Oct 30 2017, 06:46  mantech Цитата(AlexandrY @ Oct 30 2017, 09:46) Ру... Oct 30 2017, 07:25   gosha-z Цитата(mantech @ Oct 30 2017, 10:25) Вы м... Oct 30 2017, 07:34    mantech Цитата(gosha-z @ Oct 30 2017, 10:34)... Oct 30 2017, 07:51     gosha-z Цитата(mantech @ Oct 30 2017, 10:51) Прав... Oct 30 2017, 07:53 syoma ЦитатаРушится обмен на всех шинах. Все слэйвы уход... Oct 30 2017, 08:27 AlexandrY Цитата(syoma @ Oct 30 2017, 10:27) Можете... Oct 30 2017, 08:53 Kabdim Странно что никто еще не упомянул про формальную в... Oct 31 2017, 08:21 AlexandrY Цитата(Kabdim @ Oct 31 2017, 10:21) Стран... Oct 31 2017, 09:51 Студент заборстроительного Цитата(Kabdim @ Oct 31 2017, 11:21) Стран... Oct 31 2017, 17:18  AlexandrY Цитата(Студент заборстроительного @ Oct 31 20... Oct 31 2017, 19:31 Kabdim Цитата(AlexandrY @ Oct 31 2017, 12:51) Са... Oct 31 2017, 10:41 AlexandrY Цитата(Kabdim @ Oct 31 2017, 12:41) Вы не... Oct 31 2017, 11:45 Kabdim Если осилите HoL, то скорее всего вам не потребуют... Oct 31 2017, 12:05 AlexandrY Цитата(Kabdim @ Oct 31 2017, 14:05) Если ... Oct 31 2017, 12:27 Kabdim Я даже готов с вами отчасти согласится о ненужност... Oct 31 2017, 13:06 Kabdim Ну хватит уже фантазировать о том что не осилили. ... Nov 1 2017, 08:34 AlexandrY Цитата(Kabdim @ Nov 1 2017, 10:34) Ну хва... Nov 1 2017, 08:53 Kabdim Если бы вы прочитали первую ссылку, вас бы не приш... Nov 1 2017, 09:04 AlexandrY Цитата(Kabdim @ Nov 1 2017, 11:04) Если б... Nov 1 2017, 09:42 Kabdim Так насчет вашего первого контраргумента что C код... Nov 1 2017, 09:51 AlexandrY Цитата(Kabdim @ Nov 1 2017, 11:51) Так на... Nov 1 2017, 10:40  Kabdim Цитата(AlexandrY @ Nov 1 2017, 13:40) По ... Nov 1 2017, 10:55 syoma Народ все это интересно, но может стоит обсуждать ... Nov 1 2017, 10:59 AlexandrY Цитата(syoma @ Nov 1 2017, 12:59) Народ в... Nov 1 2017, 11:07 Студент заборстроительного А какие проблемы-то? (я к вопросу темы)
Фоновый по... Nov 3 2017, 03:51 mantech Цитата(Студент заборстроительного @ Nov 3 201... Nov 3 2017, 07:11  syoma Цитата(mantech @ Nov 3 2017, 09:11) Кто м... Nov 3 2017, 10:55  Студент заборстроительного Цитата(mantech @ Nov 3 2017, 10:11) Кто м... Nov 3 2017, 15:21   AlexandrY Цитата(Студент заборстроительного @ Nov 3 201... Nov 3 2017, 17:03    Студент заборстроительного Цитата(AlexandrY @ Nov 3 2017, 20:03) Это... Nov 3 2017, 17:20   mantech Цитата(Студент заборстроительного @ Nov 3 201... Nov 3 2017, 17:39    Студент заборстроительного Цитата(mantech @ Nov 3 2017, 20:39) Сразу... Nov 4 2017, 08:17     Tarbal Цитата(Студент заборстроительного @ Nov 4 201... Nov 5 2017, 03:25      Студент заборстроительного Цитата(Tarbal @ Nov 5 2017, 06:25) В двух... Nov 5 2017, 07:44      AlexandrY Цитата(Tarbal @ Nov 5 2017, 05:25) Еще ра... Nov 5 2017, 08:43     mantech Цитата(Студент заборстроительного @ Nov 4 201... Nov 5 2017, 09:17      Студент заборстроительного Цитата(mantech @ Nov 5 2017, 12:17) для с... Nov 5 2017, 09:24       mantech Цитата(Студент заборстроительного @ Nov 5 201... Nov 5 2017, 11:29 AlexandrY Цитата(Студент заборстроительного @ Nov 3 201... Nov 3 2017, 08:19  mantech Цитата(AlexandrY @ Nov 3 2017, 11:19) У м... Nov 3 2017, 08:57   AlexandrY Цитата(mantech @ Nov 3 2017, 10:57) Да ва... Nov 3 2017, 09:32 Pavia Для AlexandrY
ЦитатаЭто не зависания оси, это пере... Nov 3 2017, 14:39 syoma Если говорить о многозадачности, то у меня будет R... Nov 3 2017, 18:17 syoma ЦитатаЕсли же прерывания не фрагменты задач, а неч... Nov 5 2017, 09:05 AlexandrY Цитата(syoma @ Nov 5 2017, 11:05) Тут ест... Nov 5 2017, 13:39 Rst7 Moderator: Уважаемые, настоятельно призываю верну... Nov 6 2017, 09:23 syoma ЦитатаТут вы сделали себе логичекую ловушку.
Если ... Nov 6 2017, 09:48 AlexandrY Цитата(syoma @ Nov 6 2017, 11:48) Не очен... Nov 6 2017, 10:47 one_eight_seven Цитатадопустили возможность прихода нового пакета ... Nov 6 2017, 11:35      AlexandrY Цитата(Студент заборстроительного @ Nov 7 201... Nov 7 2017, 20:29     Tarbal Цитата(AlexandrY @ Nov 7 2017, 10:12) Ссы... Nov 8 2017, 00:37 syoma Цитатапогибнут люди или угробится оборудование сто... Nov 8 2017, 09:58 Tarbal Цитата(syoma @ Nov 8 2017, 12:58) Все-так... Nov 9 2017, 00:34
2 страниц
1 2 >
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|