|
|
  |
QNX opensource! |
|
|
|
Oct 20 2007, 22:01
|

Частый гость
 
Группа: Участник
Сообщений: 163
Регистрация: 8-09-06
Из: Россия, Челябинская область
Пользователь №: 20 187

|
Цитата(vshemm @ Oct 20 2007, 23:04)  Не нужно слушать маркетологов, которые говорят "Вот, поставьте эту крутую операционку и ваши проблемы улетучатся". Не будет такого. +100% «Если на небе зажигаются звёзды — значит, это кому-то нужно». Если бы существовала единственнаям «ось на все времена», давно бы уже «копья ломать перестали».
--------------------
do ut des
|
|
|
|
|
Oct 20 2007, 22:46
|

тоже уже Гуру
     
Группа: Свой
Сообщений: 2 047
Регистрация: 13-06-05
Из: Кёлн - Санкт-Петербург
Пользователь №: 5 973

|
немного в офтоп Цитата(AlexandrY @ Sep 15 2007, 17:21)  А реальное время на FPGA не сделать. Тут подмена терминов. На FPGA можно сделать пару фиксированых однопоточных DSP задач. В системе реального времени состав и количество задач всегда меняется. Задачи уничтожаются и создаются в реальном времени! на мой взгляд, система реального времени - система в которой время между приходом возмущения и вырабатываемым ответом на него меньше некоего критического времени (т.е. система в которой невыполнение данного неравенства приводит к нарушению функциональности). так что понятие реального времени зависит от контекста (от поставленной задачи или круга задач). таким образом ОСРВ характерна для встроенных приложений, а встроенные приложения характеризуются ограниченным и стабильным набором выполняемых задач. (поэтому на мой взгляд постулаты ваши приведённые выше изначально неверны.) так что любая система(в том числе и ПЛИС) может быть системой реального времени (не имею в виду ОС), если улсовие Т ответа < Т критическое выполняется для поставленных ей задач(тот же самый пульт от телевизора может считаться системой реального времени, потому что человеку не приходится идти поспать пока каналы всё-таки переключатся, и переключать каналы он может быстрее чем он сможет понять что на них показывают) абсолютное время ответа не имеет никакого значения.
--------------------
И снова на арене цирка - дрессированные клоуны!! Оказываем консультации по электронике за симпу круглосуточно.
|
|
|
|
|
Oct 21 2007, 09:27
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308

|
vshemm [А по факту - больше 2-3 dsp задач обычно и не нужно там, где речь идет о "реальном времени"./i] согласен, мне только такие задачи и встречались. Я вот про вот это спрашивал [i]В системе реального времени состав и количество задач всегда меняется. Задачи уничтожаются и создаются в реальном времени! просто мне еще такие задачи не попадались вот и интересно стало что это за задача которая может уничтожаться в системе реального времени, это фактически мозг получается  т.е система наделенная интеллектом. Если под этим понимать вот такую задачу: Просто представьте себе, что ЗУР (зенитная управляемая ракета) летит под управлением ОС жесткого реального времени QNX то это критическая задача по быстродействию. Хотя вроде в интеренете читал статьи что QNX используется в самолетах F-16. А вот на счет того что поставить такую ось на ракету такое не слышал, хотя со времен выхода плейстейшен 2 помню там хвастались говорили что в системе применен риск процессор такой производительности что если его поставить на ракету то вполне справится с видеопотоком и принятием решения по управлению. Речь помоему шла о том что по сличению изображения обьекта найти цель.  Если это не был рекламный трюк. Я года два три назад вплотную занялся QNX хотел найти операционку у которой бы время между приходом возмущения и вырабатываемым ответом на него меньше некоего критического времени . У меня это критическое время было 1 нс, ну максимум 10 нс( и то это в самом худшем варианте). В интернете тогда из всего многообразия осей выбрал QNX как самую быстродействующую. Когда начал изучать его то узнал что у него это время приблизительно где то 1 микросекунда. Да еще мне тогда не понравилось то что у нее код закрыт. Короче в итоге ее тогда с компа снес. Может с тех пор что то новое появилось, не знаю. MINIX3 - это скорее академическая ОС, чем прикладная. А почему именно с нее надо начинать изучение осей. Если уж на то пошло можно младшие версии взять, они значительно легче. А поняв основы можно тогда на Миникс3 посмотреть как "монтируются" современные быстродействующие интерфейсы, и на основе двух этих знаний сделать нечто свое А вот про это для начального изучения принципов операционных систем больше подходит Prex буду в интернете читать интересно все же
|
|
|
|
|
Oct 21 2007, 10:22
|
Частый гость
 
Группа: Участник
Сообщений: 167
Регистрация: 15-08-07
Пользователь №: 29 803

|
В системе реального времени состав и количество задач всегда меняется. Задачи уничтожаются и создаются в реальном времени! Это бардак тогда какой-то или мозг, да  Мне почему-то казалось, что динамическое создание/удаление задач - первый шаг к плохому дизайну. Пример. Как уже говорил, шедулер QNX масштабируется как O(n) на количество нитей. Другими словами, время его отработки линейно возрастает с их количеством. Не зная заранее сколько нитей будет в системе, как мы можем гарантировать задержку, вносимую шедулером? Не станет ли она недопустимо велика? Но даже это не самое страшное. При большом количестве нитей возникает риск множественных блокировок. И это отследить намного сложнее. Все помнят луноход на марсе с vxWorks на борту? Его приходилось резетить с земли каждые пару часов именно из за этого. Есть, конечно, задачи друго рода, например веб сервера или базы данных. Тут да, потоки создаются только в путь. Но это не совсем задача реального времени, т.к. нет дедлайна на время реакции. И потоки редко блокируются друг на друге. Зато такой подход позволяет поднять общую производительность, т.е. среднее время реакции. Хотя вроде в интеренете читал статьи что QNX используется в самолетах F-16.Да, но только как HMI. Т.е. если она откажет - самолет не упадет, просто пилот не увидит красивую трехмерную картинку на экране. Придется вертеть башкой и думать мозгом  Собственно, здесь важно не низкое время реакции, а отказоустойчивость и математика. У меня это критическое время было 1 нс, ну максимум 10 нс( и то это в самом худшем варианте).С такими временами об ОС нужно забыть
|
|
|
|
|
Oct 21 2007, 13:52
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308

|
zltigo vshemm Одна наносекунда, говорите? Операционная система? Извитите, но Вы похоже просто не имеете никакого представления о том, о чем пытаетесь расссуждать. Тогда не имел представление вот и искал ось с такими характеристиками.  Потом перестал искать и вернулся к отработанной технологии железная логика плюс компьютер. А так я просто рассказал историю как вышел на QNX. Для начала следует забыть о контроллерах и процессорах, поскольку это один такт на Гигагерце и подумать о том, что такая задержка набегает уже на нескольких сотнях миллиметров проводника, не говоря уже о кремниевой логике. Ну зачем так категорично. Хотя про "о контроллерах и процессорах" давно конечно забыли, но про кремневую логику это вы зря. Конечно до GaAs, SiGe далеко, но все же с 1 нс кремний справляется. А для каких то приложений это уже система реального времени Цитата Да, но только как HMI. Т.е. если она откажет - самолет не упадет, просто пилот не увидит красивую трехмерную картинку на экране. Придется вертеть башкой и думать мозгом smile.gif Собственно, здесь важно не низкое время реакции, а отказоустойчивость и математика. От того что QNX откажет уж точно самолет не упадет, наверно на этот случай что то придумано разработчиками этих самолетов.  Просто я о том что эта операционка всегда представлялась в прессе как свехнадежная система ( по сравнению с другими операционками) что даже военные доверили ей управление самолетом.
|
|
|
|
|
Oct 21 2007, 15:06
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308

|
Цитата И про это тоже не зря - расскажите на каком железе Вы якобы реализовали нечто обеспечивающее время обработки входного воздействия и выдачу соответственно выходного воздействия за названную одну наносекунду. Пожалуйста вот http://www.onsemi.com/PowerSolutions/parametrics.do?id=400 посмотрите графу где Tpd.  . А собирал я железо подсчет импульсов шириной 1 нс и выдача на комп результата.
|
|
|
|
|
Oct 21 2007, 16:33
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(prog_sun @ Oct 21 2007, 18:06)  А собирал я железо подсчет импульсов шириной 1 нс и выдача на комп результата. Читать умеем? Я не спрашивал найти в интернете быстродействующий но ТУПОЙ счетчик на дивной ЭСЛ логике. Я спрашивал про реализацию Вашего устройства, которое за одну наносекунду должно получить некоторые воздействия, обработать их и выдать реакцию. Такое устройство для которого уже понятие алгоритм это не +1 и для которого возникает мысль об операционной системе, или реализации оного алгоритма в железе сложнее нескольких тригеров.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Oct 21 2007, 17:19
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308

|
Цитата которое за одну наносекунду должно получить некоторые воздействия, обработать их и выдать реакцию.  принял один импульс, посчитал его, приготовился принимать второй импульс после n-го импульса результат отправил в компьютер или для Вас это не алгоритм? Цитата реализации оного алгоритма в железе сложнее нескольких тригеров.  надо еще "попотеть", решить массу проблем, перед тем как на той элементной базе сделать счет импульсов. Цитата и для которого возникает мысль об операционной системе А мысль у меня об операционке тогда возникла не для того что бы за одну наносекунду сложный алгоритм вычислить  (об таких вешах у меня и мысли не было) а для того что бы хотя бы как Вы выразились Тупо посчитать эти импульсы, "не потея".  . Просто взять источник сигнала через быстродействующий интерфейс подключил к компьютеру под управлением быстродействующей операционки и все, дешево и сердито  Но увы.
|
|
|
|
|
Oct 21 2007, 17:42
|

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

|
Трудность понимания систем реального времени именно и заключаеться в том, что многие не представляют где они применяются. Начинаются гадания: ракеты, радары, космос ... хотя и это тоже, но - Возьмем обычный фотопринтер. Нет ли у кого желания сделать его на FPGA? А что, тупые датчики и все, скорости небольшие! Ну может смутить кого-то наличие USB, но не беда, че нить придумаем. Ан нет, в самом дешевом фотопринтере можно насчитать до 50-и и более задач. Некоторые с исключительно жестким реалтаймом. Кому понравятся размытые контуры на фотке, или нечеткие цвера, или пропущенные линии или простой принтера и долгая подготовка к работе. Задачи в принтере создаются буквально для каждого датчика, и еще создаются менеджеры задач управляющие другими задачами. Семафоры и ивенты уже исчисляются сотнями. Зачем создавать новые задачи? Ну вот допустим картридж в принтере. Их 5-ть. Они тоже с процессорами. Обмен на скрости до 1 Mbit-a. Картриджы выполняют двоякую роль: с одной строны они звено в схеме слежения за уровнем чернил c другой стороны они выполняют задачу защиты от клонирования и симуляции картриджей. Так как хакеры тоже не дурачки картриджы выполняют процедуры защиты практически перед каждой печатью и в ходе печати. Естественно задачи создаются и уничтожаются динамически. И все это на фоне того, что принтер непрерывно, а главное прецизионно следит за не менее 3-мя движками, датчиками позиционирования каретки, бумаги, зазаром, скоростями движения, концевыми датчиками, токовыми датчиками, кнопками интерфейса пользователя, проводит расчеты корректировку изображения, следит за USB и поддерживает кучу протоколов по USB, и еще в каждой задаче присутствует механизм диагности и отладки, который тоже состот из нескольких задач. Если кто скажет зачем так сложно, я могу проще и дешевле на FPGA или без такой сложной системы задач и без RTOS ему памятник постявят фирмы Cannon, Epson, HP и т.д. И вот такую систему и принято называть системой реального времени. Как видим термин к самому времени как абсолютному так и относительному имеет только косвенное отношение. Это скорее термин описывающий технологию. Цитата(CaPpuCcino @ Oct 21 2007, 02:16)  немного в офтоп
на мой взгляд, система реального времени - система в которой время между приходом возмущения и вырабатываемым ответом на него меньше некоего критического времени (т.е. система в которой невыполнение данного неравенства приводит к нарушению функциональности). так что понятие реального времени зависит от контекста (от поставленной задачи или круга задач). таким образом ОСРВ характерна для встроенных приложений, а встроенные приложения характеризуются ограниченным и стабильным набором выполняемых задач. (поэтому на мой взгляд постулаты ваши приведённые выше изначально неверны.) так что любая система(в том числе и ПЛИС) может быть системой реального времени (не имею в виду ОС), если улсовие Т ответа < Т критическое выполняется для поставленных ей задач(тот же самый пульт от телевизора может считаться системой реального времени, потому что человеку не приходится идти поспать пока каналы всё-таки переключатся, и переключать каналы он может быстрее чем он сможет понять что на них показывают) абсолютное время ответа не имеет никакого значения.
|
|
|
|
|
Oct 21 2007, 18:46
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308

|
AlexandrY Не буду утверждать, но вы подменяете систему реального времени чем то другим. система реального времени - система в которой время между приходом возмущения и вырабатываемым ответом на него меньше некоего критического времени вот так я его понимаю - Пришло возмущение, обработали его ( это возмущение приняли зафиксировали т.е событие имеет место), дальше ждем другое событие. А то что вы говорите это похоже на то что я называю "мозгом". Если уж на то пошло то человек который управляет телевизором это тоже система реального времени.  И вот еще вы пример хороший с принтером привели  Вы одно событие представляете как кучу событий. Это сложнее. И к тому же в примере с принтером я так думаю там симбиоз различных систем реального времени. Каждый датчик имеет свое время отклика. К примеру датчик бумаги свои временем отклика( через него врядли вы 1 Мбит пустите) и к примеру поток данных от компа к принтеру это уже другая система реального времени. Но все они должны согласованно на своих скоростях отработать и не останавливая процесс распечатать бумагу. Хотя вот в википедии что написано # ОС, в которой успешность работы любой программы зависит не только от её логической правильности, но и от времени, за которое она получила этот результат. Если система не может удовлетворить временным ограничениям, должен быть зафиксирован сбой в её работе # Стандарт POSIX 1003.1 даёт определение: «Реальное время в операционных системах — это способность операционной системы обеспечить требуемый уровень сервиса в определённый промежуток времени» # ОС, реагирующая в предсказуемое время на непредсказуемое появление внешних событий то что Вы сказали тоже подходит под систему реального времени.
|
|
|
|
|
Oct 21 2007, 18:58
|
Частый гость
 
Группа: Участник
Сообщений: 167
Регистрация: 15-08-07
Пользователь №: 29 803

|
Мрак. И это все работает? А как ЧМА применяется? Или на глазок?  А если серьезно, то в примере несколько другие задачи. Нужно выпустить "нечто" как в можно более короткий срок. Это "нечто" поставлено на конвеер. Берем чего-нибудь подешевле, лепим и готово. Отсюда 50+ задач, быстро и недорого. И систем реального времени нет, а есть задачи с дедлайном и системы, которые эти задачи решают. Понимаю, что это выглядит как "не из металла, а из другого материала", но это так  З.Ы. Кстати, насколько мне известно, в потребительском секторе только Мили применяла QNX в своих стиралках (это чтобы совсем оффтопа не было  )
|
|
|
|
|
Oct 21 2007, 19:04
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 12-10-07
Пользователь №: 31 308

|
Вот здесь http://bugtraq.ru/cgi-bin/forum.mcgi?type=...15&m=145584 хорошо сказали "Неважно как обрабатывает система реального времени данные, это её секрет. Гарантируется только время отклика. Если система не влезла в предел времени отклика, она генерирует ошибку, только и всего."
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|