Рис. 1. Описание функции gettimeofday( )
Точность измерения времени этой функцией вычисляется в ми-
кросекундах, более того, в утилите ping время переводится в мил-
лисекунды. В работе [4] отмечается недопустимость проведения из-
мерений в компьютерных сетях в миллисекундном диапазоне уже для
технологий Ethernet и Fast Ethernet, не говоря о пропускных способно-
стях сетей Gigabit Ethernet и 10 Gigabit Ethernet. Там же предлагается
модернизация утилиты ping, базирующаяся на измерении интервалов
времени с точностью длительности одного интервала тактового ге-
нератора процессора, используемого для исследования компьютера.
Измерения в тактах генератора конкретного процессора предполагают
дальнейший пересчет в привычные единицы измерения, т.е. отсутству-
ет свойство универсальности. Кроме того, эта модернизация утилиты
возможна только для аппаратной платформы с архитектурой Intel на
компьютере-измерителе и, наконец, модернизация не доведена до фор-
мы, привычной для самой утилиты ping, предполагающей статисти-
ческую обработку полученных при измерениях данных. В стандарте
POSIX.1-2008 [5] функция gettimeofday( ) помечена как устаревшая и
вместо нее рекомендуется использовать функцию clock_gettime( ), опи-
санную стандартом POSIX.1-2001 [3]. На рис. 2 приведено описание
этой функции.
Рис. 2. Описание функции clock_gettime( )
Функцией clock_gettime( ) время измеряется в наносекундах, что
соизмеримо с длительностью тактов в генераторах современных про-
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2012. № 4 45