Zeit ist sowohl für Menschen als auch für Computer ein wichtiges Konzept für die tatsächliche Zeitmessung (eine Wanduhr in unseren Häusern oder eine Systemuhr in Computern) und mathematische Berechnungen (z. B. Geschwindigkeit, bei der es sich um eine Entfernung über der Zeit handelt). Computer verarbeiten Einsen und Nullen und es ist wichtig, die Zeit richtig darzustellen. Da wir in Computern einen Startpunkt für die Zeit benötigen, also die Zeit, die seit diesem Referenzpunkt vergangen ist, ist Epoch der Startpunkt für UNIX-Systeme. Aber was ist Epoch Time? Was ist die Epoche für verschiedene Betriebssysteme? In diesem Leitfaden erfahren Sie mehr über die Epoche.
Was ist Epoch Time?
Beginnen wir mit der wichtigen Frage: Was ist Epoch Time? In der Welt der Computer ist die Epoche der Ausgangspunkt (Datum und Uhrzeit), von dem aus sie die Systemzeit messen.
Die Epoche ist der Nullpunkt für die Zeit eines Computers, dh sie stellt die 00 Stunden, 00 Minuten und 00 Sekunden dar. Unterschiedliche Betriebssysteme haben unterschiedliche Epoch Time.
In UNIX- und POSIX-basierten Betriebssystemen ist die Epoch Time beispielsweise 00:00:00 UTC, Donnerstag, 1. Januar 1970. Auf UNIX basierende Computer messen die Zeit, indem sie die Anzahl der seit diesem Zeitpunkt verstrichenen Sekunden (abzüglich der Schaltsekunden) zählen Punkt. Daher wird diese Epoch Time auch als Unix-Epoch Time (oder einfach Epoch Time, Unix-Zeit, POSIX-Zeit) bezeichnet.
Die Unix-Entwickler Ken Thompson und Dennis Ritchie sind auch dafür verantwortlich, das Datum und die Uhrzeit der Epoche auf den 1. Januar 1970 und 00:00:00 festzulegen.
Bedürfnis nach Epoche
Wenn Sie sich die Darstellung der Epoch Time ansehen, handelt es sich lediglich um die Anzahl der Sekunden, beginnend mit der Unix-Epoch Time. Wir verwenden im Wesentlichen Zahlen, um Datum, Tag und Uhrzeit darzustellen.
Der Hauptvorteil einer solchen Darstellung besteht darin, dass Sie problemlos mathematische Operationen wie Addition und Subtraktion von Zahlen durchführen und Datum und Uhrzeit mühelos berechnen können.
Beispielsweise entsprechen alle 60 Epochensekunden einer tatsächlichen Minute und 3.600 Epochensekunden sind im wirklichen Leben nichts anderes als eine Stunde.
Aus der folgenden Tabelle können Sie sich einen klaren Überblick über die Anzahl der Epochensekunden und den entsprechenden Zeitraum im wirklichen Leben verschaffen.
Zählung der Epochensekunden | Echte Lebenszeit verstrichen |
1 | 1 Sekunde |
60 | 1 Minute |
3.600 | 1 Stunde |
86.400 | 1 Tag (24 Stunden) |
604.800 | 1 Woche |
1.209.600 | 2 Wochen |
1.814.400 | 3 Wochen |
2.419.200 | 1 Monat (28 Tage) |
2.592.000 | 30 Tage |
14.515.200 | 6 Monate (168 Tage) |
29.030.400 | 1 Jahr (336 Tage) |
290.304.000 | 1 Jahrzehnt (3360 Tage) |
Wenn also die Differenz zwischen zwei Epochenzählungen beispielsweise 10.800 beträgt, können wir sagen, dass zwischen diesen beiden Ereignissen drei Stunden vergangen sind.
Was ist die Epoch Time in anderen Betriebssystemen?
Sind Datum und Uhrzeit der Epoche für alle Computer auf der Welt gleich? Die Antwort ist nein. Die Epoch Time ist vom Betriebssystem abhängig und verschiedene Betriebssysteme haben unterschiedliche Epoch Time. Was wir im Einführungsabschnitt gesehen haben, ist nur die Epoche für UNIX- und POSIX-Systeme.
Andere Betriebssysteme wie Windows, MacOS etc. haben entsprechende Epoch Time. Um die Epoch Time der einzelnen wichtigen Betriebssysteme zu verstehen, können Sie sich die folgende Tabelle ansehen.
Betriebssystem | Epochendatum (Beginn) | Epochendatum (Ende) |
UNIX | 1. Januar 1970 | 19. Januar 2038 |
POSIX | 1. Januar 1970 | 19. Januar 2038 |
DOS, Microsoft DOS, IBM OS/2 | 1. Januar 1980 | 1. Januar 2108 |
Microsoft Windows (Windows NT) | 1. Januar 1601 | Jahr 2038 |
Linux | 1. Januar 1970 | 19. Januar 2038 |
Apple macOS (klassisch) | 1. Januar 1904 | 6. Februar 2040 |
Mac OS | 1. Januar 1970 | 19. Januar 2038 |
AmigaOS | 1. Januar 1978 | – |
S/390 | 1. Januar 1970 | 19. Januar 2038 |
Abgesehen vom Betriebssystem haben auch bestimmte Anwendungen ihre eigenen Epochendaten. In der Tabelle können Sie sich einige wichtige Anwendungen und Software mit ihrem Epochendatum ansehen.
Anwendungssoftware | Epochendatum |
MATLAB | 0. Januar 1 v. Chr |
Microsoft Excel | 0. Januar 1900 |
Microsoft .NET | 1. Januar , 1 n. Chr |
GPS (Globales Positionierungssystem) | 6. Januar 1980 |
LibreOffice | 30. Dezember 1899 |
LabVIEW | 1. Januar 1904 |
Apple Cocoa Framework | 1. Januar 2001 |
Programmiersprachen (C, C++, Python, Ruby, Java, JavaScript, Tcl usw.) | 1. Januar 1970 |
Ein wichtiger Punkt hierbei ist, dass wenn wir sagen, dass das System die Anzahl der Sekunden ab der Epoch Time zählt, dies spezifisch für ein Betriebssystem ist. Im Allgemeinen handelt es sich tatsächlich um die Anzahl der „Ticks“, die das System zählt, und jeder Tick ist in verschiedenen Betriebssystemen unterschiedlich.
Betriebssystem | Epochen-Tick |
UNIX | 1 Sek |
POSIX | 1 Sek |
DOS, Microsoft DOS, IBM OS/2 | 1 Sek |
Microsoft Windows (Windows NT) | 100 ns |
Linux | 1s |
Apple macOS (klassisch) | 1 Sek |
Mac OS | 1 Sek |
S/390 | 244,14 Ps |
Wie effektiv ist Unix Epoch? Probleme mit Unix Epoch Time
Die Darstellung von Datum und Uhrzeit als Zahlen hat zwar Vorteile, bringt aber auch Probleme mit sich. In den meisten Betriebssystemen speichern wir die Epochenanzahl als 32-Bit-Ganzzahl mit Vorzeichen. Der maximale Wert, den es darstellen kann, ist also 2 · 31 – 1.
Kommen wir zur Unix-Epoche, die am 1. Januar 1970 um 00:00:00 Uhr begann. Das maximale Datum und die maximale Uhrzeit, die wir speichern können, ist 03:14:07 UTC, der 19. Januar 2038. Die nächste Zählung führt zu einem Ganzzahlüberlauf und setzt Datum und Uhrzeit auf 20:45:52 UTC, 13. Dezember 1901, zurück.
Dieses Problem ist bekannt als das Jahr-2038-Problem (da es dem Jahr-2000-Problem ähnelt).
Viele Unix- und andere wichtige Betriebssysteme sind von vorzeichenbehafteten 32-Bit-Ganzzahlen auf vorzeichenbehaftete 64-Bit-Ganzzahlen umgestiegen, um die Epochenanzahl darzustellen. Wenn Sie jedoch über ein Legacy-System verfügen, das kein 64-Bit-Computing unterstützt, oder über ein eingebettetes System, das nicht aktualisiert werden kann, besteht das Problem des Jahres 2038 weiterhin darin vmmem.
Abschluss
Die Darstellung von Datum und Uhrzeit in Computern ist ein wichtiger Teil ihres Betriebs. Die Systemzeit dient als Bezugspunkt für viele Aufgaben und Anwendungen in allen Computersystemen. Die Epoche ist der Ausgangspunkt, von dem aus ein Computersystem die Systemzeit berechnet. Unter Unix ist die Epoche der 1. Januar 1970, 00:00:00 UTC. Andere Betriebssysteme haben ihre eigenen Epoch Time. Dieser Leitfaden beantwortet die wichtige Frage, was Epoch Time ist und warum wir sie brauchen. Wir sahen auch die Epoche einiger beliebter Betriebssysteme und Anwendungen.