Linux 需要什么硬件支持才能使用“hped”在用户空间中执行“gettimeofday”/“clock_gettime”?

Linux 需要什么硬件支持才能使用“hped”在用户空间中执行“gettimeofday”/“clock_gettime”?

在相当现代的系统上,Linux 可以通过(或)虚拟库gettimeofday完全clock_gettime在用户空间中为“系统”调用提供服务,因此它实际上并不执行系统调用。在使用稳定时间戳计数器 (tsc) 的系统上,但如果没有,Linux 使用(高精度事件计时器)硬件。它仍然可以在用户空间中通过将硬件寄存器映射到用户空间作为.linux-vdso.solinux-gate.sohpetlinux-vdso.so

我最近发现,在一台基于 Atom N450 的上网本(运行 32 位 Linux)上,这些系统调用不在用户空间中得到服务,但我无法弄清楚 Linux 需要哪些特定功能,而该上网本不支持。其他与时间无关的系统调用getpid完全在用户空间中提供服务。

那么,为了向hpet用户空间公开定时器,Linux 需要/检查哪些具体的硬件功能?我如何查看我的系统是否有这些?

相关内容