Dlaczego czas uniksowy zaczyna się w 1970-01-01? Dlaczego nie 1971-01-01 lub jakakolwiek inna data?
Dlaczego czas uniksowy zaczyna się w 1970-01-01? Dlaczego nie 1971-01-01 lub jakakolwiek inna data?
Odpowiedzi:
Nie znałbym odpowiedzi, gdyby nie wyszukiwarka Google:
Od Tutaj (wymaga bezpłatnej subskrypcji):
Linux podąża za tradycją ustaloną przez Unixa, polegającą na liczeniu czasu w sekundach od jego oficjalnych „urodzin” - nazywanych „epoką” w kategoriach obliczeniowych - czyli 1 stycznia 1970 roku.
Pełniejsze objaśnienie można znaleźć w tym artykule Wired News . Wyjaśnia, że pierwsi inżynierowie uniksowi wybrali tę datę arbitralnie, ponieważ musieli ustalić jednolitą datę na początek czasu, a Nowy Rok 1970 był najwygodniejszy.
Unix nie urodził się w 1970 roku.
Epoka unixowa przypada na północ 1 stycznia 1970 roku. Należy pamiętać, że nie są to „urodziny” Unixa - szorstkie wersje systemu operacyjnego istniały w latach sześćdziesiątych. Zamiast tego data została zaprogramowana w systemie na początku lat 70. tylko dlatego, że było to wygodne, według Dennisa Ritchiego, jednego z inżynierów, który pracował nad Unixem w Bell Labs od samego początku.
Podoba mi się pytanie :-)
Pozwól, że spróbuję na nie odpowiedzieć (źródło źródła: internet)
Czas uniksowy jest reprezentowany przez 32-bitową liczbę całkowitą (liczbę całkowitą), która może być dodatnia lub ujemna (podpisana). Unix został pierwotnie opracowany w latach 60. i 70. więc „początek” czasu uniksowego został ustawiony na 1 stycznia 1970 r. O północy czasu GMT (Greenwich Mean Time) - tej dacie / godzinie przypisano wartość czasu uniksowego równą 0. To jest to, co wiemy jako Epoka Uniksa.
32-bitowa liczba całkowita ze znakiem może reprezentować liczby całkowite od -2147483648 do 2147483647. Ponieważ czas uniksowy zaczyna się od 0, ujemne wartości czasu uniksowego cofają się w czasie od epoki, a liczby dodatnie idą w przód. Oznacza to, że czas uniksowy rozciąga się od wartości czasu uniksowego -2147483648 lub 20:45:52 GMT w dniu 13 grudnia 1901 r. Do wartości czasu uniksowego w wysokości 2147483647 lub 3:14:07 GMT w dniu 19 stycznia 2038 r. Daty te oznaczają początek, czas prehistoria i koniec czasu uniksowego.
Koniec czasu uniksowego nastąpi 19 stycznia 2038 03:14:07 GMT. 19 stycznia 2038 03:14:08 GMT przepełnią się wszystkie komputery, które nadal używają 32-bitowego czasu uniksowego. Jest to znane jako „problem z roku 2038”. Niektórzy uważają, że będzie to poważniejszy problem niż „problem roku 2000”. Rozwiązaniem problemu roku 2038 jest przechowywanie czasu uniksowego w 64-bitowej liczbie całkowitej. Jest to już realizowane w większości 64-bitowych systemów operacyjnych, ale wiele systemów może nie zostać zaktualizowanych do 2038 r.