Gå til innhold

Dommedag for alle nerder!


Anbefalte innlegg

Er det så mye mer og utdype? Vi kommer til og dø i 2012! Så kom deg ut av diskusjon.no og ut i verden for og nyte de siste årene du har igjen av livet ditt!!

Neida :p men det er vel det eneste jeg vet, mener det var en tråd om det engang, men du finner sikkert noe om det på google :)

Lenke til kommentar
Videoannonse
Annonse
The year 170,141,183,460,469,231,731,687,303,715,884,105,727 problem: this is the year that 128-bit Unix time would reset to zero

 

Det verste som kan sje er at tidstyrte system kan utføre ting i en unormal rekkefølge, tidsforskjeller fra tidligere datoer blir feil og datoer blir i 1970, men det finst sikkert et eller anna ekstremt dårlig program som krasjer =P

Lenke til kommentar

"Ekstremt dårlig program" er å ta litt i. Jeg vil tro at 99.99999999..mange nitall..% av programmer er ikke kodet med dette i tankene da det er en tåpelig ting å innføre overhead på bare for å gjøre en datokalkulasjon. Og hvordan skal du i det hele tatt sjekke om overflow har skjedd? Og hva skal korrekt handling være dersom programmet oppdager en overflow?

 

Et banalt eksempel: Hr. Jensen er koblet til en automatisk maskin ( ikke datamaskin men medisinsk utstyr som gjerne er 10 år gammelt uten at det påvirker aparatets funksjonalitet ) som per en leges vurdering skal legge til 40cc morfin i dryppet hans hver sjette time. Maskinen er kodet på en enkel og logisk måte med morfin, lagre tidspunkt, vent, vent, vent, sjekk klokka mot forige tidspunkt, dersom over 21600 mer morfin, dersom ikke vent, repeat..

Hva kan skje dersom overflow skjer rett etter han har mottatt morfin?

 

Et annet issue er divide-by-zero. Jeg kan nesten legge penger på at INGEN har noen gang sjekket om systemets UNIX-time er null, så der er det nok veldig lett å krasje hele applikasjonen.

 

Men IMO er heller ikke dette noe programmerer skal tenke på, men det er det ytterliggende rammeverket som skal oppdateres uten at indre systemer skal pålegges behov for sjekker og backuprutiner.

Lenke til kommentar

Deling på null skjer heldigvis kun i et sekund. Brukerprogrammer bør bare avbryte pågående operasjon og vise en feilmelding. Kritiske systemprosesser (Håper ingen driver og leker med datoer, med unntak av cron ligenede prosesser) bør bli restarta.

 

Det er helt klart at dette går verst ut over tidstyrte system, men der er heldigvis 30 år til da :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...