O relógio RTC economiza seu tempo na memória CMOS com suporte de bateria (atualmente, é apenas um chip mais integrado que emula designs mais antigos). O mapa de memória CMOS é bastante padrão em computadores compatíveis com PC. De acordo com estes documentos do mapa de memória CMOS :
00h Seconds (BCD 00-59, Hex 00-3B) Note: Bit 7 is read only
01h Second Alarm (BCD 00-59, Hex 00-3B; "don't care" if C0-FF)
02h Minutes (BCD 00-59, Hex 00-3B)
03h Minute Alarm (BCD 00-59, Hex 00-3B; "don't care" if C0-FF))
04h Hours (BCD 00-23, Hex 00-17 if 24 hr mode)
(BCD 01-12, Hex 01-0C if 12 hr am)
(BCD 81-92. Hex 81-8C if 12 hr pm)
05h Hour Alarm (same as hours; "don't care" if C0-FF))
06h Day of Week (01-07 Sunday=1)
07h Date of Month (BCD 01-31, Hex 01-1F)
08h Month (BCD 01-12, Hex 01-0C)
09h Year (BCD 00-99, Hex 00-63)
Portanto, é uma matemática de calendário simples para converter esses campos para qualquer formato que você desejar: timestamps do Unix, formato de data / hora do tipo DOS ou o que for.
Observe que um campo que falta no mapa acima é o fuso horário e a configuração DST. Então, se você for dual-boot no Windows e no Linux, você pode ter problemas. O Windows é padronizado para o seu fuso horário local, enquanto o Linux geralmente assume que a data / hora do RTC é UTC (o que é mais sensato na minha opinião).