Zanimivosti o računalniškem času

Avtor: Judy Howell
Datum Ustvarjanja: 2 Julij. 2021
Datum Posodobitve: 1 Julij. 2024
Anonim
CS50 2014 - Week 1, continued
Video.: CS50 2014 - Week 1, continued

Vsebina


Vir: ChakisAtelier / iStockphoto

Odvzem:

Na uro v računalniku verjetno ne razmišljate preveč, vendar obstaja veliko zanimivih stvari, ki vse nemoteno tečejo.

O uri v računalniku verjetno ne razmišljate preveč, razen če morda prihaja pomemben rok, vendar veste, kako malo časa, kako lahko računalnik ohranja čas, nemoteno nemoteno obratujeta vaš sistem in vaše omrežje. Poleg tega je računalniška tehnologija spremenila način, kako sledimo, beležimo in beležimo čas, kar je že samo po sebi zanimivo. Tu si dobro oglejte, kako računalniki hranijo čas.

Unixov čas

Oprostite mi, ker sem malo usmerjen v Unix, vendar dober kos strežnikov na internetu uporablja Unixov čas. Kakšen je čas za Unix? Pravzaprav je precej preprosto. To je število sekund, ki so minile od polnoči 1. januarja 1970, UTC. (V tem članku bom pojasnil UTC nekoliko kasneje.) To je znano kot "epoha."

Številni sistemi Unix in Linux izračunajo čas z računanjem epohičnih sekund in jih pretvorijo v lokalni čas. Prednost tega je, da je precej enostavno izračunati razliko med dvema datumoma in časom. Če želim ugotoviti, koliko časa je minilo od polnoči 1. januarja 1970 in prav zdaj, je samo stvar odštevanja. Programski jezik Perl ima možnost izračunati epohe sekunde za kateri koli čas, ki ga želite zamisliti. (Več o Perlu lahko izveste v Perlu 101.)


Obstajajo tudi številni zabavni vzorci, ki se pojavijo kot sekunde od leta 1970 dalje. Wikipedia ima njihov seznam. Na primer, 13. februarja 2009 je preteklo število sekund doseglo 1,234,567,890. Da, to so vse številke, ki se začnejo od ene. Po vsem svetu so se odvijale zabave v tehničnih skupnostih. In za tiste izmed vas, ki niste ravno tako čudaški, ne, tega ne izmišljujem.

Bolj resna posledica zadrževanja časa je težava leta 2038. Ne da bi se spuščali v preveč podrobnosti, bo leta 2038 število pretečenih sekund preveliko, da bi se ohranilo v 32-bitnem podpisanem številu. Številni sistemi, vključno z vgrajenimi računalniki, še vedno uporabljajo 32-bitne procesorje. Še vedno imamo dovolj časa za pretvorbo v 64-bitne sisteme ali iskanje drugih rešitev, toda če se spomnite Y2K debakla, kjer so se ljudje skotili okoli, da bi v zadnjem trenutku odpravili to težavo, včasih le ni volje, da bi kaj naredili o te stvari vnaprej.

Ko popolnoma preklopimo na 64-bitne procesorje, bomo imeli na voljo do 292,277,026,596 sekunde, preden bomo morali spet preklopiti procesorje. V tistem trenutku pa bo verjetno človeštvo imelo bolj pereče skrbi kot računalniške ure - Sonce bo do takrat že pogoltnilo Zemljo.


UTC

Čeprav UTC ali univerzalni koordinirani čas ni omejen na računalnike, je pomemben način delovanja njihovih ur. To je nadomestilo za Greenwich srednji čas, ki upošteva upočasnitev Zemlje. Glavni meridian, na katerem temelji ta izračun, se še vedno nahaja v observatoriju Greenwich v Angliji. Zakaj tam? To je zavzetje Britanskega imperija.

Časovni pasi so predstavljeni kot odmiki glavnega poldnevnika. Na primer, živim v pacifiškem časovnem pasu, to je UTC-8. Med poletnim časom je pravzaprav UTC-7.

Brez napak, brez stresa - vaš korak za korakom vodnik za ustvarjanje programske opreme, ki spreminja življenje, ne da bi vam uničila življenje

Ne morete izboljšati svojih programskih veščin, kadar nikogar ne skrbi za kakovost programske opreme.

UTC se uporablja v različnih pomislekih, da se znebi dvoumnosti glede časovnih pasov, tudi v letalstvu, napovedovanju vremena in računanju. Večina strojev predstavlja lokalni časovni pas kot odmik od UTC-ja, večina strežnikov na internetu pa izrazi čas v UTC-ju. Lahko preverite svoje naslove za dokaz.

NTP

Medtem ko strežniki uporabljajo ure, nastavljene na UTC, imajo računalniške ure nenavadno navado upočasnjevanja. Če imate ure taks, ki niso v sinhronizaciji, lahko postanejo takšne stvari, kot je to odvisno od časa. Zato je nastal protokol Network Time. Že od 80. let naprej so računalniške ure popolnoma sinhronizirane z NTP. Običajno ni treba o tem razmišljati. Večino časa morate samo omogočiti NTP v vašem sistemu bodisi s pomočjo konfiguracijskih datotek bodisi na nadzorni plošči, NTP pa bo poskrbel za ostalo tako, da se obrne na strežnike in občasno sinhronizira računalniško uro. (Več o tem, kako omrežni časovni protokol ohranja odkupovanje interneta.)

Delni čas

Zanimiv način predstavljanja časa je uporaba delnih dni. To je oblika decimalnega časa, ki predstavlja čas kot odstotek dneva, ki je minil. Na primer polnoč je 0,00, opoldne je 0,50, 18:00. je 0,75 in tako naprej.

Če želite trenutni čas razdeliti kot delni dan, trenutno minuto razdelite na 60 in dodajte tej uri. Na primer, če je trenutno 1:24 popoldne, potem je 24 deljeno s 60 0,40, 13,40. Če to razdelimo za 24, dobimo .56. Lahko imate tudi natančnost, ki jo želite. Na primer, čas bi lahko zapisal kot .5583333. Prednost, da se tako ohrani čas, je, da je, tako kot zgoraj omenjene epohe sekunde, tudi izračunavanje razlik med dvema kratoma zgolj preprosto odštevanje.

ISO 8601

Če ste že kdaj bili v tujini, boste zdaj na veliko načinov predstavljali datume. V ZDA ponavadi pride prvi mesec, tako da bi bil 15. januar 2018 predstavljen kot 15. 1. 18. V drugih krajih je dan prvi, kot 15. 1. 18. To lahko povzroči nekaj težav pri komunikaciji z ljudmi v različnih državah.

Nekateri od teh težav poskuša rešiti mednarodni standard ISO 8601. Precej preprosto je: LLLL-MM-DD. Če se vrnemo na naš primer, predstavljen v skladu z ISO 8601, bi bilo videti tako: 2018-01-15. To je nedvoumno in "big-endian", ker je leto na prvem mestu. Ta standard tudi računalnikom omogoča razmeroma enostavno razvrščanje stvari po datumu. Druge različice dodajo UTC ali prikažejo število dni v letu.

Vse v dobrem času

Čas je pomemben in še pomembnejši za računalnike. Upajmo, da vam ta članek daje občutek, kako računalniki spremljajo čas za zakulisjem.