Interessante feiten over computertijdwaarneming

Schrijver: Judy Howell
Datum Van Creatie: 2 Juli- 2021
Updatedatum: 1 Juli- 2024
Anonim
INSTAGRAM PSİKOLOJİSİ - SOSYAL MEDYA BAĞIMLILIĞI
Video: INSTAGRAM PSİKOLOJİSİ - SOSYAL MEDYA BAĞIMLILIĞI

Inhoud


Bron: ChakisAtelier / iStockphoto

Afhaal:

U denkt waarschijnlijk niet te veel aan de klok in uw computer, maar er zijn veel interessante dingen die alles soepel laten verlopen.

U denkt waarschijnlijk niet te veel aan de klok in uw computer, tenzij u misschien een belangrijke deadline heeft, maar als u een beetje weet hoe uw computer de tijd bijhoudt, kunnen uw systeem en uw netwerk soepel blijven werken. Bovendien heeft computertechnologie de manier veranderd waarop we tijd bijhouden, loggen en opnemen, wat op zichzelf behoorlijk interessant is. Kijk hier goed hoe computers tijd bijhouden.

Unix-tijd

Vergeef me dat ik een beetje Unix-centrisch ben, maar een flink deel van de servers op internet gebruikt Unix-tijd. Wat is Unix-tijd? Het is eigenlijk vrij eenvoudig. Het is het aantal seconden dat is verstreken sinds middernacht op 1 januari 1970, UTC. (Ik zal UTC later in dit artikel uitleggen.) Dit staat bekend als 'het tijdperk'.


Veel Unix- en Linux-systemen berekenen tijd door epochseconden te berekenen en deze om te zetten in lokale tijd. Het voordeel hiervan is dat het vrij eenvoudig is om het verschil tussen twee datums en tijden te berekenen. Als ik wil weten hoeveel tijd is verstreken sinds middernacht op 1 januari 1970, en nu, is het gewoon een kwestie van eenvoudig aftrekken. De programmeertaal Perl heeft de mogelijkheid om epoch-seconden te berekenen voor elk gewenst moment. (U kunt meer leren over Perl in Perl 101.)

Er zijn ook een aantal leuke patronen die naar voren komen als de seconden sinds 1970 aanvinken. Wikipedia heeft er een lijst van. Op 13 februari 2009 bereikte het aantal seconden bijvoorbeeld 1.234.567.890. Ja, dat zijn alle cijfers vanaf één. Er waren feesten in technische gemeenschappen over de hele wereld om te vieren. En voor degenen onder u die niet zo geeky zijn, nee, ik verzin dit niet.

Een ernstiger gevolg van het zo houden van tijd is het probleem van 2038. Zonder te veel in detail te treden, zal in 2038 het aantal verstreken seconden te groot zijn om een ​​32-bits ondertekend geheel getal te behouden. Tal van systemen, waaronder ingebedde computers, gebruiken nog steeds 32-bits processors. We hebben nog steeds genoeg tijd om te converteren naar 64-bits systemen of een andere oplossing te vinden, maar als je je het Y2K-debacle herinnert, waar mensen op het laatste moment rondsloegen om dat probleem op te lossen, is er soms gewoon geen wil om iets aan te doen deze dingen vooraf.


Wanneer we volledig overschakelen naar 64-bits processoren, hebben we tot 292.277.026.596 seconden voordat we weer van processor moeten veranderen. Op dat moment zal de mensheid waarschijnlijk echter meer zorgen hebben dan hun computerklokken - de zon zal de aarde dan al lang hebben verzwolgen.

UTC

Hoewel UTC of Coordinated Universal Time niet strikt beperkt is tot computers, is het belangrijk voor de manier waarop hun klokken lopen. Het is een vervanging voor Greenwich Mean Time die rekening houdt met de vertraging van de aarde. De nulmeridiaan waarop deze berekening is gebaseerd, bevindt zich nog steeds in het Greenwich Observatory in Engeland. Waarom daar? Het is een overblijfsel van het Britse rijk.

Tijdzones worden weergegeven als offsets van de nulmeridiaan. Ik woon bijvoorbeeld in de Pacific-tijdzone, namelijk UTC-8. En tijdens zomertijd is het eigenlijk UTC-7.

Geen bugs, geen stress - Uw stapsgewijze handleiding voor het creëren van levensveranderende software zonder uw leven te vernietigen

U kunt uw programmeervaardigheden niet verbeteren als niemand om softwarekwaliteit geeft.

UTC wordt in verschillende nadelen gebruikt om onduidelijkheden over tijdzones weg te nemen, waaronder in de luchtvaart, weersvoorspelling en computergebruik. De meeste machines vertegenwoordigen de lokale tijdzone als een offset van UTC, maar de meeste servers op internet drukken tijd uit in UTC. U kunt uw titels controleren op bewijs.

NTP

Terwijl servers klokken gebruiken die zijn ingesteld op UTC, hebben computerklokken de beruchte gewoonte om te vertragen. Het hebben van een aantal niet-gesynchroniseerde klokken kan grote schade aanrichten aan dingen zoals, die afhangen van timing. Dat is de reden waarom het Network Time Protocol tot stand is gekomen. Het bestaat al sinds de jaren 80 en houdt computerklokken perfect gesynchroniseerd met NTP. Je hoeft er meestal niet aan te denken. Meestal hoeft u alleen NTP op uw systeem in te schakelen, hetzij via configuratiebestanden of een bedieningspaneel, en NTP zorgt voor de rest door contact op te nemen met servers en de computerklok periodiek te synchroniseren. (Meer informatie in Hoe Network Time Protocol het tikken van internet tegenhoudt.)

Fractionele tijd

Een interessante manier om tijd weer te geven is door fractionele dagen te gebruiken. Het is een vorm van decimale tijd die de tijd weergeeft als een percentage van de dag die is verstreken. Middernacht is bijvoorbeeld 0.00, middag is 0.50, 18.00 uur. is 0,75 enzovoort.

Om de huidige tijd als fractionele dag te krijgen, deelt u de huidige minuut door 60 en voegt u die toe aan het uur. Als het bijvoorbeeld momenteel 1:24 uur is, is 24 gedeeld door 60 0,40, wat 13,40 oplevert. Dat delen door 24 levert .56 op. U kunt ook elke gewenste precisie hebben. Ik had de tijd bijvoorbeeld kunnen schrijven als .5583333. Het voordeel om de tijd op deze manier te houden is dat, net als de eerder genoemde tijdvakken, het berekenen van de verschillen tussen twee tijden slechts een kwestie is van eenvoudige aftrekking.

ISO 8601

Als je ooit in het buitenland bent geweest, weet je nu dat er veel verschillende manieren zijn om datums weer te geven. In de Verenigde Staten komt de maand meestal eerst, zodat 15 januari 2018 wordt weergegeven als 15-1-18. Op andere plaatsen komt de dag eerst, zoals in 15/1/18. Dit kan problemen veroorzaken bij de communicatie met mensen in verschillende landen.

Een internationale norm, ISO 8601, probeert enkele van deze problemen op te lossen. Het is vrij eenvoudig: JJJJ-MM-DD. Terugkomend op ons voorbeeld, weergegeven volgens ISO 8601, zou het er zo uitzien: 15-01-2018. Het is ondubbelzinnig en "big-endian" omdat het jaar op de eerste plaats komt. Deze standaard maakt het ook relatief eenvoudig voor computers om dingen op datum te sorteren. Andere variaties voegen UTC toe of tonen het aantal dagen dat in het jaar is verstreken.

Alles op zijn tijd

Timing is belangrijk en nog belangrijker voor computers. Hopelijk geeft dit artikel je een idee van hoe computers de tijd achter de schermen bijhouden.