Unix feierte 50 Jahre. Was bedeutet das?

Das Jahr 2020 ist für Unix von Bedeutung: Zu Beginn des Jahres feierte das ursprüngliche Betriebssystem seinen 50. Geburtstag. Die Unix-Zeit, auch bekannt als "Epoch-Datei", ist die Anzahl der Sekunden, die seit dem 1. Januar 1970 vergangen sind. Aber was beschäftigt die Kernel-Entwickler angesichts des 50-jährigen Jubiläums von Unix?

Unix feierte 50 Jahre. Was bedeutet das?

Obwohl einige der frühen Entwicklungen von Unix der offiziellen Einführung seiner "Epoche" vorausgehen, bleibt der 1. Januar 1970 der Nullpunkt der POSIX-Zeit. Daher feierte die Plattform offiziell am 1. Januar 2020 genau 50 Jahre.

Zeit Unix im Vergleich zur menschlichen Zeit

Aus der Perspektive der menschlichen Zeit sind 50 Jahre eine lange Zeit. Aus der Perspektive der Unix-Zeit gibt es nichts Besonderes an 50 Jahren; 43 Jahre wären ebenfalls bedeutsam gewesen. Unix-Systeme (einschließlich Linux) speichern Datums- und Zeitwerte als Anzahl der Sekunden, die seit dem 1. Januar 1970 um 00:00:00 UTC vergangen sind, unter Verwendung von 32-Bit-Aufzeichnungen. Um herauszufinden, wie viele Sekunden seit dieser Zeit vergangen sind und somit den aktuellen Unix-Zeitwert zu bestimmen, kann der Befehl ausgeführt werden:

$ date +%s

1576883876

Das Argument %s nach dem Befehl date gibt die aktuelle Datum- und Uhrzeit in Sekunden seit dem 1. Januar 1970 an.

Unix feierte 50 Jahre. Was bedeutet das?

Welches maximale Datum können die Systeme speichern Unix?

Um zu verstehen, wie viel Zeit ein Unix-System speichern kann, muss man die Kapazität des 32-Bit-Feldes betrachten. Das lässt sich wie folgt berechnen:

$ echo '2^32' | bc

4294967296

Da Unix jedoch auch negative Zahlen speichern kann, wird ein Bit für das Vorzeichen reserviert, wodurch der Zeitwert auf Folgendes reduziert wird:

$ echo '2^31' | bc

2147483648

Da die Zählung in Unix bei 0 beginnt, bedeutet dies, dass wir 2.147.483.648 Werte zur Verfügung haben, aber der größte Wert ist 2.147.483.647 — das Datum und die Uhrzeit in Unix dürfen diesen Wert nicht überschreiten. Genauso wie der Kilometerzähler eines Autos nicht mehr als 999.999 Kilometer anzeigen kann — fügen Sie 1 hinzu, und der Wert setzt sich zurück.

Wie lange dauert ein Jahr in Sekunden?

Die Anzahl der Sekunden in einem Jahr kann wie folgt berechnet werden:

$ expr 24 * 60 * 60 * 365

31536000

In einem Schaltjahr wird ein weiterer Tag hinzugefügt:

$ expr 24 * 60 * 60 * 366

31622400

Unix feierte 50 Jahre. Was bedeutet das?

Wie zeigt Unix seinen 50. Geburtstag an?

Am 1. Januar 2020 um 00:00 Uhr wird die Zeit 1577836800 sein. Die Berechnung wird etwas komplizierter, da Schaltjahre berücksichtigt werden müssen. Seit dem Beginn der Unix-Ära gab es 12 solcher Jahre, beginnend im Jahr 1972 und endend im Jahr 2016. Das bedeutet, dass 38 gewöhnliche Jahre vergangen sind.

So sieht der Befehl expr aus, um die Sekunden der letzten 50 Jahre zu berechnen:

$ expr 24 * 60 * 60 * 365 * 38 + 24 * 60 * 60 * 366 * 12

1577836800

Oder so, mit Berücksichtigung der zuvor durchgeführten Berechnungen:

$ expr 31536000 * 38 + 31622400 * 12

1577836800

Diese Art der Zeitdarstellung hat Unix-Systeme immun gegen das Y2K-Problem gemacht, wegen dem sich viele Menschen Ende 1999 sorgten, dass der Übergang ins Jahr 2000 ihren Computer-Systemen schaden könnte. Die tatsächlichen Schwierigkeiten waren viel geringer als erwartet. Tatsächlich hatten nur Anwendungen, die Jahre im zweistelligen Format speicherten, mit dem Nullsetzen von Daten zu kämpfen. Viele Entwickler haben zusätzliche Arbeiten geleistet, um sicherzustellen, dass ihre Anwendungen nicht vom Y2K-Problem betroffen sind.

Wann wird Unix mit Problemen konfrontiert sein?

Ähnliche Schwierigkeiten erwarten Unix-Systeme frühestens im Jahr 2038, wenn die im oben beschriebenen Format gespeicherten Daten den 32-Bit-Speicher überschreiten. Es bleiben noch 18 Jahre, aber die Kernel-Entwickler arbeiten bereits an Lösungen, um zukünftige Ausfälle zu vermeiden.

Das Problem des Jahres 2038 wird manchmal als Y2K38-Problem bezeichnet. Wenn es bis Dienstag, dem 19. Januar 2038, nicht gelöst wird, könnten Systeme glauben, dass das Jahr 1901 angebrochen ist. Eine der Lösungen besteht darin, auf eine 64-Bit-Darstellung von Datums- und Zeitinformationen umzusteigen. Einige halten dies für deutlich komplizierter, als es scheint.

In jedem Fall ist es noch zu früh, um in Panik zu geraten. Heute ist der gefeierte 50. Jahrestag der Unix-Systeme, die als einige der bedeutendsten Betriebssysteme in der Geschichte anerkannt sind.



Quelle: 3dnews.ru
Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster