Наихудшая точность синхронизации операционной системы?

StackOverflow https://stackoverflow.com/questions/1931835

Вопрос

Я не уверен, относится ли этот вопрос к StackOverflow, но вот он.

Мне нужно сгенерировать временную метку с помощью C # для некоторых данных, которые должны быть переданы от одной стороны к другой стороне, и мне нужно знать, какова наихудшая точность системных часов во всех операционных системах (Windows, Linux и Unix)?Что мне нужно, так это определить точность, чтобы все операционные системы могли проверять эту временную метку.

В качестве примера, разрешение часов для операционных систем Windows Vista составляет приблизительно 10-15 миллисекунд.

Это было полезно?

Решение

Интересно.Основные операционные системы имеют - в худшем случае — разрешение в сто секунд (0,01 секунды), хотя оно часто встроено с большей точностью.

Linux предлагает разрешение до микросекунд в своих временных метках (см. man utime) в зависимости от тактового оборудования компьютера.Windows NT/ Win2K/XP / и т.д.обеспечивает точность в миллисекундах для временных меток файлов (используя только NTFS), хотя учитывает все системные временные метки в 0.000 000 1 секундные единицы (десять миллионов в секунду).

Если точно и между системами требуется точное временное разрешение, GPS-приемники легко достигают точности в 100 наносекунд в качестве побочный эффект того, как они работают, и многие недорогие модели работают так же хорошо, как и 10 нс. Специальные модели GPS сделайте полученное время доступным для внешнего использования.

Другие советы

Вы хотите создать что-то вроде временная метка unix за данными?Или найти временную метку, которая не будет конфликтовать с существующим файлом?Если это произойдет позже, вы всегда можете использовать галочки.

Проблема с любой "длинной" временной меткой заключается в том, что она будет относиться к машине, генерирующей ее, но не будет гарантировать отсутствие коллизии в другой системе, поскольку часы могут быть установлены по-другому (не с плавающей точкой, но на самом деле быть установлены по-другому).

Если данные защищены / конфиденциальны и вы рассматриваете механизм синхронизации ключей, основанный на времени (ALA Керберос) Я бы не советовал создавать свой собственный, поскольку необходимо преодолеть множество препятствий, особенно в системах синхронизации и поддержании их синхронности.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top