Форум программистов, компьютерный форум, киберфорум
Наши страницы
Администрирование Windows
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Enno
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
1

Таймеры

30.09.2014, 15:04. Просмотров 505. Ответов 5
Метки нет (Все метки)

У меня опять вопрос по кишкам винды и книжке Марка Руссиновича (6 издание "Внутреннее устройство MS Windows")
Поскольку часы выдают сигнал через известный кратный интервал, нижние
разряды текущего системного времени будут в одной из 64 известных позиций
(на APIC HAL). Windows использует это обстоятельство для сведения всех
таймеров драйверов и приложений в связанные списки на основе массива,
в котором каждый элемент соответствует возможному кратному показателю
системного времени. Эта таблица, называемая таблицей таймера, находится
в блоке управления областью процессора — PRCB, что позволяет каждому про-
цессору представлять свое собственное независимое истечение времени таймера
без необходимости запроса глобальной блокировки (рис. 3.8). Далее будет по-
казано, чем определяется таблица таймера логического процессора, в которую
вставляется таймер. Поскольку таблица таймера есть у каждого процессора,
работа по истечении времени таймера проделывается каждым процессором. При
инициализации каждого процессора таблица заполняется абсолютными тайме-
рами с бесконечным сроком истечения времени, дабы избежать некогерентного
состояния. Каждый кратный показатель системного времени, с которым может
быть связан таймер, называется исполнителем и хранится в заголовке диспет-
чера объекта таймера. Поэтому, чтобы определить, истекло ли время таймера,
требуется только лишь проверить, имеются ли в связанном списке какие-либо
таймеры, связанные с текущим исполнителем.
Системное время сколько бит размером? Почему младшие 6 разрядов не задействуются? Что значит "кратный показатель"? Кратный чему?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2014, 15:04
Ответы с готовыми решениями:

таймеры
проблема с таймарами!!! Вот реализация 2-ух таймаров(один из них закоментирован) //void...

Таймеры
Здравствуйте, скажите какие есть готовые таймеры? Пользовался поиском, нашел только winapi и...

Таймеры
Здравствуйте. Можно ли получить с ножки МК прямоугольные импульсы с определенной частотой(до 1кГц)...

Таймеры
Нужно зачудить такое: Каждые 500 мс. нужно менять картинку в image1. ...

Таймеры
подскажите пожалуйста, не могу разобраться как правильно выставить таймеры событий. Условие: 2...

5
Dr_Quake
Заблокирован
30.09.2014, 15:25 2
Если ты про железо - речь про то, что в 64битном представлении таймера разрешение настоящего такое, что нижние n разрядов будут всегда в определённых позициях т.к. разрешение низкое в сравнении с выбранным масштабом 64битного счётчика таймера. А вот далее уже контекстно-зависимо, похоже про трюки в духе идентификации таймер - процессор по добавке что ли к значению таймера своего суффикса...
И кишки винды только с этого момента идут.
0
Enno
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
30.09.2014, 17:30  [ТС] 3
Окей, значит системное время это 64 разрядная величина. Допустим что 6 разрядов таймер не вывозит в любом случае, потому и 64. Что такое "связанные списки на основе массива", что за абракадабра? Элементами списков могут быть только элементы массива или ещё что-то?

Добавлено через 1 час 24 минуты
Получается что в системе могут присутствовать одновременно только 64 различных таймера: каждая группа ассоциирована со своим числом от 0 до 63, которое каждому элементу связанного списка записано в первые 6 бит? Что-то ***** какая-то. На рисунке "исполнитель" 32 разрядный (явно не 64 варианта значений), а в этой самой таблице 255 элементов (wtf?). Дикая книжка, я не знаю как такую читать можно. Наверное только после горы других книг о винде. Потому что вот так через каждые 4 страницы терроризировать сторонние источники это совсем не хорошо и неудобно.
0
Dr_Quake
Заблокирован
30.09.2014, 21:28 4
Нету у меня рисунков, надо книгу сначала найти... Только смысл общий что по этим неиспользуемым битам номер таймера делается получается - хак.
0
Enno
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
01.10.2014, 10:10  [ТС] 5
номер таймера делается получается - хак.
Шиндовшс обеспечивает установку всех игр.
А если серьёзно, то раз вариаций неиспользуемых битов 64, значит и связанных списков тоже должно быть 64, иначе будут элементы этой самой таблицы таймеров основанные на одном и том же значении. Так вот в этой таблице 256 элементов.
0
Herr_Herzog
0 / 0 / 0
Регистрация: 09.02.2017
Сообщений: 1
09.02.2017, 20:59 6
Enno, Вы разобрались в итоге со своим вопросом? У меня он тоже возник при чтении, не могу сам понять, в чем дело. Буду очень признателен, если Вы просветите меня.
0
Миниатюры
Таймеры  
09.02.2017, 20:59
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2017, 20:59

Таймеры
Здравствуйте, хочу сделать поле в которое вводят текст и не надо нажимать enter. Ставлю обработчики...

таймеры stm32
Всем привет! Только недавно начал практиковать с стм32, и есть вопрос по таймерам. Хочу сделать...

Таймеры и QTime
Здравствуйте ! Есть проблема, написал небольшую программу: два таймера один считает время отдыха,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru