|
Пользователям uC/OS,eCOS,jacOS,FreeRTOS,scmRTOS и т.п., Возможен ли в этих ОС режим: 80% времени CPU в ISR |
|
|
|
 |
Ответов
|
Mar 15 2008, 15:21
|

Местный
  
Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947

|
Цитата(spf @ Mar 15 2008, 16:11)  При указанных загрузках процессора в ISR (еще не известно в них должны использоваться сервис или нет) полноценно использовать OS не получиться (с сервисами в ISR просто невозможно). У меня получилось... Меня интересовало: а как с этим дело обстоит во всяких юкосах/микосах/эмбедед-линуксуниксах/эсцээмРтосах? Они это позволяют сделать? Цитата(AlexandrY @ Mar 15 2008, 16:37)  А вот с тактами напряженка, никто их прецизионно не считает Да я не предлагаю их считать, просто прикинув частоту прерываний я написал, что они будут происходить каждые 200 тактов и спросил справяться ли RTOS, используемые участниками форума с такой задачей Цитата(sergeeff @ Mar 15 2008, 16:58)  или прерывания прут сплошным потоком? Да Цитата(AlexandrY @ Mar 15 2008, 17:45)  Есть прерывания вообще вне контекста операционки. Вот они обычно и занимают много времени, хоть до 90% поскольку обслуживают скоростную периферию. Вот их то я имею в виду в своём вопросе
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
Mar 15 2008, 16:00
|

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

|
Тут вы зацепили за живое, конечно. В портах публикуемых для uCOS действительно нет техники и примеров реализации ISR вне контекста RTOS и как в них сохранить связь с RTOS. Это глубоко интимное дело для каждого семейства микроконтроллеров. Решение всегда находится, но непереносимое на другие платформы. Поэтому оно наверно и не обсуждается в рамках RTOS, это дело драйверов и BSP. Цитата(Дон Амброзио @ Mar 15 2008, 19:51)  У меня получилось... Меня интересовало: а как с этим дело обстоит во всяких юкосах/микосах/эмбедед-линуксуниксах/эсцээмРтосах? Они это позволяют сделать? Да я не предлагаю их считать, просто прикинув частоту прерываний я написал, что они будут происходить каждые 200 тактов и спросил справяться ли RTOS, используемые участниками форума с такой задачей Да Вот их то я имею в виду в своём вопросе
|
|
|
|
|
Mar 15 2008, 16:53
|

Местный
  
Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947

|
Цитата(zltigo @ Mar 15 2008, 19:06)  Полагаю, что под "операционкой" которая у Автора топика "получилась", подразумевается на самом деле вариации на тему вечного цикла Откуда такие предположения? Когда что-то кажется - креститься надо. У меня полноценная (насколько это возможно сделать в условиях: 4Мгц тактовой и Target MCU = ATmega8515 и 512 байт RAM) RTOS, поддерживающая две политики диспетчеризации: карусель со сменой потоков по истечению выделенного им кванта и вытесняющую, со сменой потока по Евентам. Причём вытесняющая политика поддерживает как статические так и динамические приоритеты потоков. Поддерживаются блокирующие ине блокирующие сервисы ядра.. Монопольный режим захвата CPU (при отключенной диспетчеризации). Да много чего ещё....
Сообщение отредактировал Дон Амброзио - Mar 15 2008, 16:58
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
Mar 15 2008, 17:07
|

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

|
Цитата(Дон Амброзио @ Mar 15 2008, 19:53)  карусель со сменой потоков по истечению выделенного им кванта... Вы уж как-то определитесь либо карусель, либо кому-то кванты времени выделяют и тогда это не карусель из потоков  . Цитата Откуда такие предположения? Естественно, только исключительно из чтения Ваших сообщений. Коих, впочем, достаточно много для того, что-бы составить мнение.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 15 2008, 17:30
|

Местный
  
Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947

|
Цитата(zltigo @ Mar 15 2008, 20:07)  Вы уж как-то определитесь либо карусель, либо кому-то кванты времени выделяют и тогда это не карусель из потоков  . Не собираюсь дальше упражняться с Вами в жонглировании терминологией и заниматься схоластикой (говоря по простому флудом).. Может я не настолько силён в терминологии (или просто мы с Вами читали разные книги и доки), но я разработал свою RTOS (не знаю как Вы?). И она прекрасно работает. Если у Вас есть что сказать по существу вопроса - говорите.. А флуд не украшает на форуме даже Админа. И если Вы делаете какие-то свои умозаключения из моих сообщений, я бы попросил Вас приводить тогда цитаты, на основании которых Вы делаете такие умозаключения И кстати Вы правы... Поспешишь-людей насмешишь... Никакие не равные кванты времени у меня выделяются каждому потоку карусели... Следующий поток в карусели запускается после того как предыдущий сам по свой инициативе пошлёт сигнал ядру типа "я закончил" А через равные кванты времени у меня запускается не очередной поток карусели, а вся карусель (т.е. диспетчер карусели). Вот я и описАлся. Т.е. через равные промежутки времени у меня управление передаётся диспетчеру карусели, который начинает крутить свои потоки пока его не вытеснят... Т.е. я реализовал это так, чтобы низкоприоритетной каруселе по-любому доставалось время.
Сообщение отредактировал Дон Амброзио - Mar 15 2008, 17:49
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
Mar 15 2008, 18:05
|

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

|
Цитата(Дон Амброзио @ Mar 15 2008, 20:30)  ..но я разработал свою RTOS (не знаю как Вы?). Пожалуй три штуки. Естественно, то, что не стыдно (не жонглируя терминами на карусели) операционной системой назвать. Последние годы веду собственную веточку FreeRTOS. Цитата Если у Вас есть что сказать по существу вопроса - говорите. По существу, насколько можно было, ответил AlexandrY. Добавить особо нечего из-за собственно отсутствия сколь-нибудь конкретного вопроса. Цитата А флуд не украшает... Вот именно, посему разговоры в стиле "А у нас в квартире газ операционная система, а у вас?" не стоило даже начинать.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 15 2008, 18:15
|

Местный
  
Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947

|
Цитата(zltigo @ Mar 15 2008, 21:05)  Вот именно, посему разговоры в стиле "А у нас в квартире газ операционная система, а у вас?" не стоило даже начинать. Если Вы не заметили, то привожу "шапку" этой темы Цитата(Дон Амброзио @ Mar 15 2008, 11:02)  Вопрос к пользователям наиболее часто обсуждаемых здесь embedded операционных систем: 1)можно ли в них организовать режим когда процессор будет 80% времени находиться в ISR? Т.е. прерывания идут с такой большой частотой, что процессор 80% времени занимается обработкой прерываний. Или такой режим нагрузки в этих ОС не предусмотрен? 2) Можно ли получить в них частоту следования прерываний каждые 200 тактов (200Т) процессора при том что сам обработчик прерывания (ISR) выполняется 150Т? Если нет, то какая максимальная частота (выраженная в тактах) поддерживается? P.S. zltigo !!! Несколько раз прочитал все сообщения в теме...Как не старался не смог НИ ОДНОГО СЛОВА найти из всех Ваших высказываний, хотя бы отдалённо относящихся к теме... И тогда какой смысл Вашего литературного творчества в этой теме? Как другие участники не будут флудить если сам Админ флудит и появляется в теме, чтобы просто посеять недовольство автором темы
Сообщение отредактировал Дон Амброзио - Mar 15 2008, 18:29
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
Mar 15 2008, 18:58
|

Местный
  
Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947

|
Цитата(zltigo @ Mar 15 2008, 21:46)  Я говорил AlexandrY. С ним разговор на затронутую ИМ тему готов продолжить. А разве это вежливо в теме автора разговаривать с другим участником на совсем другие темы? Или этим Вы хотели продемонстировать своё неуважение ко мне? Короче я вижу что благодаря Вашим стараниям (поздравляю Вас. Вы добились своего - вывели меня из себя. Троллинг работает на ура) тема засрана нашими с Вами разборками... Можете смело её удалять, потому что никто в ней по теме уже писать не будет....Спасибо Вам большое. Вы маладец..
Сообщение отредактировал Дон Амброзио - Mar 15 2008, 19:02
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
Mar 16 2008, 02:26
|

Странник
   
Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051

|
Цитата(Дон Амброзио @ Mar 15 2008, 23:58)  Короче я вижу что благодаря Вашим стараниям ...... А чего ждали, что все кинуться обсуждать неочемную тему? А потом еще выяснилось что вами изобретен " вечный двигатель", который еще и показать нельзя. После этого тему точно можно закрыть, зачем воду в ступе толочь, а "вечный двигатель" пусть трудится...
--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
|
|
|
|
|
Mar 16 2008, 22:23
|

Местный
  
Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947

|
Цитата(spf @ Mar 16 2008, 05:26)  А чего ждали, что все кинуться обсуждать неочемную тему? Не знаю чего я ждал, но уж чего я никак не ожидал, что сам модератор начнёт заниматься троллингом в моей теме. Я бы Вас всё-таки попросил бы (хоть Вы и модератор) вести себя более политкорректно и воздерживаться от такого рода оценок, а говорить по существу обсуждаемого вопроса. Советую просто не читать мои "неочёмные" темы. От этого только нервы целей будут как у меня, так и у Вас Цитата(Непомнящий Евгений @ Mar 16 2008, 09:52)  И еще пара вопросов - на чем писали, насколько она универсальна? Если вытесняющая многозадачность - по идее нужны отдельные стеки на каждый процесс - как же вам удалось уложиться в 512 байт? Писал на АСМ-е разумеется. Универсальна настолько, что может работать на всех микроконтроллерах AVR. Есть отдельные PC- и DATA-стеки: 8 байт PC-стек и 12 байт DATA-стек на каждую "тяжеловесную" нить P.S. А вообще, Господа, здесь не мной разработанная RTOS обсуждается. Смотрите внимательней головное сообщение темы
Сообщение отредактировал Дон Амброзио - Mar 16 2008, 22:31
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
Mar 17 2008, 07:39
|

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

|
Цитата(Дон Амброзио @ Mar 17 2008, 01:23)  Есть отдельные PC- и DATA-стеки: 8 байт PC-стек и 12 байт DATA-стек на каждую "тяжеловесную" нить Отсутствует даже место для сохранения всего контекста задачи. Посему говорить о том, что существует некая "вытесняющая многозадачность" совершенно не приходится. Соответственно такты на "якобы переключение" сравнивать у этой системы и на реальное переключение контекста у систем помянутых в заголовке совершенно бессмысленно. Цитата P.S. А вообще, Господа, здесь не мной разработанная RTOS обсуждается. Смотрите внимательней головное сообщение темы Здесь, с Вашей подачи обсуждается и некоторая "система" которая якобы отбеспечивает заявленные при начале темы параметры. Собственно на "вопросы" в шапке темы, могу еще практически повторить (для реально желающих узнать ответы на вопрос) сказанное другими: - система совершенно спокойно может находится 80% в прерывании; - время реакции на прерывание использующее системные вызовы определяется в основном длительностью критических секций операционной системы из коих самая тяжелая это шедулер и работа с контекстом задач; - для прерываний не использующих системные сервисы, или не использущих некоторве тяжелые, например то-же переключение контекста, при соответствующих усилиях зависящих от возможносей конкретной платфрмы времена реакций могут быть других порядков. - прежде, чем проектировать нечто c 80% загрузкой в прерывании надо крепко подумать о правильности подхода к делу вообще. Цитата ...модератор начнёт заниматься троллингом в моей теме. А подобные завления по отношению ко мне, я оставлю на Вашей совести, хотя, как Модератор попрошу воздержаться от замусоривания тем.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Mar 17 2008, 08:16
|

Местный
  
Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947

|
Цитата(zltigo @ Mar 17 2008, 10:39)  Отсутствует даже место для сохранения всего контекста задачи. Посему говорить о том, что существует некая "вытесняющая многозадачность" совершенно не приходится. Соответственно такты на "якобы переключение" сравнивать у этой системы и на реальное переключение контекста у систем помянутых в заголовке совершенно бессмысленно. Делаете априори не верное предположение и как следствие не верные выводы. Разве я Вам говорил, что у меня не сохраняется контекст задачи? Очень даже сохраняется: каждой задаче выделяется 16 байт под дамп контекста. Вы, на будущее, если что не ясно - лучше спросите, а не стройте свои домыслы. Вы же не телепат? Или телепат? Цитата(zltigo @ Mar 17 2008, 10:39)  время реакции на прерывание использующее системные вызовы определяется в основном длительностью критических секций операционной системы из коих самая тяжелая это шедулер и работа с контекстом задач; - для прерываний не использующих системные сервисы, или не использущих некоторве тяжелые, например то-же переключение контекста, при соответствующих усилиях зависящих от возможносей конкретной платфрмы времена реакций могут быть других порядков. Во-первых, меня интересовало не совсем то, о чём Вы говорите. Незря же я говорил про такты в головном сообщении темы А во-вторых, Вы отвечаете в общем (не приводя конкретных цифр). А меня интересует конкретная реализация в конкретных, перечисленных в названии темы RTOS, с приведением конкретных цифр
Сообщение отредактировал Дон Амброзио - Mar 17 2008, 08:24
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
Mar 17 2008, 13:04
|

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

|
Цитата(Дон Амброзио @ Mar 17 2008, 11:16)  Очень даже сохраняется: каждой задаче выделяется 16 байт под дамп контекста. ... Вы же не телепат? Или телепат? В данном конкретном случае я больше, чем телепат - я знаю, что у AVR 32 регистра общего назначения, которые в поминаемых Вами 16 байтах не сохранить. Посему речь о системе с вытесняющей многозадачностью просто не идет. Даже если Вы и будете повторять "халва...халва...халва" "вытесняющая многозадачность...вытесняющаяя многозадачность" "во рту слаще не станет" это в реальности ничего не изменит. Пока, с каждым Вашим постом я получаю очередное подтверждение своему диагнозу изложенному ранее: Цитата Полагаю, что под "операционкой" которая у Автора топика "получилась", подразумевается на самом деле вариации на тему вечного цикла. Цитата А меня интересует конкретная реализация в конкретных, перечисленных в названии темы RTOS.. Ну так изучите этот вопрос по их исходникам. Узнаете много полезного уже после ознакомления в первыми несколькими.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
Сообщений в этой теме
Дон Амброзио Пользователям uC/OS,eCOS,jacOS,FreeRTOS,scmRTOS и т.п. Mar 15 2008, 08:02 AlexandrY Не.., отлично будет работать. 20% же остается.
У ... Mar 15 2008, 13:37                Дон Амброзио Цитата(zltigo @ Mar 17 2008, 16:04) В дан... Mar 17 2008, 15:56                 Damon Цитата(Дон Амброзио @ Mar 17 2008, 18:56)... Mar 18 2008, 04:34                  Дон Амброзио Цитата(Damon @ Mar 18 2008, 07:34) Ну так... Mar 18 2008, 07:46                   zltigo Цитата(Дон Амброзио @ Mar 18 2008, 10:46)... Mar 18 2008, 16:44     Непомнящий Евгений Цитата(Дон Амброзио @ Mar 15 2008, 19:53)... Mar 16 2008, 06:52      IgorKossak Цитата(Непомнящий Евгений @ Mar 16 2008, 08... Mar 16 2008, 08:22 sergeeff Много написано, что всегда и везде необходимо обес... Mar 15 2008, 13:58 AlexandrY Зря значит писали.
Есть разные подходы в операцион... Mar 15 2008, 14:45
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|