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).