Russian Qt Forum
Май 17, 2024, 21:35 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Фиксированная задержка в 1 мкс(или мс) под linux  (Прочитано 10383 раз)
nik135
Гость
« : Апрель 08, 2008, 20:47 »

Господа, наверняка кто-нибудь реализовывал задержку в выполнении кода в 1мкс или 1мс под linux. Поделитесь рабочим примером?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Апрель 09, 2008, 11:36 »

ИМХО, фиксированно это возможно только в операционке реального времени. Linux к таковым не относится.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
vregess
Гость
« Ответ #2 : Апрель 10, 2008, 07:09 »

ИМХО, фиксированно это возможно только в операционке реального времени. Linux к таковым не относится.

не совсем так. при определенных условиях в linux можно реализовать фиксированные маленькие задержки.
Для софт реалтайма и хард реалтайма есть патчи на ядро. Видимо следует двигаться в этом направлении.
RTLinux, KURT, RTAI и тд.
Записан
nik135
Гость
« Ответ #3 : Апрель 10, 2008, 19:42 »

Нужна задержка в 25 мкс. То есть не меньше, чем 25 и не больше, чем 50. Ровно 25 не обязательно. Нужно патчить ядро? В Винде для этой задачи годились функции  QueryPerformanceFrequency,  QueryPerformanceCounter;
Записан
vregess
Гость
« Ответ #4 : Апрель 11, 2008, 05:27 »

хз какие задержки можно получить на непропатченом ядре, не занимался этим.
Одно в голову приходит: количество процессов нужно свести к минимуму, выставить у программы высокий приоритет утилитой nice.

Наверное ядро лучше будет пересобрать все-таки, чтоб выкинуть лишнее.
Если дистриб пакетный, то можно просто поставить из репозитариев realtime модуль и попробовать че-нить поделать.
Но потом все-равно лучше ядро собрать свое, чтоб наверняка.

Можно начать отсюда:
http://www.linuxfocus.org/Russian/May1998/article44.html
http://www.mycomp.com.ua/text/5430

ссылки найдены по запросу "realtime linux задержки"
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Апрель 11, 2008, 11:32 »

Под виндой такую задержку тоже не получить. То что у тебя получалось - лишь счастливый случай. Под Линем можно получить 25 мс, но субъективно. Т.е. если операционке не будет хватать ресурсов, то твоя софтина обломается по полной программе. Для чего тебе вообще это нужно? Может задачу переделать?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
nik135
Гость
« Ответ #6 : Апрель 11, 2008, 22:14 »

Программа работает с железякой, вот для нее и нужны эти самые задержки :-(
Спасибо за ссылки, бум пробовать  Улыбающийся
Записан
SiRuS
Гость
« Ответ #7 : Апрель 14, 2008, 14:00 »

А nanosleep и usleep не смотрели? Просто линукс далеко, но вроде бы "оно".
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.087 секунд. Запросов: 23.