Какая аппаратная поддержка необходима, чтобы linux выполнял `gettimeofday` /` clock_gettime` в пользовательском пространстве с помощью `hped`?

В разумно современных системах Linux может обслуживать «системные» вызовы, такие как gettimeofday и clock_gettime полностью в пользовательском пространстве через виртуальную библиотеку linux-vdso.so (или linux-gate.so ), поэтому он фактически не выполняет системный вызов. В системах с стабильным счетчиком времени (tsc), который используется, но если Linux не использует аппаратное обеспечение таймера hpet (высокая точность). Он все еще может сделать это в пользовательском пространстве, сопоставляя аппаратные регистры в пользовательское пространство как часть linux-vdso.so .

Недавно я обнаружил, что на одном нетбуке на базе Atom N450 (работающем на 32 бита linux) эти системные вызовы не обслуживались в пользовательском пространстве, но мне не удалось выяснить, какая именно функция Linux нужна, чтобы этот нетбук не поддерживал. Другие не связанные с временем системные вызовы, такие как getpid полностью обслуживались в пользовательском пространстве.

Итак, какие конкретные аппаратные функции требуется Linux для проверки, чтобы разоблачить таймеры hpet для пользователей? И как я могу узнать, есть ли у моей системы эти или нет?

Interesting Posts

Как найти аппаратную модель в Linux?

Загрузочный USB-накопитель, не являющийся съемным устройством

Почему linux-ядро использует код linux-libre для избавления от бинарных капель?

Можно ли использовать несколько слоев LVM с помощью mdraid

Iceweasel не правильно загружает загрузки

Нет видео с проигрывателем HTML 5 на YouTube под Iceweasel

Когда и почему я должен использовать обновление apt-get?

Определите, имеет ли процессор Intel I или ОЗУ аппаратный сбой?

CentOS 6.4 как гостевая система VirtualBox под хостом Windows 8, полноэкранный режим вызывает невосприимчивый курсор

Почему неправильная раскладка клавиатуры на желтой собаке?

Каковы стандартные коды ошибок в Linux?

Sed + как установить параметры в команде sed, чтобы отображать строки из текстового файла

Что регулирует пользовательские привилегии для команды mount?

Как узнать, какой пакет libc6 мне нужен?

Что делает `exec“ $ @ ”`?

Linux и Unix - лучшая ОС в мире.