Расчёт времени в современных компьютерных системах работает следующим образом: guides.hexlet.io
- Когда компьютер выключен, время отсчитывает специальное устройство — часы реального времени (RTC), которое питается от батареи. guides.hexlet.io
- При запуске компьютера операционная система забирает время из RTC и начинает отслеживать время самостоятельно, используя таймер процессора. guides.hexlet.io
- Время от времени операционная система получает точное время через интернет — для этого используется протокол сетевого времени (NTP). guides.hexlet.io Этот протокол даже учитывает время передачи данных между источником и компьютером и компенсирует его. guides.hexlet.io
- Чтобы узнать, как долго включён компьютер, системе достаточно умножить размер периода между тиками (срабатывания таймера) на количество этих тиков. guides.hexlet.io Чтобы узнать текущее время, нужно просто добавить прошедшее время к времени на момент старта системы. guides.hexlet.io
Также в качестве источника времени может использоваться тактовый генератор процессора. habr.com Текущий номер такта сохраняется в регистре TSC (timestamp counter), и с его помощью можно как узнавать время от начала работы, так и замерять интервалы времени с помощью двух чтений. habr.com