Таймеры

Таймеры

Таймеры (timers), или, как их еще иногда называют, динамические таймеры, или таймеры ядра, необходимы для управления ходом времени в ядре. Коду ядра часто необходимо откладывать выполнение некоторых функций на более позднее время. Здесь намеренно выбрано не очень четкое понятие "позже". Назначение механизма нижних половин — это не задерживать выполнение, а не выполнять работу прямо сейчас. В связи с этим необходим инструмент, который позволяет задержать выполнение работы на некоторый интервал времени. Если этот интервал времени не очень маленький, но и не очень большой, то решение проблемы — таймеры ядра.

Таймеры очень легко использовать. Необходимо выполнить некоторые начальные действия, указать момент времени окончания ожидания, указать функцию, которая будет выполнена, когда закончится интервал времени ожидания, и активизировать таймер. Указанная функция будет выполнена, когда закончится интервал времени таймера. Таймеры не являются циклическими. Когда заканчивается интервал времени ожидания, таймер ликвидируется. Это одна из причин, почему таймеры называют динамическими[59]. Таймеры постоянно создаются и ликвидируются, на количество таймеров не существует ограничений. Использование таймеров очень популярно во всех частях ядра.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Таймеры ожидания

Из книги Системное программирование в среде Windows автора Харт Джонсон М

Таймеры ожидания Windows NT поддерживает таймеры ожидания (waitable timers), являющихся одним из типов объектов ядра, осуществляющих ожидание.Вы всегда можете создать собственный сигнал синхронизации, создав синхронизирующий поток, который устанавливает событие в результате


18.2.2. Интервальные таймеры

Из книги Разработка приложений в среде Linux. Второе издание автора Джонсон Майкл К.

18.2.2. Интервальные таймеры Интервальные таймеры, будучи активизированными, непрерывно передают сигналы в процесс на систематической основе. Точное значение термина систематический зависит от используемого интервального таймера. С каждым процессом ассоциированы три


23.2.5. Таймеры в Glib

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

23.2.5. Таймеры в Glib Библиотека Glib позволяет использовать таймеры в наших программах.Для этого нужно:? подключить заголовочный файл gtimer.h;? создать таймер функцией GTimer *g_timer_new();? запустить таймер функцией g_timer_start(GTimer *timer);? узнать время, отсчитанное таймером — g_timer_elapsed();? при


Часы, таймеры и периодические уведомления

Из книги Введение в QNX/Neutrino 2. Руководство по программированию приложений реального времени в QNX Realtime Platform автора Кёртен Роб

Часы, таймеры и периодические уведомления В этой главе вы изучите системные часы, таймеры, и как заставить таймеры посылать вам сообщения. В ней также много практических советов и изобилие примеров


Часы и таймеры

Из книги Русский справочник по Win32 API автора Сорока Тарас

Часы и таймеры Пришло время рассмотреть все, что относится ко времени в QNX/Neutrino. Мы увидим, как и почему мы должны использовать таймеры, а также рассмотрим теоретические положения, которые этому сопутствуют. Далее мы обсудим способы опроса и настройки часов реального


Таймеры, посылающие сигналы

Из книги Разработка ядра Linux автора Лав Роберт

Таймеры, посылающие сигналы На настоящий момент мы уже рассмотрели практически все, что относится к таймерам, за исключением одного небольшого момента. Мы обеспечивали отправку импульса, но у нас также есть возможность посылать POSIX-сигналы. Давайте посмотрим, как это


Таймеры, создающие потоки

Из книги автора

Таймеры, создающие потоки Если вы хотите по каждому срабатыванию таймера создавать новый поток, то вы можете это сделать с помощью struct sigevent и всех остальных таймерных штук, которые мы только что обсудили:struct sigevent event;SIGEV_THREAD_INIT(&event, maintenance_func, NULL);Однако, пользоваться этим


Мультимедиа таймеры

Из книги автора

Мультимедиа таймеры TimeProc Функция TimeProc является функцией обратного вызова, которая вызывается один раз по завершению одиночного события таймера или периодически по завершению периодических событий. void CALLBACK TimeProc ( UINT uID, UINT uMsg, DWORD dwUser, DWORD dw1, DWORD dw2); TimeProc является


Глава 10 Таймеры и управление временем

Из книги автора

Глава 10 Таймеры и управление временем Отслеживание хода времени очень важно для ядра. Большое количество функций, которые выполняет ядро, управляются временем (time driven), в отличие от тех функций, которые выполняются по событиям[53] (event driven). Некоторые из этих функций


Аппаратные часы и таймеры

Из книги автора

Аппаратные часы и таймеры Различные аппаратные платформы предоставляют два аппаратных устройства, которые помогают вести учет времени, — это системный таймер, о котором уже было рассказано, и часы реального времени. Реализация и поведение этих устройств могут быть


Таймеры

Из книги автора

Таймеры Таймеры (timers), или, как их еще иногда называют, динамические таймеры, или таймеры ядра, необходимы для управления ходом времени в ядре. Коду ядра часто необходимо откладывать выполнение некоторых функций на более позднее время. Здесь намеренно выбрано не очень