Interessante fakta om computer timekeeping

Forfatter: Judy Howell
Oprettelsesdato: 2 Juli 2021
Opdateringsdato: 1 Juli 2024
Anonim
Unreliable? Look at the problems Mercedes’ horrible diesel engine (OM651) can withstand. Subtitles!
Video.: Unreliable? Look at the problems Mercedes’ horrible diesel engine (OM651) can withstand. Subtitles!

Indhold


Kilde: ChakisAtelier / iStockphoto

Tag væk:

Du tænker sandsynligvis ikke på uret i din computer for meget, men der er en masse interessante ting, der holder alt kørende.

Du tænker sandsynligvis ikke på uret i din computer, medmindre du måske har en vigtig frist, der kommer op, men at vide lidt om, hvordan din computer holder tid kan holde dit system og dit netværk kørende. Desuden har computerteknologi ændret den måde, vi sporer, logger og registrerer tid på, hvilket er ret interessant i sig selv. Her skal du tage et kig på, hvordan computere holder tid.

Unix Time

Tilgiv mig for at være lidt Unix-centreret, men en god del af serverne på internettet bruger Unix tid. Hvad er Unix-tid? Det er faktisk temmelig enkelt. Det er antallet af sekunder, der er gået siden midnat den 1. januar 1970, UTC. (Jeg forklarer UTC lidt senere i denne artikel.) Dette er kendt som "epoken."


Mange Unix- og Linux-systemer beregner tid ved at beregne epoke sekunder og konvertere dem til lokal tid. Fordelen med dette er, at det er temmelig let at beregne forskellen mellem to datoer og tidspunkter. Hvis jeg vil finde ud af, hvor meget tid der er gået siden midnat den 1. januar 1970, og lige nu, er det bare et spørgsmål om simpel subtraktion. Perl-programmeringssprog har evnen til at beregne epoke sekunder for ethvert tidspunkt, du ønsker at forestille dig. (Du kan lære mere om Perl i Perl 101.)

Der er også en række sjove mønstre, der dukker op som sekunderne siden 1970 krydser på. Wikipedia har en liste over dem. For eksempel nåede antallet af sekunder, den 13. februar, 1.234.567.890. Ja, det er alle numrene, der starter fra et. Der var fester i tekniske samfund rundt om i verden for at fejre. Og for dem af jer, der ikke er så nørdige, nej, jeg gør ikke dette.

En mere alvorlig konsekvens af at holde tiden på denne måde er problemet 2038. Uden at gå for meget i detaljer, vil antallet af sekunder, der er gået i 2038, være for stort til at beholde et 32-bit signeret heltal. Talrige systemer, inklusive indlejrede computere, bruger stadig 32-bit processorer. Vi har stadig masser af tid til at konvertere til 64-bit-systemer eller finde nogle andre løsninger, men hvis du husker Y2K-debaklen, hvor folk snuble rundt for at løse dette problem i sidste øjeblik, er der sommetider bare ikke en vilje til at gøre noget ved disse ting på forhånd.


Når vi skifter helt over til 64-bit-processorer, har vi indtil 292.277.026.596 sekunder, før vi skal skifte processorer igen. På det tidspunkt vil menneskeheden dog sandsynligvis have mere presserende bekymring end deres computerur - Solen har længe opslugt Jorden på det tidspunkt.

UTC

Selvom UTC eller koordineret universel tid ikke er strengt begrænset til computere, er det vigtigt i den måde deres ure kører på. Det er en erstatning for Greenwich gennemsnitstid, der tager højde for jordens aftagning. Den primære meridian, hvorpå denne beregning bygger, ligger stadig på Greenwich Observatory i England. Hvorfor der? Det er en holdover af det britiske imperium.

Tidszoner er repræsenteret som forskydninger af den primære meridian. For eksempel bor jeg i stillehavs-tidszonen, som er UTC-8. Og i sommertid er det faktisk UTC-7.

Ingen fejl, ingen stress - Din trinvis vejledning til oprettelse af livsændrende software uden at ødelægge dit liv

Du kan ikke forbedre dine programmeringsevner, når ingen er interesseret i softwarekvalitet.

UTC bruges i en række ulemper for at slippe af med uklarheder omkring tidszoner, herunder inden for luftfart, vejrprognose og computing. De fleste maskiner repræsenterer den lokale tidszone som en forskydning af UTC, men de fleste servere på internettet udtrykker tid i UTC. Du kan kontrollere dine overskrifter for bevis.

NTP

Mens servere bruger ure, der er indstillet til UTC, har computerur en berygtet vane at bremse. At have en flok out-of-sync-ure kan skabe ødelæggelse med ting som, hvilket afhænger af timingen. Derfor blev Network Time Protocol skabt. Det har eksisteret siden 80'erne, og holder computerur perfekt synkroniseret med NTP. Man behøver normalt ikke at tænke over det. Det meste af tiden er alt, hvad du skal gøre, at aktivere NTP på dit system, enten gennem konfigurationsfiler eller et kontrolpanel, og NTP vil tage sig af resten ved at kontakte servere og synkronisere computeruret med jævne mellemrum. (Lær mere om, hvordan netværkstidsprotokol holder internetets krydsning).

Fraktionel tid

En interessant måde at repræsentere tid på er ved at bruge brøkdage. Det er en form for decimaltid, der repræsenterer tiden som en procentdel af den dag, der er gået. For eksempel er midnat 0,00, middag er 0,50, 6:00 p.m. er 0,75 osv.

For at få det aktuelle klokkeslæt som en brøkdag skal du dele det aktuelle minut med 60 og tilføje det til timen. For eksempel, hvis det i øjeblikket er kl. 1:24, er 24 divideret med 60 0,40, hvilket giver 13,40. Ved at dividere det med 24 giver 0,56. Du kan også have den præcision, du ønsker. For eksempel kunne jeg have skrevet tiden som .5583333. Fordelen ved at holde tiden på denne måde er, at beregning af forskellene mellem to gange, ligesom de epoksekunder, der er nævnt ovenfor, kun er et spørgsmål om simpel subtraktion.

ISO 8601

Hvis du nogensinde har været i udlandet, vil du nu, at der er mange forskellige måder at repræsentere datoer på. I USA kommer måneden normalt først, så den 15. januar 2018 ville blive repræsenteret som 1/15/18. Andre steder kommer dagen først som i 15/1/18. Dette kan medføre nogle problemer, når man kommunikerer med mennesker i forskellige lande.

En international standard, ISO 8601, forsøger at løse nogle af disse problemer. Det er temmelig enkelt: ÅÅÅÅ-MM-DD. Når vi vender tilbage til vores eksempel, repræsenteret i henhold til ISO 8601, ser det sådan ud: 2018-01-15. Det er entydigt og "big-endian", fordi året kommer først. Denne standard gør det også relativt let for computere at sortere ting efter dato. Andre variationer tilføjer UTC eller viser antallet af dage, der er gået i året.

Alt i god tid

Timing er vigtig og endnu vigtigere for computere. Forhåbentlig giver denne artikel dig en fornemmelse af, hvordan computere holder styr på tiden bag kulisserne.