|
РТОС системы "реал тайм" ? |
|
|
|
Feb 20 2012, 09:21
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(a9d @ Feb 20 2012, 12:19)  Я считаю, что это "детерминированное время отклика для каждого процесса в системе". Его можно посчитать. Да, вы правы. Это и есть определение реалтайма. Причем, не только посчитать, но и задать и гарантировать. А насчет того, что "поцесс будет гарантированно выполняться 10мс", этого как раз гарантировать нельзя. Потому что многие системы имеют функции принудительного вызова диспетчера с целью ускорения реакции. Например: Цитата Гибридная многозадачность во FreeRTOS
Гибридная многозадачность сочетает в себе автоматический вызов планировщика каждый квант времени, а также возможность принудительного, явного вызова планировщика. Полезной гибридная многозадачность может оказаться, когда необходимо сократить время реакции системы на прерывание. В этом случае в конце тела обработчика прерывания производят вызов планировщика, что приводит к переключению на задачу, ожидающую наступления этого прерывания.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Feb 20 2012, 09:23
|

Знающий
   
Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237

|
Цитата(a9d @ Feb 20 2012, 12:19)  Я считаю, что это "детерминированное время отклика для каждого процесса в системе". Его можно посчитать. Отклика на что ? А если процесс отправил сообщение по сети и ждёт ответа - как предсказать (посчитать) время его "отклика" ? Это весьма распространённое заблуждение, что механизм ОСРВ заложен, в основном, в планировщике, который обладает волшебным свойством "детерминированности отклика" ... На самом деле, абсолютно все механизмы ОС должны быть перестроены таким образом, чтобы работать в режиме РВ. Одним планировщиком тут не обойтись. Возьмём, к примеру, выделение/освобождение памяти, тот же malloc(). В обычной (не-ОСРВ) системе malloc() при каждом вызове ищет первый подходящий по размеру кусок виртуальной памяти (first fit), не особо задумываясь, как там будет дальше, если не находит, то начинает "тасовать" страницы, дефрагментировать и т. п. Таким образом, в процессе работы приложений память фрагментируется, находить нужный кусок каждый раз всё сложнее, и каждый последующий вызов malloc() занимает время, существенно большее предыдущего (экспоненциальная зависимость), а главное - время работы malloc() ничем не ограничено сверху. Ни о каком РВ при таком подходе не может быть и речи. Другое дело ОСРВ - там malloc() использует специальные механизмы поиска (best fit), основанные на теории графов, и время его работы вполне ограничено сверху и более того, не сильно меняется от вызова к вызову.
--------------------
Сделано в Китае. Упаковано в России.
|
|
|
|
|
Feb 21 2012, 11:30
|
практикующий тех. волшебник
    
Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417

|
Цитата(a9d @ Feb 20 2012, 12:19)  ...по воду слова "реал тайм".... свои 5 копеек... при всём том что сказали выше... системы(имеется ввиду не ОС а именно "железные" системы) "реального времени" НЕ ЕСТЬ мк с РТОС  )) т.е. ваша задача в МК может гарантированно вызываться каждые 10 мс, но вот в целом МК может не обеспечивать данного понятия либо иметь гарантированный отклик значительно бОльший. (круглый)
|
|
|
|
|
Feb 21 2012, 15:34
|

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

|
Цитата(a9d @ Feb 20 2012, 10:19)  Разгорелся очередной мини холивар по воду слова "реал тайм".
Я считаю, что это "детерминированное время отклика для каждого процесса в системе". Его можно посчитать.
Оппоненты, насколько я понял, это "непрерывное выполнение задач". Т.е. задача выполняется 10мс и будет выполнятся 10мс и ее никто не прервет. Второе утверждение "задача будет выполнятся через определенные промежутки времени". Т.е сказали задаче выполнятся раз в секунду, она и будет выполнятся раз в секунду. Лучше спросите кто считал время такого "гарантированного" отклика в RTOS. Принципиальная возможность посчитать не есть еще реальная возможность. Ни в одной даже самой раскрутой RTOS не найдете формул расчета отклика. О чем бы это могло говорить? Отклик меняется даже от опций компиляции. Как вы собираетесь его считать? 'реальное время' это маркетинговый термин. Чаще означает, что дивайс действительно справляется со своей задачей. Или что быстродействие микроконтроллера адекватно быстроте управляемых процессов.
|
|
|
|
|
Feb 28 2012, 22:29
|
Местный
  
Группа: Свой
Сообщений: 351
Регистрация: 11-09-05
Из: Харьков
Пользователь №: 8 458

|
Цитата(MrYuran @ Feb 20 2012, 12:21)  Да, вы правы. Это и есть определение реалтайма. Причем, не только посчитать, но и задать и гарантировать. ... знакомые споры разгорелись с новой силой через 2 года после завершения предыдущего тура Ну ещё добавьте к этим определениям: - в системах без вытеснения, однопоточных, не мультизадачных - нет смысла говорить о реалтаймовости: они все реалтайм ... в некотором смысле MS-DOS самый что ни есть реалтайм  - в системе, сверх сказанного должно быть гарантировано не возникновение инверсии приоритетов (для этого рассмотрите пример, но как минимум 3-х процессов); - а для обеспечения пред.п. придумано не так уж много способов: а). наследование приоритетов на примитивах синхронизации или б). граничные приоритеты примитивов синхронизации + в). такие дисциплины диспетчеризации процессов как адаптивная и спорадическая... А выполнение всех этих условий наблюдаем ох как в мало операционных систем!  ... так что, господа, когда вам обещают RT, то в большинстве случаев вас дурят ... пользуясь тем, что проверить это очень трудно.
|
|
|
|
|
Feb 29 2012, 00:31
|
Знающий
   
Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858

|
Цитата(Olej @ Feb 29 2012, 02:29)  - в системах без вытеснения, однопоточных, не мультизадачных - нет смысла говорить о реалтаймовости: они все реалтайм ... в некотором смысле MS-DOS самый что ни есть реалтайм  Да уж.. Этот код который сможет выполнить любой превратит вашу ДОС-РТОС в тыкву Код cli in AL,70h or AL,80h out 70h,AL jmp $ Цитата ... так что, господа, когда вам обещают RT, то в большинстве случаев вас дурят ... пользуясь тем, что проверить это очень трудно.  "А мужики то не знают" - ПО зачем-то сертифицируют на соответствие стандартам, например такому - ничего не гарантирующему http://en.wikipedia.org/wiki/DO-178B
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|