kosmax
Гость
|
|
« : 14-08-2003 06:51 » |
|
Очень хотелось бы развернуть дискуссию по особенностям различных ОСРВ. Например, услышать отзывы о применении их в реальных проектах (чем обусловлена необходимость применения ОСРВ, почему именно эту ОС выбрали, с какими багами столкнулись, какие плюсы). Я имею достаточно большой опыт разработки под VxWorks и STLite/OS20 , однако, для меня остаётся секретом, почему первая относится к классу ОС "жёсткого реального времени", а вторая к обычным ОСРВ. Хотелось бы услышать мнения по этому вопросу
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #1 : 14-08-2003 08:18 » |
|
Перечитай две статьи 1. моя второая не моя на сайте. Обе посвящены RTOS.
Дело в том, что там как раз 1 статья - мнение - вторая обзор перевод. А то получится повторение.
Я оттебя впервые слышу о жесткой и не жесткой - раздление ОСРВ таким образом не видел....
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
kosmax
Гость
|
|
« Ответ #2 : 15-08-2003 07:33 » |
|
Занимательный обзор, но достаточно общий. Гром описал real-time программирование с точки зрения реализации под ОС, которые с большой натяжкой можно назвать RTOS Однако в реальной embedded системе, чаще всего приходится действовать в условиях серьёзных ограничений на ресурсы, которые должны оптимально разделяться несколькими процессами или потоками, поэтому появление дополнительных процессов или потоков бывает крайне нежелательно (особенно если "железо" не поддерживает их должным образом). В случае полноценной RTOS, на прерывание от COMа можно повесить собственный обрабочик, который семафорит приложению, что пришли данные. При высокой интенсивности передачи можно использовать кольцовой буфер, размер которого зависит от интенсивности. Обработчик в него пишет, а приложение из него читает. В этом случае отпадает необходимость дополнительных потоков Кстати, а WinCE позволяет работать с прерываниями?
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #3 : 15-08-2003 08:15 » |
|
Кстати, а WinCE позволяет работать с прерываниями?
А как же - обязательно В случае полноценной RTOS, на прерывание от COMа можно повесить собственный обрабочик, который семафорит приложению, что пришли данные. При высокой интенсивности передачи можно использовать кольцовой буфер, размер которого зависит от интенсивности. Обработчик в него пишет, а приложение из него читает. В этом случае отпадает необходимость дополнительных потоков
Я даже в DOS могу сделать это... А в апликации иметь петлю , которая периодически опрашивает функцию состояния COM порта. В Виновс тем более. В общем мне не понятен наверное вопрос дисскуссии, какова цель, что мы пытаемся выяснить?
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
kosmax
Гость
|
|
« Ответ #4 : 15-08-2003 11:59 » |
|
Я даже в DOS могу сделать это... А в апликации иметь петлю , которая периодически опрашивает функцию состояния COM порта.
Согласен, только тогда не понятно зачем нужны навороты для real-time? В общем мне не понятен наверное вопрос дисскуссии, какова цель, что мы пытаемся выяснить?
Термин дискуссия наверное здесь не очень уместен, просто хотелось бы пообщаться с людьми, работающими в этой области или которым просто это интересно, обсудить текущие проблемы. Вообще интересно, насколько у нас развито это напрвление.
|
|
|
Записан
|
|
|
|
NeilPryde
Гость
|
|
« Ответ #5 : 19-08-2003 09:32 » |
|
У меня опыт работы не большой - всего одна операционка, и та оказалась какашкой. А вообще мне эта тема очень интересна! И не только мне. Вот кто-то даже обзорчик небольшой на эту тему написал: http://www.uspensky.com/os/RTOS.doc HRT – не HRT я думаю определяется по максимальному времени реакции. Где оно большое – то не HRT. Но конкретного общепризнанного руководства по тому что называть системой HRT а что нет, мне встречать не приходилось, но очень хочется. Иногда под этим скрываются всяческие маркетинговые уловки.
|
|
|
Записан
|
|
|
|
kosmax
Гость
|
|
« Ответ #6 : 20-08-2003 07:11 » |
|
Вообще, в мануале по VxWorks, HRT определяется гарантированным временем на обработку события в целом. Т.е. типа HRTОS гарантирует, что событие будет обработано в течении определённого кванта времени от его возникновения. Однако опыт и здравый смысл подсказывают, что глючное приложение может свести на нет любые гарантии любой операционки будь-то HRT или SRT. Кстати, время реакции на прерывание и время переключения контекста у VxWorks больше чем у некоторых SRTOS (см. обзор http://www.uspensky.com/os/RTOS.doc) . А вообще действительно похоже на маркетинг.
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #7 : 20-08-2003 07:56 » |
|
Ссылка у меня не работает... Кстати обзор твой лежит на этом сайте. https://club.shelek.ru/viewart.php?id=46Чего сам забыл По теме, по моему слишком акцентировано слишком в системах RTOS скидка на RT а не на ОS . Имею ввиду, что по моему вся бодяга раздута Реал тайм .... Я умудрялся в свое время, рабротая с РОМ ДОС писать псевдо мультитрединг, и обработку входящих сетевых коннектов (до 10 одновременно) эмулируя временное разделение ресурсов не трогая ни защищенный ни расширенный режимы процессора. А сам чинил программки написанные под PocketPC и WinCE которые вешали девайс одним потоком!!! То ли я не понимаю столь мощного отличия, то ли не такое уж сильное отличие... Тут уже спорили что делать с RTOS кого к ним относить - основным считалось критическое время реакции.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
NeilPryde
Гость
|
|
« Ответ #8 : 20-08-2003 08:27 » |
|
Хэх! А это не мой обзор… Это еще один, другой! Странно... Все работало, но вчера. Вот так понадеешься что ссылка еще долго просуществует, и потом обломишся. Что делать-то? Не копировать же весь инет к себе на диск??
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #9 : 20-08-2003 08:41 » |
|
Копируй к нам на сайт - и почему твоего обзора нет до сих пор у нас???
Надеюсь он у тебя остался???
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
NeilPryde
Гость
|
|
« Ответ #10 : 20-08-2003 11:35 » |
|
Как нет обзора? А тот, что ты указал в ссылке не тот что-ли?? Если да, так он вроде уже на вашем сайте лежит. Или я чего-то не допонимаю? Ссылка, кстати, работает. Тычь по моей, а не по kosmax’ской – у него скобка вставляется. Насчет отличий. Они есть. В RT – гарантировано, что событие будет обработано в течении определённого кванта времени от его возникновения. Но вот утверждать что это и есть Hard RT – скорее всего не верно. И если в обзоре указаны реальные цифры а не с потолка, то он это только подтверждает.
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #11 : 20-08-2003 11:51 » |
|
Хэх! А это не мой обзор… Это еще один, другой!
Т.е. есть два обзора - ты указал на свой я на твой на этом сайте, ты сказал, что это не тот, а где тот ... Что-то не пойму.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #12 : 20-08-2003 11:56 » |
|
Не не работает у меня ссылка - хоть убей и пинг не проходит.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
NeilPryde
Гость
|
|
« Ответ #13 : 20-08-2003 11:59 » |
|
Есть 2 обзора по RTOS – один я перевел. И еще один – «другой обзор» написал другой дядька какой-то. А я его в сети нашел (не дядьку, а обзор) и ссылочку указал вот она: http://www.uspensky.com/os/RTOS.doc . Надеюсь ситуация теперь прояснилась. Можно было - бы его и к нам на сайт положить, но для этого надо разрешения у того дядьки-автора спросить.
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #14 : 20-08-2003 16:46 » |
|
Понял - я решил, что это твой обзор тоже...
А ссылка все равно не работает.
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #15 : 21-08-2003 06:58 » |
|
Гром, если ты о http://www.uspensky.com/os/RTOS.doc , то это работает. Наверно от тебя доступ не работает. Можно переслать (~400k).
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #16 : 21-08-2003 09:12 » |
|
Странно у меня домен сам не виден... Ок - присылай на почту. Надо посмотреть.
И куда подевался kosmax?
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
RXL
Технический
Администратор
Offline
Пол:
|
|
« Ответ #17 : 21-08-2003 10:03 » |
|
Странно у меня домен сам не виден... Ок - присылай на почту. Надо посмотреть. А какой имейл-то?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
kosmax
Гость
|
|
« Ответ #18 : 21-08-2003 11:27 » |
|
А вот и я! Интересная ситуация: перерыл кучу статей и обзоров по ОСРВ, однако, везде разные цифры времён переключения контекста и разные цифры времён реакции на прерывание для одних и тех же ОС, причём разброс достаточно большой. А в фирменной документации на ОСы я вообще этих цифирей не нашёл :? Откуда их авторы берут? Кстати, вот на мой взгляд более-менее вразумительная статейка - http://www.pcweek.ru/year1999/N8/CP1251/Industrial&built-in/chapt1.htm
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #19 : 21-08-2003 11:34 » |
|
Боюсь все это фикция - так как на разном железе цифры будут разными.
ИМХО конечно - но время реакции не стоит мерять только абсолютными цифрами, важна конкретная задача и ее удовлетворение.
Скажем при критичности времени реакции на железе А в размере < Х секунд придется тестировать ОС - и смотреть какие условиям удовлетворят наилушим образом...
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
Olej
Гость
|
|
« Ответ #20 : 22-08-2003 14:11 » |
|
Интересная ситуация: перерыл кучу статей и обзоров по ОСРВ, однако, везде разные цифры времён переключения контекста и разные цифры времён реакции на прерывание для одних и тех же ОС, причём разброс достаточно большой.
Абсолютные значения времён - практически не имеют значения для характеристики realtime. Более того - HRTOS будут, как правило, иметь бОльшие времена на выполнение тех же самых операций, чем OS не realtime: т.е. одно и то-же действие будет быстрее в Win98 чем QNX... (за счёт более корректных переключений контекстов!). Посмотрите здесь, кое-что: http://qnx.org.ru/forum/viewtopic.php?topic=1690&forum=7&71 А в фирменной документации на ОСы я вообще этих цифирей не нашёл :? Откуда их авторы берут?
Пожалуй, наиболее квалифицированные отчёты тестирования с фактическим материалом и сравнениями - можете найти здесь: Dedicated Systems Experts sa Engineering Audit & Expert Services Bergensesteenweg 421, bus 12 B-1600 St-Pieters-Leeuw, Belgium http://www.dedicated-systems.com
|
|
|
Записан
|
|
|
|
Кот
Гость
|
|
« Ответ #21 : 12-09-2003 10:19 » |
|
А всетаки интересно было бы узнать кто какие реальные задачи решал под ОСРВ и с какими специфическими трудностями столкнулся и как их решал
|
|
|
Записан
|
|
|
|
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии
Offline
Пол:
Бодрый птах
|
|
« Ответ #22 : 12-09-2003 10:22 » |
|
Я работал с этим - могу рассказать Что именно интересует - проблемы организации, алгоритмирования, какие решения принимались или как???
|
|
|
Записан
|
А птичку нашу прошу не обижать!!!
|
|
|
Кот
Гость
|
|
« Ответ #23 : 15-09-2003 02:51 » |
|
Вот собираюсь засесть за MicroPC там ROM DOS стоит. Вот мне интересно хватит мне ентой Досы или есть смысл перейти на QNX. Задача впринципе линейная опросить входы и по запросу от мастера выкинуть данные.Ну пару сигналов завести на прерывание.Единственное жесткое требование скорость опроса 10 мс.
|
|
|
Записан
|
|
|
|
NeilPryde
Гость
|
|
« Ответ #24 : 07-10-2003 12:59 » |
|
Сколько у вас опрашиваемых датчиков? Какой способ связи с мастером использовать собираетесь? И почему вы решили использовать OC в своей разработке? Может быть можно вообще без нее обойтись?
|
|
|
Записан
|
|
|
|
Кот
Гость
|
|
« Ответ #25 : 08-10-2003 03:15 » |
|
Датчиков за сотню на объекте.Связь либо Ethernet либо РРЛ. Критичным является время опроса и реакции на изменение состояния сигналов на самом объекте порядка 10 - 50 мс. Потому и решено было использовать MicroPC. Ресурсов у нее много опятьже архитектура хорошо знакома. Вот только надо гарантировать временные параметры. Реализация проекта только в перспективе на след. год вот и сижу думаю хватит ДОСа и QNX поставить или использовать RTKernel поверх доса (у него вроде многопоточность есть и гарантии по времени реакции).
Кстати мож кто юзал RTKernel.
|
|
|
Записан
|
|
|
|
NeilPryde
Гость
|
|
« Ответ #26 : 09-10-2003 09:32 » |
|
Возможно, я тебя не так понял. Насколько мне известно, MicroPC – это стандарт такой, типа ISA. Что за проц./контроллер на ней стоит? Нельзя ли поподробнее? Насчет систем… Ни с той ни с другой не работал. По QNX здесь Olej специалист. На первый взгляд требования у тебя вполне выполнимые. Все RTOSины должны гарантировать определенное время реакции. Я бы на твоем месте на QNX остановился.
|
|
|
Записан
|
|
|
|
Кот
Гость
|
|
« Ответ #27 : 10-10-2003 02:50 » |
|
На сколько я вкурсе MicroPC это стандарт который разработал Octagon и он практически единственный кто его поддерживает. В России Fastwell выпускает платы этого формата. Формат ISA. А архитектура x86. Процы стоят 386, 486, Пни и АМдшники. Факт что архитектура х86 и софт мона писать соответственно как под обычный писюк. QNX только в глаза видел потому переход на него малость затруднен. А библиотека RTKernel как раз расчитана чтобы вставать по верх ДОС.
|
|
|
Записан
|
|
|
|
CaptHowdy
Гость
|
|
« Ответ #28 : 07-11-2003 13:34 » |
|
Всем привет! Читал - читал... 8) Хочется сказать, что наилучшей ОСРВ по моему мнению является ОС QNX Momentics 6.2.1. Вы спросите почему? Я отвечу: потому как это единственная ОС, которую очень широко применяют в Military практике - самолеты, ракеты, космические корабли... Многие из них работают на базе QNX. Еще можно добавить, что это очень гибкая система. И очень маленькая по объему. Напрмер, я написал ПО для системы управления асфальто-смесительными агрегатами производства КРЕДМАШ ( http://www.kredmash.com). Все это поставил на DiskOnModule и заняло это все у меня 21Мб. Все - это имеется ввиду следующее: собственно ОС (Embeded QNX), GUI-интерфейс (Photon), основная программа, программы работы с базами данных, сеть и интернет. В некоммерческий пакет входят средства разработки GUI-приложений (PhAB) Так что всем советую попробовать. Скачать образы некоммерческих версий можно здесь: http://www.openqnx.сom/Downloads+index-req-viewdownload-cid-1.html предварительно надо зарегистрироваться здесь: http://www.openqnx.com/user.php?op=check_age&module=NS-NewUserиначе вы не сможете ничего увидеть и закачать по ссылке выше. Зайдя по ссылке, надобно качать образы: QNX 6.1 ISO Description: This is the full version of the ISO image of the QNX RTP version 6.1 cksum: 2313332395 463765504 qnxrtp61.iso md5sum: 8d2db8bef362f61cdc0a19d9e8963024 qnxrtp61.iso Version: 6.1 | Filesize: 442.28 MB этот образ позволит вам создавать встраиваемые системы. А вот это - последняя версия этой ОС: QNX 6.2.1 NC ISO image Description: This free download contains the version 6.2.1 of the QNX Neutrino RTOS with the QNX Photon microGUI. This ISO is a complete realtime development platform with a comprehensive suite of tools and software. For non commercial user only. cksum qnxnc621.iso 179511721 248741888 qnxnc621.iso md5sum qnxnc621.iso 0489c116af49f3aca814df33a6a3e13e qnxnc621.iso Thanks to the recent coverage of QNX on various medias, there is a renewed interested in QNX download. Following this discussion if you have problems/questions in downloading: http://www.openqnx.com/PNphpBB2-viewtopic-t190-.htmlVersion: 6.2.1 | Filesize: 237.22 MB P.S. Описание взято напрямую с сайта http://www.openqnx.com
|
|
|
Записан
|
|
|
|
CaptHowdy
Гость
|
|
« Ответ #29 : 07-11-2003 14:10 » |
|
Кот пишет: Вот собираюсь засесть за MicroPC там ROM DOS стоит. Вот мне интересно хватит мне ентой Досы или есть смысл перейти на QNX. Задача впринципе линейная опросить входы и по запросу от мастера выкинуть данные.Ну пару сигналов завести на прерывание.Единственное жесткое требование скорость опроса 10 мс
Используйте QNX. Если вам не нужна визуализация на уровне GUI всю вашу задачу вместе с системой можно запихнуть в модуль не более 4Мб. С GUI соответственно увеличатся размеры. На счет времмени 10 мс. У QNX существует так называемый системный тик 1 мс по умолчанию (который, кстати можно уменьшить или увеличить). Это означает, что все потоки и процессы отрабатываются ядром за такой временной интервал (1 мс). Вам это подходит. В первом приближении это можно построить на таймерах в одной программе (RtTimer) или играться с многопоточностью (pthread_create) или через Resource Manager или сделать многопроцессовую систему (под процессом понимается отдельно запущенная программа параллельно другим программам). в общем, советую перейти на QNX.
|
|
|
Записан
|
|
|
|
|