-1

Мне просто любопытен вопрос: допустим, у нас есть папка, содержащая некоторые очень важные файлы (это может быть каталог System32). Мы знаем, что файловая система хранит некоторую информацию о датах их создания и модификации. Допустим, они были созданы 1 января 2014 года.

Что происходит с этими файлами, но в целом с глобальным состоянием файловой системы, когда пользователь изменяет дату системы, например, на год назад: 1 января 2013 года?

Влияет ли это изменение определенным образом на эти файлы? Как ОС реагирует на доступ к файлу со "странной" информацией о данных, например:

  • Создано 1 января 2014
  • Последнее изменение: 1 января 2013

И, опять же, что, если пользователь изменил дату системы на один год вперед?

2 ответа2

1

Точные данные зависят от вашей операционной системы (которую вы не указали, хотя я предполагаю, что вы имеете в виду какую-то версию Windows, потому что упоминаете system32), но в целом временные метки сохраняются как количество секунд, прошедших с «эпохи» (1 января). 1970 в полночь UTC для POSIX-совместимых систем и 1 января 1601 года для некоторых версий Windows). Когда система читает метку времени из файла, она преобразует это количество секунд в текущее местное время для отображения.

Когда вы меняете часы на вашем компьютере, они не изменяют эти метки времени, они просто меняют способ их преобразования в удобочитаемые время и дату.

Большинству систем не важно, будут ли метки времени в будущем, поэтому установка часов на год или два, как правило, не будет иметь никакого эффекта. Это иногда необходимо, потому что если резервная батарея для внутренних часов компьютера разрядилась, и нет подключения к Интернету, то компьютер не будет знать, что в режиме реального времени, и операционная система должна быть разработана для успешной загрузки в этой ситуации.

Есть некоторые заметные исключения: антивирусные инструменты могут обнаружить это как симптом вирусной инфекции. Программные средства защиты от пиратства также могут обнаружить это как попытку продления бесплатного пробного периода. Программа make, используемая при разработке программного обеспечения, использует временные метки для определения того, что собирать. И так далее.

См. Документацию библиотеки разработчиков Microsoft для получения дополнительной информации о проблемах, специфичных для Windows.

-1

Подробная информация о дате и времени компьютера будет сохранена в «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w32time\TimeProviders\NtpClient». Следовательно, откройте реестр с помощью команды "run" и введите «regedit.exe». В реестре будет присутствовать таблица размещения файлов, в которой будут храниться все детали и внесенные изменения. Это даст информацию для GLU(Graphics Language Utility) в библиотеке C, которая будет преобразована в машиночитаемый язык. Таким образом, машина принимает изменения и начинает обработку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .