En kort historie av datatid
Postet av Richard N Williams on Desember 2nd, 2009
Å telle tiden er noe som kanskje av oss lærer når vi er svært små barn. Å vite hvilken tid det er, er en viktig del av vårt samfunn, og vi kunne ikke fungere uten det. Tenk deg om vi ikke fortelle tiden - når skal du gå på jobb? Når vil du gå, og hvordan vil det være mulig å møte andre mennesker eller arrangere noen form for funksjon.
Mens det er viktig å fortelle tiden, er det enda viktigere for datamaskiner som bruker tid som eneste referansepunkt og blant datanettverk tidssynkronisering er viktig. Uten å registrere tidsforsinkelsen kunne datamaskiner ikke fungere som det ikke ville være noen referanse til ordreprogrammer og funksjoner.
Men måten datamaskiner forteller tid og dato er langt annerledes enn måten vi registrerer den på. I stedet for å registrere en separat tid, dato og år, bruker datasystemer et enkelt nummer. Dette nummeret er basert på antall sekunder fra et angitt tidspunkt, kjent som den primære epoken.
Når denne epoken er, avhenger av operativsystemet eller det aktuelle programmeringsspråket. For eksempel har Unix-systemer en prime epoke som starter på 1 januar 1970 og antall sekunder fra epoken teller i et 32-bit heltall. Andre operativsystemer, for eksempel Windows, bruker et lignende system, men epoken er annerledes (Windows starter på 1 januar 1601).
Det er imidlertid ulemper for dette heltallsystemet. For eksempel fordi Unix-systemet er et 32-bit heltall som startet i 01 Jan 1970, ved 19 januar 2038 vil hele tallet bli uttømt alle mulige tall og må returnere til null. Dette kan føre til problemer med systemer som er avhengige av Unix, i et problem som minner om tusenårsbilen.
Det er også andre problemer med datatid også. På grunn av de globale kravene til Internett er all datatid nå basert på UTC (Koordinert Universal Time). Men UTC endres ved en tilfeldighet ved å legge til Leap Seconds for å sikre at tiden passer til jordens rotasjon (Jordens rotasjon er aldri eksakt på grunn av tyngdekraften), slik at spranget må håndteres i et datatidsystem.
Datatid er ofte forbundet med NTP (Network Time Protocol) som brukes til å synkronisere datamaskiner som ofte bruker en nettverkstidsserver.