Зависит от того, включен он, или выключен.
Когда выключен -- время "тикает" в микросхеме Real Time Clock. Это может быть как отдельная микросхема, так и часть чипсета или SoC.
Когда включен -- зависит от операционной системы и её конфигурации. linux настраивает аппаратные таймеры генерирующие прерывания и в обработчике прерывания прибавляет к текущему времени столько, на сколько был заведён таймер в последний раз. Кроме того, существуют сетевые службы, отдающие текущее время по протоколу Nrtwork Time Protocol, операционные системы могут периодически синхронизироваться с этими службами.
Во время включения ОС читает значение текущего времени из RTC, а по специальной команде может записать текущее время обратно в RTC.