Strona 1 z 1

Y2K38 - wada oprogramowania

: 24 kwie 2016, 09:13
autor: Eliro
https://pl.m.wikipedia.org/wiki/Problem_roku_2038

Co o tym myślicie? Jest już coś robione w kierunku naprawy? Nie można po prostu odliczac sekund od innej daty?

Re: Y2K38 - wada oprogramowania

: 24 kwie 2016, 22:24
autor: bear7
Przeniosłem temat do raczej bardziej odpowiedniego działu.

A co do pytania, to chyba jest za wcześnie aby się tym problemem martwić; jeszcze trochę czasu zostało i zapewne sporo się zmieni...

Re: Y2K38 - wada oprogramowania

: 24 kwie 2016, 22:43
autor: jacekalex
Szkoda się tym na razie zajmować, za 10 lat na świecie nie będzie ani jednego 32 bitowego systemu operacyjnego, wtedy Linux przejdzie na kodowanie czasu uniksowego przy pomocy 64 bitów, i Y2K38 zostanie odroczony o 2^32 sekund, czyli ponad 136 lat. :clap:

Z resztą sam policz:

Kod: Zaznacz cały

(2^32)/(3600*24*365)
:twisted:

To by było na tyle
:craz:

Re: Y2K38 - wada oprogramowania

: 26 kwie 2016, 15:14
autor: Eliro
Ciekawe co wymyślą za 136 lat :D

A wytłumaczy mi ktoś jak to działa? Czemu nie można liczyć czasu np. od 2016 roku tylko uparli się na 1970?

Re: Y2K38 - wada oprogramowania

: 26 kwie 2016, 18:42
autor: tristan
Można, ale zaczęli od 1970. Mogli wtedy pomyśleć, ale kto wtedy myślał, skoro wszyscy byli zachwyceni, że w ogóle jakikolwiek komputer jest i jakikolwiek unix. IPv4 też wydawało się, że wystarczą w nadmiarze, więc pociumkali różne klasy i inne takie.

Łatwo oceniać po 50 latach

Re: Y2K38 - wada oprogramowania

: 26 kwie 2016, 20:57
autor: Eliro
Czyli teraz teoretycznie można po prostu ustawić odliczanie sekund na inną datę i wszysko będzie okej?

Re: Y2K38 - wada oprogramowania

: 27 kwie 2016, 22:05
autor: tristan
Eliro pisze:Czyli teraz teoretycznie można po prostu ustawić odliczanie sekund na inną datę i wszysko będzie okej?
No ale to niewykonalne. Przecież zobacz ile systemów i programów jest w działaniu. W 2010, po 34 latach ciągłej eksploatacji, wyłączono ostatni komputer Odra 1305 w Polsce. Do sporej części nie masz kodów źródłowych, nie masz specjalistów, nie wiesz gdzie się co kryje. Ten sam problem z przerabianiem, jak ze zmianą zmiennej czasowej na 64bit. Ba! Większy nawet i to o kilka rzędów, bo zmiana na 64bit jest kompatybilna w dół i jak zmienimy w systemach, to soft niezgodny będzie do 2038 i tak dobrze działał, bo sobie weźmie mniej znaczącą część i już. A jak zmienisz zasadę, to w ogóle życzę powodzenia... Cały soft musisz na raz wymienić.

Re: Y2K38 - wada oprogramowania

: 28 kwie 2016, 21:26
autor: Eliro
Oczywiście, że masz racje, ale ja pytałem o możliwość, a nie kompatybilność w dół. Czyli, że wszystkie programy oparte na czasie, trzeba by było przerabiać i kompilować od nowa?

Re: Y2K38 - wada oprogramowania

: 28 kwie 2016, 22:45
autor: tristan
Nie wiem czy wszystkie, ale te które korzystają z takiego zapisu bezpośrednio.

Re: Y2K38 - wada oprogramowania

: 02 maja 2016, 11:51
autor: jacekalex
Eliro pisze:Oczywiście, że masz racje, ale ja pytałem o możliwość, a nie kompatybilność w dół. Czyli, że wszystkie programy oparte na czasie, trzeba by było przerabiać i kompilować od nowa?
Co za infantylne pytanie?

Cały czas zmieniają się wersje bibliotek i kompilatorów, i programy muszą być kompilowane kilka razy w roku, w Ubuntu tego nie widzisz, bo zajmują się tym Developerzy, a Ty instalujesz gotowe paczki z oprogramowaniem.
W Informatyce 20 lat to kilka epok, np 7 lat temu nikt nie słyszał o systemie Android a cały Linux w sensie dystrybucji GNU Linuxa ma dopiero 23 lata.
Także kompilacją czy łatkami na programy nie ma się co martwić, z resztą pewnie nie będą to poprawki w tysiącach programów, tylko w bibliotece GNU LIbc6 i kompilatorze GCC (biblioteki), których wszystkie programy wymagają.

Chodzi głównie o te biblioteki:

Kod: Zaznacz cały

ldd `which mplayer` | egrep 'libc.so|libstdc++'
	libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x000003be91e5d000)
	libc.so.6 => /lib64/libc.so.6 (0x000003be8c940000)
Pozdro
:craz: