реклама на сайте
подробности

 
 
> Реальное время в Linux user space, Сколько оно нереально?
Evgeny_CD
сообщение Jun 21 2006, 08:51
Сообщение #1


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Вот есть процесс в user space Linux. Он в цикле опрашивает порт IO (через медленную функцию доступа к IO из user space). Если там что-то случилось/не случилось, он делает некую работу.

Есть другие процессы (и сама система). Они прерывают мой процесс. Процессов таких минимум, они не сильно активны. По сети активности нет. Винчестера нет, только NOR FLASH и SD.

Если вести речь о PXA270, на 312 Мгц, то о какой "временной девиации" может идти речь? Т.е. на какое максимальное время система может прервать мой процесс? Можно ли говорить о том, что "дырка" будет не более 10 мс?

Аспекты kernel module, RTAI чур пока не трогать. Реь идет о тупом программизме в user space.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Harbour
сообщение Jun 21 2006, 21:52
Сообщение #2


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



Ни фига не гарантируется, вот навскидку несколько моментов, которые легко удлиняют switch_task jitter в несколько раз :
- способ реализации вкомпиленных в ядро драйверов устройств - любой драйвер в состоянии запретить прерывания на столько, на сколько он захочет, причем может быть неважно есть данное устройство в системе или нет
- способ взаимодействия контроллера памяти и DMA с CPU - есть всяческие пересылки, которые постоянно происходят в системе, они захватывают шину, вопрос на сколько - обычно задержки такого рода минимальны
- способ реализации захвата шины процессора набортными платами, тут поле непаханое, вот пример из Intel мира - чипсет i810/i815 с набортным видео в состоянии удерживать шину CPU до 1мс ! т.е. в зависимости от типа обмена легко получаем jitter на данных системах до 100мс

Вывод: только комплексный и правильный выбор hard и soft архитектуры может решить вопросы данного рода с порядочной долей вероятности, ну и тесты, тесты и тесты ...
Go to the top of the page
 
+Quote Post
Evgeny_CD
сообщение Jun 21 2006, 22:07
Сообщение #3


Гуру
******

Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892



Цитата(Harbour @ Jun 22 2006, 01:52) *
- способ реализации захвата шины процессора набортными платами, тут поле непаханое, вот пример из Intel мира - чипсет i810/i815 с набортным видео в состоянии удерживать шину CPU до 1мс ! т.е. в зависимости от типа обмена легко получаем jitter на данных системах до 100мс
Хм... Я говорил про embedded систему на PXA270. Вроде там i810/i815 не шибко нужен biggrin.gif

Вообще "дело ясное, что дело темное". biggrin.gif Но 100 мс, как я уже говорил, меня устраивает на крайний случай.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Evgeny_CD   Реальное время в Linux user space   Jun 21 2006, 08:51
- - makc   Тут еще вопрос в том, с какой частотой будет вызыв...   Jun 21 2006, 08:55
|- - Evgeny_CD   Цитата(makc @ Jun 21 2006, 12:55) Тут еще...   Jun 21 2006, 09:01
||- - makc   Цитата(Evgeny_CD @ Jun 21 2006, 13:01) Ци...   Jun 21 2006, 09:13
||- - Evgeny_CD   Цитата(makc @ Jun 21 2006, 13:13) Это мож...   Jun 21 2006, 09:17
|- - Olej   Цитата(makc @ Jun 21 2006, 11:55) Тут еще...   Jun 22 2006, 08:03
- - COMA   Задам свой вопрос. Если написать демон или драйвер...   Jun 21 2006, 09:19
- - bigirbis   Вообще, по моему скромному мнению, следует внести ...   Jun 22 2006, 07:17
|- - makc   Цитата(bigirbis @ Jun 22 2006, 11:17) Есл...   Jun 22 2006, 07:28
||- - bigirbis   Цитата(makc @ Jun 22 2006, 11:28) Цитата(...   Jun 22 2006, 07:39
|- - Evgeny_CD   Цитата(bigirbis @ Jun 22 2006, 11:17) Воо...   Jun 22 2006, 09:26
||- - bigirbis   Цитата(Evgeny_CD @ Jun 22 2006, 13:26) Ци...   Jun 22 2006, 10:06
||- - Harbour   Цитата(Evgeny_CD @ Jun 22 2006, 12:26) Ци...   Jun 22 2006, 16:00
||- - Evgeny_CD   Цитата(Harbour @ Jun 22 2006, 20:00) Нет,...   Jun 22 2006, 18:22
||- - Olej   Цитата(Evgeny_CD @ Jun 22 2006, 21:22) Я ...   Jun 23 2006, 08:18
|||- - Evgeny_CD   Цитата(Olej @ Jun 23 2006, 12:18) P.S. в ...   Jun 23 2006, 08:25
||- - Harbour   Цитата(Evgeny_CD @ Jun 22 2006, 21:22) Ци...   Jun 23 2006, 09:06
|- - Olej   Цитата(bigirbis @ Jun 22 2006, 10:17) Воо...   Jun 22 2006, 09:32
- - Olej   Цитата(Evgeny_CD @ Jun 21 2006, 11:51) Ас...   Jun 22 2006, 09:07
- - Илья Игоревич   Решение есть. Появилось совсем недавно, в виде пат...   Aug 8 2006, 13:47
- - Harbour   Это так называемые RT патчи от Молнара - к реалтай...   Aug 8 2006, 17:26
- - Илья Игоревич   Ой-Ой-Ой. Отписал не в ту тему, прошу меня извинит...   Aug 8 2006, 22:18
- - Harbour   Если переключение/и т.д. будет зависеть от ядра - ...   Aug 9 2006, 05:53
- - haker_fox   Прошу прощение за поднятие старой темы. Но для мен...   Feb 26 2013, 02:28
|- - alx2   Правильно. Во-первых, sleep(100) отправит процесс ...   Feb 26 2013, 04:06
|- - haker_fox   QUOTE (alx2 @ Feb 26 2013, 13:06) Правиль...   Feb 26 2013, 09:36
|- - sasamy   ЦитатаRT патчи особо не интересуют, отношение поче...   Feb 26 2013, 11:21
|- - haker_fox   QUOTE (sasamy @ Feb 26 2013, 20:21) ну а ...   Feb 26 2013, 12:48
- - Enthusiast   Используя программное таймерное прерывание "Л...   Mar 2 2013, 17:35
- - haker_fox   QUOTE (Enthusiast @ Mar 3 2013, 02:35) Ка...   Mar 3 2013, 05:54


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 00:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01378 секунд с 7
ELECTRONIX ©2004-2016