URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6625
[ Назад ]

Исходное сообщение
"Интервальный таймер в Linux"

Отправлено devcoder , 25-Июл-07 15:33 
Как называется и какими функциями или макросами доступен
_всегда постоянно увеличивающийся таймер_,
то есть тот, который не зависит от смещения или установок даты/времени.

P.S. Вроде уже пробегало в форуме, но не смог найти.


Содержание

Сообщения в этом обсуждении
"Интервальный таймер в Linux"
Отправлено madskull , 25-Июл-07 16:55 
>Как называется и какими функциями или макросами доступен
>_всегда постоянно увеличивающийся таймер_,
>то есть тот, который не зависит от смещения или установок даты/времени.
>
>P.S. Вроде уже пробегало в форуме, но не смог найти.

если я правильно понял, то можно оперировать unixtime.
в баше это будет примерно так:
t1=`date +%s`
.... проходит время
t2=`date +%s`
echo $((t2-$t1))


"Интервальный таймер в Linux"
Отправлено devcoder , 25-Июл-07 17:17 
доступ к таймеру нужен не из shell, а из С
и таймер это должен всегда линейно инкриминироваться по прерываниям

Такой есть, только я забыл как его зовут :)


"Интервальный таймер в Linux"
Отправлено Iceman , 25-Июл-07 18:21 
>доступ к таймеру нужен не из shell, а из С
>и таймер это должен всегда линейно инкриминироваться по прерываниям
>
>Такой есть, только я забыл как его зовут :)

Может быть, имеется в виду интервальный таймер ITIMER_REAL, который работает в реальном режиме? В структуре itimerval можно задать начальное время, когда таймер должен сработать, а также как часто это должно потом повторяться.
Если да, то функции - getitimer и setitimer.


"Интервальный таймер в Linux"
Отправлено Гость , 25-Июл-07 18:29 
clock_gettime(CLOCK_MONOTONIC, ...)

"Интервальный таймер в Linux"
Отправлено devcoder , 25-Июл-07 18:45 
>clock_gettime(CLOCK_MONOTONIC, ...)

Большое спасибо - оно.

P.S. Только что понял, что неправильно задал вопрос - причём тут интервальный таймер? :)


"Интервальный таймер в Linux"
Отправлено BigHo , 26-Июл-07 11:37 
>>clock_gettime(CLOCK_MONOTONIC, ...)
>
>Большое спасибо - оно.
>
>P.S. Только что понял, что неправильно задал вопрос - причём тут интервальный
>таймер? :)

Пишу статью про систему таймеров (система, ожидающая срабатывания большого количества таймеров), работающих в пользовательском процессе. Кому нидь этот вопрос интересен?


"Интервальный таймер в Linux"
Отправлено Niam , 26-Июл-07 11:57 
>Пишу статью про систему таймеров (система, ожидающая срабатывания большого количества >таймеров), работающих
>в пользовательском процессе. Кому нидь этот вопрос интересен?

В общем да =).

>система, ожидающая срабатывания большого количества таймеров

Через callback функции?


"Интервальный таймер в Linux"
Отправлено BigHo , 26-Июл-07 12:28 
>>система, ожидающая срабатывания большого количества таймеров
>
>Через callback функции?

нет, не callback. Но можно приспособить под использование callback.


"Интервальный таймер в Linux"
Отправлено devcoder , 26-Июл-07 11:59 
Трудно сходу предположить для чего это может быть нужно при наличии select:pool:epool:rtsig:kqueuе,
но очень интересно, особенно в плане "...большого количества таймеров..."

"Интервальный таймер в Linux"
Отправлено BigHo , 26-Июл-07 12:57 
>Трудно сходу предположить для чего это может быть нужно при наличии select:pool:epool:rtsig:kqueuе,
>
>но очень интересно, особенно в плане "...большого количества таймеров..."

К select:pool:epool:rtsig:kqueuе хочется добавить еще pselect и poll(4) :) А так, да. Про них там речь и пойдет.

Статья выглядит как ТЗ, для разработки универсальной библиотеки. К тому же почти закончена. Осталось доделать несколько ньюансов. Особенность - продуманность решения с минимальным потреблением ресурсов, высокая гибкость для встраивания в любые среды (в том числе и в Java), дополнена некоторой возможностью масштабирования. На данный момент есть одно досадное ограничение, которое пытаюсь преодолеть.

Статья планируется к выходу в сентябре. Возможно будет создан OpenSource проект, как реализация по ней.

Пока вся информация.


"Интервальный таймер в Linux"
Отправлено soalvi , 29-Апр-08 09:03 
>Статья планируется к выходу в сентябре. Возможно будет создан OpenSource проект, как
>реализация по ней.

Где можно почитать данную статью?



"Интервальный таймер в Linux"
Отправлено devcoder , 25-Июл-07 18:55 
>clock_gettime(CLOCK_MONOTONIC, ...)

Возник вопрос: clock_gettime(CLOCK_MONOTONIC, ...) использует syscall или это только внутренняя кухня glibc ?


"Интервальный таймер в Linux"
Отправлено vic , 25-Июл-07 19:37 
>>clock_gettime(CLOCK_MONOTONIC, ...)
>
>Возник вопрос: clock_gettime(CLOCK_MONOTONIC, ...) использует syscall или это только внутренняя кухня glibc
>?

это и есть syscall :)