Часы и таймеры. Типы таймеров относительный таймер абсолютный таймер периодический таймер однократный таймер.

Презентация:



Advertisements
Похожие презентации
Измерение времени в ЭВМ С.Е. Киреев, В.П. Маркова, М.Б. Остапкевич, В.А. Перепелкин Новосибирск 2013 НГТУ Кафедра параллельного программирования.
Advertisements

ВСТРОЕННЫЕ ИНФОРМАЦИОННО- УПРАВЛЯЮЩИЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ Лекция 5 Операционные системы реального времени Кафедра АСВК, Лаборатория Вычислительных.
Асинхронный ввод/вывод Системные вызовы и библиотеки Unix SVR4 Иртегов Д.В. ФФ/ФИТ НГУ Электронный лекционный курс подготовлен в рамках реализации Программы.
The Past continuous describes an action or event in a time before now, which began in the past and was still going on at the time of speaking.
Система реального времени QNX/Neutrino (QNX6). QNX Микpоядеpная Cетевая Мyльтизадачная Многопользовательcкая.
Функции замера времени.
Семафоры-счетчики POSIX Программирование с использованием POSIX thread library.
Другие примитивы синхронизации Программирование с использованием POSIX thread library.
Michael Marchenko. In mathematics, a sequence is an ordered list of objects (or events). Like a set, it contains members (also called elements, or terms),
Краткий обзор ОСРВ. RTLinux Встраивается в обычный Linux RTLinux kernel находится между ядром Linux и «железом» RTLinux обрабатывет все прерывания независимо.
Сигналы Системные вызовы и библиотеки Unix SVR4. ЦЕЛИ РАЗДЕЛА Описать сигналы и причины их возникновения Научить обрабатывать сигналы, когда они возникают.
1 ЛЕКЦИЯ 1 ПРЕРЫВАНИЯ Прерывание – инициируемый определенным образом процесс, временно переключающий микропроцессор на выполнение другой программы с последующим.
POSIX Threads. Общая модель Программа Общая память Поток 1 CPU Поток 2 Поток N Потоки – наборы инструкций, исполняющиеся на CPU. Все потоки одной программы.
These are clocks They all have a face, a long minute hand and a short hour hand. and alarm clocks.
Атрибуты потоков Атрибуты являются способом определить поведение потока, отличное от поведения по умолчанию. При создании потока с помощью pthread_create()
Sec. 3.4: Find and Use Slopes of Lines. Example Find the slope of each line in the graph. If undefined, write undefined.
How to write a story First you have to….. Decide who the characters are. Who is going to be in the story? What sort of characters are they?
Genetic algorithm. In the computer science field of artificial intelligence, a genetic algorithm (GA) is a search heuristic that mimics the process of.
© Жигунова М.В. Школа train air bus foot car water horseback bike byon Travelling.
СОКЕТЫ -2 РАБОТА СЕРВЕРА Стандартная схема работы плоха тем, что одновременно обслуживается только один клиент ! Это приводит к задержкам в работе сети.
Транксрипт:

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

Типы таймеров относительный таймер абсолютный таймер периодический таймер однократный таймер

Схемы уведомления Послать сигнал Создать поток Послать импульс

Таймеры, посылающие сигналы struct sigevent event; timer_t timer_id; SIGEV_SIGNAL_INIT(&event, SIGUSR1); timer_create(CLOCK_REALTIME, &event, &timer_id);

Таймеры, создающие потоки struct sigevent event; timer_t timer_id; SIGEV_THREAD_INIT(&event, m_func, NULL); timer_create(CLOCK_REALTIME, &event, &timer_id);

Таймеры, посылающие импульсы struct sigevent event; timer_t timer_id; int chid = ChannelCreate(0); int coid = ConnectAttach(0,0, chid, 0,0); SIGEV_PULSE_INIT(&event, coid, SIGEV_PULSE_PRIO_INHERIT, CODE_TIMER, 0); timer_create(CLOCK_REALTIME, &event, &timer_id);

Установка времени int timer_settime( timer_t timer_id, int flags, // 0 / TIMER_ABSTIME struct itimerspec * value, struct itimerspec * oldvalue);

struct timespec { long tv_sec, tv_nsec; // < 1000,000,000 }; struct itimerspec { struct timespec it_value, it_interval; };

POSIX Timers #include int getitimer(int which, struct itimerval *value); int setitimer(int which, const struct itimerval *restrict value, struct itimerval *restrict ovalue); unsigned alarm(unsigned seconds);

POSIX Timers ITIMER_REAL Decrements in real time. A SIGALRM signal is delivered when this timer expires. ITIMER_VIRTUAL Decrements in process virtual time. It runs only when the pro- cess is executing. A SIGVTALRM signal is delivered when it expires. ITIMER_PROF Decrements both in process virtual time and when the system is running on behalf of the process. It is designed to be used by interpreters in statistically profiling the execution of inter- preted programs. Each time the ITIMER_PROF timer expires, the SIGPROF signal is delivered.

clock functions #include int clock_getres( clockid_t clock_id, // CLOCK_REALTIME struct timespec *res); int clock_gettime(clockid_t clock_id, struct timespec *tp); int clock_settime(clockid_t clock_id, const struct timespec *tp);

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