Frage von oggie, 42

Codierung von Zeit in Betriebssystemen?

Hallo, mal eine Frage ...

wann müssen wir mit Problemen bei der Zeitcodierung rechnen, wenn heute die Betriebssysteme für die Zeit 64 Bit reservieren?

Dankeschön! :)

Antwort
von Willibergi, 27

Die Zeitrechnung in Computern (UNIX) begann am 01.01.1970 um 00:00:00.

Dieser Zeitpunkt wird auch als Epoch bezeichnet.

Damals wurde die Uhrzeit als vorzeichenbehaftete 32-Bit-Ganzzahl dargestellt.

Der Wertebereich einer solchen Zahl beträgt -2.147.483.648 bis +2.147.483.647.

Am 19. Januar 2038, um 03:14:08 wird der Zähler überlaufen und das Datum wird wieder der 13.12.1901 sein.

(siehe auch Jahr-2038-Problem)

Würde man aber jetzt, am 03.06.2016, um 18:49:34 alle Zähler auf 0 setzten und die Uhrzeit als vorzeichenbehaftete Ganzzahl gespeichert werden, hätten wir in etwa 9 Trillionen Millisekunden wieder ein Problem.

9.000.000.000.000.000.000 ms wären etwa 285.388.128 Jahre.

Also hätten wir im Jahr 285.390.144 ein Problem mit Überläufen bei der Zeitrechnung.

Das sollte für die nächste Zeit ausreichen (wobei nicht sicher ist, ob es dann noch solch alte Technik geben wird ^^).

Ich hoffe, ich konnte dir helfen; wenn du noch Fragen hast, kommentiere einfach.

LG Willibergi

Kommentar von Mikkey ,

ob es dann noch solch alte Technik geben wird

Vermutlich wird es dann (auf der Erde) gar keine Technik mehr geben.

Kommentar von Willibergi ,

Geschweige denn der Menschheit auf der Erde. ^^

LG Willibergi

Kommentar von Tschoo ,

Am 19. Januar 2038, um 03:14:08 wird der Zähler überlaufen und das Datum wird wieder der 13.12.1901 sein.

wieso nicht   01.01.1970 um 00:00:00   ????

Kommentar von Willibergi ,

Das liegt am arithmetischem Überlauf.

Am 19.01.2038 um 03:14:08 beträgt der binäre Betrag der Zeit:

1 111 1111 1111 1111 1111 1111 1111 1111 1111

Am 19.01.2038 um 03:14:09 wird ist der binäre Betrag folgender:

(1) 0000 0000 0000 0000 0000 0000 0000 0000

Das erste Bit wird als Vorzeichen gewertet, somit entsteht folgende Zahl:

1 000 0000 0000 0000 0000 0000 0000 0000

Bei der bitweisen Speicherung von Werten ist der oben stehende Wert eben -2.147.483.648.

Und da die Zeitrechnung am 01.01.1970 mit 0 angefangen hat, liegen negative Werte sehr lange zurück (13.12.1901).

Ich hoffe, das war verständlich, ansonsten kann ich nur

https://de.wikipedia.org/wiki/Jahr-2038-Problem

empfehlen.

LG Willibergi

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten