Friday, May 18th

Last update12:13:00 PM GMT

Вы находитесь на: FreeBSD Службы ядра Интервальное время

Интервальное время

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

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

Виртуальный таймер уменьшает свое значение в виртуальное время процесса. Он работает лишь тогда, когда процесс выполняется в режиме пользователя. При истечении таймера процессу доставляется сигнал SIGVTALRM. Виртуальный таймер так же реализован в profclock(), как и профилирующий таймер, за тем исключением, что время таймера уменьшается для текущего процесса, лишь если он выполняется в режиме пользователя, а не в режиме ядра.


Похожие:
Еще по теме:
Советуем прочитать:

Сейчас 64 гостей онлайн

Реклама на сайте:

Описания мини вертолеты Радио.