Pull to refresh

Comments 74

Многие считают, что системы реального времени более быстрые. Это заблуждение.… Ведь сам термин возник, когда машины были медленные. И пользователь замечал, что реакция системы может отставать от его действий. И пользователь замечал, что реакция системы может отставать от его действий. Термин “реальное время” означал, что система должна была быть отзывчивой на любые воздействия, в том числе действия оператора.

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

Имеются ли примеры коммерческого применения ОС?
Спасибо! Абсолютно с Вами согласен. Вы выразили мысль лучше чем я!

Моя мысль заключалась в том, что быстрота на каком то участке не показатель. Если у вас процесс где нужно время реакции 10 секунд, то непонятно зачем мерить время переключения процесса в микросекундах. Пусть он переключается раз в 100 миллисекунд, но зато надежно!
Имеются ли примеры коммерческого применения ОС?

Да имеются!
О нескольких, про которые можно писать, рассказывали на хабре. Но часто коммерческие работы под NDA. Следовательно, не можем о них рассказывать.
Embox, как и фактически все RTOS для микроконтроллеров, имеет низкие требования по ресурсам.


Вы путаете Embedded OS и RTOS, между ними нет строгого знака равенства. Отсюда и весь посыл статьи заведомо ошибочен.
Извините, но я не понимаю почему посыл статьи ошибочен? В чем его ошибочность?

И где я путаю ОСРВ и ОС для встраиваемых систем?
Если Вы имеете в виду, что не нужно путать ОС для микроконтроллеров (RTOS) со встроенными OC (например yocto), то возможно Вы не прочитали статью, в ней разные варианты рассмотренны.
Например, вот тут:

И отнести весь этот зоопарк к ОСРВ у меня язык не поворачиваются.


Все перечисленные как раз строго относятся к классу RTOS, а вот относятся ли они к Embedded OS или нет уже вопрос. И дальше по тексту просматривается устойчивая подмена Embedded OS термином RTOS.
Позвольте, ну зачем же Вы выдираете фразу из контекста и затем заявляете, что дальше просматривается… То есть обобщаете ее на всю статью.

Вас не смущает, что приведенная Вами фраза в разделе «Промышленные компьютеры»! А потом есть раздел «Linux в embedded-устройствах», а затем «Системы реального времени» и «Linux в системах реального времени»?

Я попробую еще раз сформулировать мысль:
Embedded очень широкий! Есть разные задачи в данной очень широкой сфере. Соотвественно есть и свои ОС. В этой очень широкой сфере можно выделить, в том числе «системы реального времени». У них соотвественно есть свои ОС, которые называются RTOS (обычно). Еще есть различные микроконтроллеры, на их основе также могут создаваться как системы с требованиями реального времени, так и системы, где просто требуются маленькие ресурсы (например для снижения стоимости или энергопотребления).

Все еще, не вижу противоречий!
Вы категорически неправы. Даже в последнем сообщении:

В этой очень широкой сфере можно выделить, в том числе «системы реального времени».


СРВ не есть подмножество Embedded. СРВ/ОСРВ — это исключительно ранжирование по предсказуемости реагирования на критические события. Можно свериться хоть с A.S. Tanenbaum «Modern operating systems», хоть с той же википедией в крайнем случае. Embedded же — это в первую очередь о количестве ресурсов и способах управления ими. Это как мягкое и холодное — концептуально не пересекающиеся множества, которые на практике где-то пересекаются, а где-то совершенно не обязаны. Отсюда, например, большая неточность в формулировке «где Linux избыточен и используются различные маленькие RTOS», где явно должно быть «Embedded OS» вместо «RTOS».

Возвращаясь к процитированному мной выше. Конкретно LynxOS, QNX и VxWorks лично вы на каких основаниях не можете отнести к RTOS, они замечены в нелояльности к предсказуемости реакции?
СРВ не есть подмножество Embedded


Хм, возможно я понял в чем наши разногласия.
Я вовсе не утверждал, что системы реального времени полностью входят в embedded systems!
Я утверждал, что если взять все множество embedded systems то в этом множестве будет часть которая требует свойств реального времени (то есть предсказуемости)

Конкретно LynxOS, QNX и VxWorks лично вы на каких основаниях не можете отнести к RTOS

Лично я не понимаю, почему Вы приписываете мне утверждения, которых я не делал!
Все таки прочитайте тот абзац, там прямо написано к кому есть притензии. К приведенным ОС как раз нет притензий в предсказуемости реакции. Но поскольку используются на данных аппаратных платформах разные ОС, в том числе например Windows CE (который, кстати, тоже заявлен как реального времени), то из этих соображений и написал, то что написал!

что если взять все множество embedded systems то в этом множестве будет часть которая требует свойств реального времени (то есть предсказуемости)


Совершенно верное утверждение. Но по тексту с обсуждаемыми терминами вы обходитесь слишком вольно, противопоставляя одно другому. Пример противопоставления я уже приводил — «где Linux избыточен и используются различные маленькие RTOS».

Все таки прочитайте тот абзац, там прямо написано к кому есть притензии. К приведенным ОС как раз нет притензий в предсказуемости реакции. Но поскольку используются на данных аппаратных платформах разные ОС, в том числе например Windows CE (который, кстати, тоже заявлен как реального времени), то из этих соображений и написал, то что написал!


Давайте разберем процитированное:
1. Проблем с предсказуемостью нет => (терминологически) они ОСРВ.
2. На тех же платформах используется WinCE => (цитата) «И отнести весь этот зоопарк к ОСРВ у меня язык не поворачиваются»

На основе родственности аппаратных ресурсов с WinCE вы делаете какие-то выводы относительно real-time-овости первых. Логика совершенно странная. Она могла бы еще присутствовать, если бы заключение делалось относительно принадлежности их к классу Embedded OS. О чем я изначально и сообщил — подмена Embedded OS на RTOS по тексту.
И все таки, не понимаю, как приведенные Вами отдельные куски противоречат общему смыслу статьи?

Давайте разберемся с приведенными цитатами.
«где Linux избыточен и используются различные маленькие RTOS»

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

Следущее утверждение, что я исходя из родственности аппаратных ресурсов с WinCE, делаю заключение что QNX не является ОСРВ. Но я еще раз перечитал, но такого утверждения не вижу. Ибо весь зоопарк, я не хочу относить к ОСРВ, но как это означает что конкретно QNX это касается?
Ну давайте по другому. Есть зоопарк, там есть лошади, но сказать что это конюшня, я не хочу.

Вообще зачем было сначала приводить список, а потом делать пояснение почему я не хочу его называть ОСРВ? Мне кажется, только по одной причине, что в списке ОСРВ!

Не стал рассматривать участников данного списка в разделе Системы реального времени, поскольку они проприетарные, и на мой взгляд более интересно рассматривать например как Linux превратить в ОСРВ. Ну и вообще тема очень широкая, можно обсудить то что я забыл или не учел в комментариях :) Но конечно, подразумевается, что статья прочитана и приписывать в комментариях утверждения которые я не делал, это не очень корректно. Но спасибо за уточняющие моменты.

Есть зоопарк, там есть лошади, но сказать что это конюшня, я не хочу.

Исходя из ниже процитированного также следует

Не стал рассматривать участников данного списка в разделе Системы реального времени, поскольку они проприетарные

Что у вас в зоопарк попадают не по принадлежности объекта к области интересов зоологии, а по наличию у него волосатой лапы среди руководства зоопарка. Но это конечно же лирика.

В целом логика у вас специфичная и на мой скромный профессиональный вкус весьма сомнительная.
Что у вас в зоопарк попадают не по принадлежности объекта к области интересов зоологии, а по наличию у него волосатой лапы среди руководства зоопарка. Но это конечно же лирика.

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

В целом логика у вас специфичная и на мой скромный профессиональный вкус весьма сомнительная.

Допускаю, формулировкам возможно не хватает четкости. Но поскольку это не сухой документ, с перечислением фактов, а некое художественное произведение, пусть и научное. То оставляю за собой право, формулировать мысли, так как мне кажется правильным. В тексте статьи вставил замечание, по поводу указанного Вами непонятного момента (с тем что я не считаю QNX ОСРВ). Также хочу еще раз подтвердить, что дело в формулировке, ничего такого я не имел в виду.

По поводу упомянутого Вами сравнения Linux маленькими RTOS, это опять же досадное совпадение, просто различные ОС для микроконтроллеров, называют RTOS, для отделения от классических RTOS в том числе QNX, я употребил эпитет «маленькие».

На мой взгляд, для указания на возможные несостыковки в логике стоит указывать в не столь категоричной форме. Просто возможно Вы чего то не поняли или не учли!
На мой взгляд, для указания на возможные несостыковки в логике стоит указывать в не столь категоричной форме

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

Up:…
категоричная форма, это ваши
Вы категорически неправы.

Хотя дальше идет утверждение которого я не делал!
Вот это, обычно, как раз признак непрофессионализма!
Там есть точная цитата. Или «афтар не читатель, афтар писатель»?
То есть Вы не указали не на одну ошибку, а только на свои домыслы. Ну вот Вы так поняли, но это не означает, что я это утверждал!
Я указал на достаточное количество неточностей по тексту. Составлять рукопись непротиворечивым однозначно трактуемым образом — дело автора, а не мое. Неспособность изложить свою мысль в данном аспекте сами понимаете что значит.

На ошибки в логике в том числе с математической точки зрения ниже даны указания. Причем не все, а лишь малая достаточная часть.
Если можно, для полноты картины и дабы развеять впечатление о том, что вас заклинило на QNX. Проприетарные Integrity, OS-9, oc2000 (aka VxWorks), ОС «Эльбрус» — RTOS али !RTOS?

А вот дальнейшая дискуссия по терминологии теряет всякий смысл, поскольку мой мозг безуспешно пытается усмотреть в этих утверждениях намеки на ассоциативность:

Я не написал «ОСРВ» (к коим я отношу все три приведенных ОС)

И отнести весь этот зоопарк к ОСРВ у меня язык не поворачиваются.
согласен дискуссия теряет всякий смысл ведь когда я изучал логику из высказываний
A принадлежит N
B принадлежит N
R принадлежит N
B не принадлежит R
что A не принадлежит R
где: A — это приведенные в списке ОС
B — это windows
R — множество RTOS
N — множество embedded OS
Ой ну поймали конечно
не «не RTOS» а embedded OS — если Вам так угодно
Операция «множество принадлежит множеству» не определена. Единственное о чем тут можно утверждать, что R ∩ N ≠ Ø.
Вот и я о том же.
Почему же Вы решили, что я написав, то что написал, имею в виду, нечно другое?
Мне кажется, что Вы, то ли читать не умеете, то ли не хотите.
Я не понимаю почему Вы решили, что я в статье классифицирую ОС? Или я должен по вашему это сделать? Может если у Вас накопился богатый материал по данной теме, Вам стоит написать собственную статью? В ней Вы опишите какие ОС являются реального времени, а какие нет.

Я же допустил себе высказать сомнения по поводу правильности выбора в качестве ОС для промышленных систем windows. но даже это свое утверждение я поставил объявил ложным (предвзятым) в разделе про windows.
Не меня заклинило на QNX, а Вас, напомнить про прерыдущее ваше утверждение, которое я вовсе не делал? Из статьи про портирование на Эльбрус
Усмирите свой генератор теорий заговоров. Я много о чем и с кем веду дискуссии, в том числе научные. Здесь же была дискуссия на тему корректного использования терминологии, а вы почему-то в который раз пытаетесь все сократить до единственного представителя класса. Не понимаю зачем, конкретно QNX и ОС «Эльбрус» обсуждали там и полно.

Может если у Вас накопился богатый материал по данной теме, Вам стоит написать собственную статью? В ней Вы опишите какие ОС являются реального времени, а какие нет.

Классики теории ОС уже все до нас написали (параграфы 1.4.6 и 1.4.8; параграфы 13.1 и 10.2) и для переосмысления этих положений нужны веские основания. «я художник, я так вижу» — это не к точным наукам, увы.
Предлагаю Вам усмирить свой генератор приписанных утверждений!

Вы никак не можете понять, что до сих пор, не привели ни одного факта, который я бы не верно истолковвал. Единственное что Вы тут пишите, что в данном конкретном случае, вот если выдрать вот эти часть предложения, то оно будет не полным!
Вы утверждаете, что я где то по тексту употребил не правильный термин, но не одно приведенное высказывание, не означает того что Вы мне приписываете!

Если считаете, что какие то конкретные формулировки неточные, предложите свои, поэтому я и предложил написать статью. Предложение не писать, поскольку уже есть Таненбаум, ну как то странно. Ведь разъяснение его позиции своими словами, только улучшит понимание.

Пока же никакой конструктивной информации я от Вас, к сожалению, не получил.
Фразы, «вы категорически не правы», или «весь посыл статьи ошибочен», я не рассматриваю как конктруктивный
Вы безнадежны. Второй день уже указываю вам на один огромный косяк по тексту, который даже лично вы выразили в рамках мат. логики:

B не принадлежит R
что A не принадлежит R

Оба этих утверждения есть ложь. Это есть неоспоримая ошибка в логике и тексте. Для всего профессионального сообщества это неоспоренные факты. Более того, вы же сами об этом пишите в отредактированном тексте статьи:

(к коим я отношу все три приведенных ОС)

Процитированное — это явное, однозначное и неоспоримое противоречие с вашим же утверждением:

B не принадлежит R

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

Спасибо, на указание на огромный косяк по тексту, думаю у читателя с мозгами, нет сомнений в том делал я такие заявления или нет.
Если Вы хотите подискутировать на тему правильно ли называть RTOS маленькие ОС для микроконтроллеров, то это не ко мне, я всего лишь использовал общепринятую терминалогию. Например FreeRTOS содержит RTOS в своем названии.
Но это еще могло бы вылиться в какую то осмысленную дискуссию.
А то пока это
— вы неправы
— почему
— вы назвали то то и то то так то
— позвольте, но я этого не говорил
— нет говорили
— где
— ну я так понял
я всего лишь использовал общепринятую терминалогию. Например FreeRTOS содержит RTOS в своем названии.


Это не термин, это наименование. Facepalm
Вспоминая лекцию Максима Червинского(RIP),
ОСРВ — это такая ОС, в которой корректность выполнения задачи характеризуется не только логической корректностью, но временем выполнения этой задачи.
ftk.narod.ru/download/os/rtos-training-v1.5.pdf
Согласен.
В статье я попытался немного раскрыть тему и подумать о том как этого добиться. На мой взгляд нужно контролировать всю систему, все задачи в ней. То есть само по себе применение ОСРВ не гарантирует того, что вся система будет предсказуемой, но может помочь разработчику достичь этого.
Самого главного нет в Embox — директории DOC.
Без документации система не юзабельна.
Спасибо, что напомнили :)
Мы решили вместо директории c документацией завести репозиторий. Там уже есть русская и английская версия quick_start, первую версию руководства пользователя выкатим в ближайшее время (надеюсь на ближейших выходных). Потом приглашаем всех задавать вопросы и высказывать пожелания чего не хватает. А то задача оказалось сильно сложнее чем думали.
Смартфоны тоже embedded, есть даже выражение Embedded Android.
А вот та же Rasbpian это не embedded система.
Ну наверное потому что там обычный линукс с пакетным менеджером и десктопом.
Или по вашему убунту для ARM это тоже embedded?
Rasbpian это десктопный линукс, это вроде как очевидно должно быть.
Мы говорим об аппаратной платформе или о программно-аппаратной платформе?
Rasbpian это десктопная операционная система и мы говорим о ней.
На малине можно запустить Embedded Linux, например Yocto.
Так это же в статье есть.
То есть в статье не сказано ничего про характеристики ОС, но сказано, что на малине часто используют такие то системы.
Я просто сказал, что Rasbpian обладает всеми признаками десктопной системы, но при этом не обладает признаками эмбеддед системы.
Поэтому Rasbpian это десктопная система.
Да и малина это больше одноплатный ПК, нежели эмбеддед.
Неправильно я поставил вопрос, хотя ответа на мой первый вопрос не прозвучало.
Почему Rasbpian или Debian нельзя использовать во встраиваемых (embedded) система?
Их можно использовать в эмбеддед, но это десктопные системы.
Сову можно натянуть на глобус, на виндоуз ХР можно запустить веб сервер для энтерпрайз и развернуть всю свою серверную инфраструктуру, но от этого она не станет серверной ОС.
Обычно в эмбеддед у тебя нет гигабайта ОЗУ, 4х ядер по 1+ГГц, видеоадаптера и многих гигабайт дискового пространства.
Поэтому эмбеддед системы обычно другие, по другому построены.
Тут я с Вами не соглашусь.
Вот ребята MenMicro, Fastwel, RTD и многие другие делают сплошной embedded, а там и Xeon, и AMD Radeon, и Jetson, и многое другое.
Вы хотете сказать, что если сейчас я возьму свой MacBook, пропишу ему скрипт в автозагрузку и засуну всё это в ящик, то macOS тут же превратится из десктопной системы в embedded?
И можно будет запилить статью на хабр, что богатый и разнообразный мир эмбеддед систем…
Про Mac сказали Вы, но, если сделать некое специализированные решение (как минимум выкинуть всё лишнее) для конкретной задачи и оно будет удовлетворять заданным требованиям, то такое возможно.
Живет же прекрасно Window Embedded на каких-нибудь Core7.
Мир embedded многогранен…
Присоединяюсь к вопросу, Почему?
А вот та же Rasbpian это не embedded система.


С android во встроенных системах согласен. Но при на то он и многообразный, чтобы затрагивать очень много всего! А обо всем этом написать в одной статье вряд-ли возможно. Поэтому я не затронул не только андроид, который часто используется для медиа-систем автомобилей, но и такой проект как ITRON. Который является по сути дела стандартом де-факто для автомобилей (уже систем управления).
«Raspbian — основанная на Debian операционная система для Raspberry Pi.»
Debian — не embedded система.
Поэтому часто в качестве ОС используются готовые дистрибутивы Linux, в первую очередь, конечно, Raspbian — Debian для Raspberry Pi, ну или дистрибутив со смешным для русскоязычных названием Pidora — Fedora для RaspberryPi.


На сегодняшний день самым известным подобным дистрибутивом (проектом по созданию дистрибутивов) является Yocto project. Он в свою очередь основан на еще одном известном проекте OpenEmbedded, который является своеобразной системой сборки для дистрибутивов Linux.


Мне кажется, что тут как и в ветке с путаницей что такое RTOS, непонятно, что такое RTOS. В статье я сделал только приведенное Вами утверждение. Ничего не говоря о том к какой категории относиться данная ОС. И если считать что от того что ОС предназначена для встроенной железки, она становиться embedded, то да она embedded, но можно считать и иначе!

Не, под эмбеддед линукс обычно подразумеваются вполне конкретные особенности операционной системы, такие как отсутсвие оконного менеджера, применение busybox, компактный размер и упаковку всей системы в «прошивку».
Raspbian построена как обычный десктопный линукс, а не как эмбеддед.
Сама малина это тоже просто одноплатный PC, на котором в том числе можно сделать эмбеддед систему.
Вот возмите какую нибудь плату под тот же ARM, но без видео — вы на неё не поставите Raspbian, да и не будите даже пытаться, потому что это не эмбеддед ОС.
Классификация примерно на тех же основаниях по которым системы делят на серверные и десктопные.
На Raspbian и малине можно сделать вполне обычный PC, на котором можно разрабатывать и компилировать программы, серфить в интернете, работать с офисными приложениями, играть, смотреть фильмы — делать все то что обычно делают с десктопом.
Потому что это десктопная система, а не эмбеддед.
Поставьте туда Yocto и вы сможете делать только то что было заложено разработчиком.
Т.е. из универсальной системы она превратится в узкоспециализированную.
PS: и вообще то что такое RTOS это очень даже понятно, это вполне конкретный класс ОС и всегда можно указать почему одна ОС является RTOS, а другая — нет.
В очередной раз хочу упомянуть, что классификация есть проявление работы интеллекта.

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

Понимание того, что есть система реального времени может различаться у исследователя и практика. Потому что им в их работе удобно другое чуть-чуть другое понимание этого термина. Хотя говорят они об одном и тоже объективном явлении.

В зависимости от решаемой мной задачи, вирус может быть формой жизни, а может не быть ей. Это конечно не то знание, которым стоит ломать стройную картину миру студентам вузов и прочим лицам, пытающимся сформировать непротиворечивую картину мира, но с какого-то уровня понимания, все же стоит держать в голове, что это все это просто слова.
Спасибо. Я это и хотел показать в статье, что мир embedded многообразный и там требуются разные свойства. Я старался в разных разделах, объяснять о чем в данный момент говорим. И уж точно не хотел делать ранжирование ОС по «RTOS не RTOS». Поскольку даже в университете, как я считаю, уже нужно пытаться понимать смысл вещей и явлений, а не говорить. Вот это операционная система реального времени а эта embedded OS.
А все потому что вы ушли от рассмотрения времени в RTOS.
Поставьте критерием время переключения контекста любой задачи в 1 мкс на 100 МГц процессоре с float-point сопроцессором с детерминированностью в 0.1 мкс и все станет на свои места.
Вы четко увидите где RTOS, а где нет.
Приведенные выше требования Вы считаете критерием RTOS-ности?

Но почему именно 1мкс и 100 МГц?

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

То есть, конкретные требования для разных систем разные. Ну а процессор, можно заменить на более быстрый, скажем 1ГГц
Ну так это определение же ставит вас в тупик в который вас тут все время направляют.
Вон в MATLAB есть десктопный движок с временем гарантированного отклика в 1 мс.
Будем считать теперь Windows Home Edition является RTOS?
Для управления заводами не нужна RTOS, для управления современным автомобилем тоже. Это гетерогенные системы, в их масштабе об одной RTOS говорить бессмысленно. Нужно четче обрисовывать область применения RTOS.
О RTOS можно говорить только в контексте современных технологических рубежей.
И эти рубежи можно описать цифрами.
Я дал оценку этих цифр исходя из своего опыта.
У процессора с 1 ГГц будет многоуровневый кэш и о детерминированности в 0.1 мкс в этом случае говорить не приходится.
Есть процессоры с TСM на 600 МГц, там соответственно время переключения не должно превышать 0.5 мкс (учтем занятость шин DMA и прочие издержки)
Ну так это определение же ставит вас в тупик в который вас тут все время направляют.

Не знал, не знал, спасибо, что сообщили :)

Нужно четче обрисовывать область применения RTOS.

Мне казалось я говорил об embedded системах. Когда стал говорить об Системах реального времени, тут же стал объяснять контекст в котором я об этом говорю. И это поверьте не случайно.

Будем считать теперь Windows Home Edition является RTOS?

То есть по вашему мнению, разница все таки во времени. 1мс недостаточно, нужно 1мкс?
Или проблема в том, что
У процессора с 1 ГГц будет многоуровневый кэш и о детерминированности в 0.1 мкс в этом случае говорить не приходится.

То есть десктопные системы по определению не реального времени? на малинке например невозможно добиться реального времени. Ну или VxWorks установленный на какую нибудь PC-шку будет не RTOS?
На малинке можно добиться реального времени, но не с RTOS, а с маленькой стэйт машиной влезающей в его кэш.
Так же и c PC.
Я говорю о современном реальном времени, т.е. 1 мкс на переключение задач с соответствующим детерминизмом.
Говорю же, забазируйтесь на абсолютнов времени и все станет яснее.
За образец держите ThreadX.
Кстати странно почему ее игнорируете, она ж даже в малике есть.
Я говорю о современном реальном времени, т.е. 1 мкс на переключение задач с соответствующим детерминизмом.

Так значит Ваше определение RTOS: «время переключения задач 1 мкс»? С соотвествующим детерминизмом — это как? Чтобы оно было постоянным? то есть много раз переключаем и оно все равно не выходит за 1 мкс?

Я спрашиваю поскольку хочу понять. А то фраза «забазируйтесь на абсолютнов времени и все станет яснее. » Оставляет пространсво для разногласий. И уж точно предложение: «За образец держите ThreadX. „
Да, мое определение -> 1+-0.1 мкс
Оно сразу отсекает CPU с многоуровневыми кэшами, MMU, всякие малинки с линуксами, Windows-ы и прочие OS-ы и процессоры приложений.
Не то что бы такое определение было всегда, а только теперь оно кристаллизуется, когда ARM стал делать ядра заточенные под RTOS.
Для этого делают метрику worst case interrupt latency с отключенным кэшем и прочими опциями процессора, вносящими недетерменированность. Если опции не отключаются, то нагружают проц по максимуму, чтобы кэш всё время промахивался и.т.п. и измеряют WCIL
Вопрос, будет ли измеренная метрика удовлетворять вашим требованиям, если нет, то выбирается другой процессор.
Для управления заводами не нужна RTOS, для управления современным автомобилем тоже. Это гетерогенные системы, в их масштабе об одной RTOS говорить бессмысленно. Нужно четче обрисовывать область применения RTOS.


Для управления некритических систем в автомобиле ОСРВ не нужна, но что касается критических систем, то там только ОСРВ и работает. Например система впрыска топлива, ABS и.т.п.
Тут опять можно попасть впросак. В впрыске и ABS может стоять также несколько операционных систем.
Несколько ОСРВ на одну функциональность? Т.е. несколько ОСРВ на впрыск?
Одна ОСРВ на впрыск, одна на на АБС, да такое возможно, даже крайне вероятно, т.к. эта система критическая, то тут уместно на каждую критическую функцию по отдельному модулю со своим контроллером подключенному к CANBus. В ARINC-653 это обязательное требование spatio-temporal partitioning
В ABS на сидящей на полевой шине может быть один процессор коммуникационный, один основной и один на приеме и предобработке сигналов, у каждого своя RTOS. Однопроцессорные решения давно в прошлом.
Даже в простейших модуля ввода-вывода ПЛК стоит по три процессора.
Поэтому когда говорят о RTOS надо сужать их применение до сверхлокальных задач.
Какие там заводы или автомобили. Отдельные лампочки, моторчики или даже просто контакторы — вот ниша настоящих RTOS.
Да, логично, spatio-temporal partitioning повсеместно.
Ха-ха, настоящие ОСРВ еще в телефонах есть, в baseband процессоре что по вашему работает? ОСРВ жесткого времени. В Wi-Fi роутерах/адаптерах, вобщем много, где есть ОСРВ.
Данный планировщик работал по статическим приоритетам задач, соответственно работал гораздо предсказуемее. Но это был уже не Linux, точнее функциональность Linux была не в режиме реального времени.

Очень неоднозначно написано. Что тогда требуется Linux, помимо честного планировщика что бы быть RTOS?
Linux по сути дела не использовался в реальном времени. То есть данный патч, позволял вставить свой планировщик и следовательно можно было создать процессы (потоки) которые работают предсказуемо, с заданным приоритетом. С одна из задач, для данного планировщика, это планировщик Linux.

Что тогда требуется Linux, помимо честного планировщика что бы быть RTOS?

В этом то и проблема, что нужно смотреть от задачи. Только здесь накидали несколько определений RTOS. Я же пытался показать понятие, а не дать строгое определение, как например, переключение задач 1 мкс.
Для определенных задачь, допиленного ядра и урезанной функциональности должно хватать. Суть проблемы, в том что Linux по определению универсальный, и с огромной функциональностью, проследить все состояния которого не представляется возможным.
Sign up to leave a comment.