Hlavní navigace

Billennium --- unixový Y2k

Zdeněk Šindelář 6. 9. 2001

9. září 2001 (tj. v něděli) oslaví všechny unixové systémy kulaté výročí, jejich časový čítač zaznamená jednu miliardu sekund. V souvislosti s touto skutečností se objevily nejen výzvy k oslavám, ale rovněž otázky, zda unixové systémy nečekají stejné komplikace jako v Y2k operační systémy Windows.

Nejdříve si dáme trochu nezbytné technické teorie, experti na Unix nechť s klidným svědomím přeskočí. :-) Práce s časem v unixových systémech je řešena časovým čítačem (Unix timestamp), což není nic jiného než počet sekund od začátku tzv. epochy, která u většiny systémů představuje okamžik 1.1.1970 00:00:00 GMT. Tento systém přínáší značné zjednodušení při práci s časovými údaji.

Pokud například chcete přičíst 30 dní k současnému datu, stačí ho převést na timestamp, přičíst 30*86400 (počet sekund za den) a výsledek převést zpět. Pro převod oběma směry existují systémové funkce a za předpokladu, že fungují tak, jak mají – což současné systémy splňují  – není potřeba starat se o počet dní v měsíci, přestupné roky, Y2k bugy a podobně.

Z tohoto důvodu také mohli administrátoři unixů oslavovat poslední den roku 1999 s klidným svědomím – problémy s Y2k se unixům téměř vyhnuly. Pravda, místy bylo možné zahlédnout datumy typu 1.1.19100, což ale bylo způsobeno programátorským lajdáctvím při snaze zjednodušit si zprácování výsledku převodu timestampu na datum, nikoli systémem.

I méně zkušeného uživatele ale určite napadne, že onen počet sekund od začátku epochy musí být někde uložen a že žádná proměnná není nekonečná. Je to pravda a tato hranice není až tak daleko – tuto neděli to ovšem nebude.

Dosažením jedné miliardy sekund se ale timestamp změní z devíticiferného čísla na deseticiferné. Systémům samotným to ještě vadit nebude, problémy ovšem mohou nastat u špatně napsaných aplikací, pokud používají pro práci s časem nevhodně dimenzované proměnné. Takže je možné, že toto datum nebude až tak bezproblémové, jak se zdá, pokud se tak ale stane, bude to problém specifických aplikací, nikoli systémový.

První vlaštovka se již objevila v podobě varování před chybou tohoto druhu v postarší verzi aplikace KMail (řada 1.0.x), která je součástí populárního desktopu KDE verze 1.x (další informace na LinuxToday). Novější verze tímto neduhem už netrpí, uživatelů té starší je ovšem stále celá řada (byť KMail této verze nebyl zrovna nejpovedenější součástí KDE), takže pro ně neděle důvodem k oslavě asi nebude. Doporučení autorů je totiž přejít na KDE2, a tím i na novou verzi KMailu, které jsou ale výrazně náročnější na výkon počítače.

Otázka je, zda se podobných chyb neobjeví více, a pokud ano, jestli budou uživatelé alespoň varováni s předstihem, jako v tomto případě. Tady nezbývá než se spolehnout na práci programátorů – i v případě open-source je s největší pravděpodobností nad síly bězného uživatele procházet zdrojové kódy a prověřovat situaci osobně. Avšak zcela určitě není důvod vybírat peníze z bankovních účtů, nakupovat zásoby trvanlivých potravin a utíkat se do hor schovat před globální zkázou světa – zatím. :-)

Pravý konec unixového světa v podobě, jak ho známe dnes, ovšem nastane, a to počátkem roku 2038, kdy se 32-bitová proměnná v současnosti používaná pro ukládání timestampu vyčerpá, přeteče, a pak nastane skutečný problém. Máme tedy 37 let na přemýšlení, co s tím. Nejrozšířenejší je názor, že do té doby se kompletně přejde na 64-bitovou architekturu (pokud ne na ještě vícebitovou), což problém vlastně vyřeší samo, respektive oddálí ho na velmi dostatečně dlouhou dobu.

Jsou i další diskutovaná řešení (programátorská), jak to nakonec dopadne, se musíme nechat překvapit. Osobně si myslím, že přechod na vícebitovou architekturu, není během 37 let nereálný. Do té doby tedy můžeme celkem klidně spát a případně i oslavit unixové jubileum.

Anketa

Co budete dělat v noci 9.9.2001 ?

Našli jste v článku chybu?

11. 9. 2001 9:39

Jerry III (neregistrovaný)
Tady je dalsi veta:

"Pravda, místy bylo možné zahlédnout datumy typu 1.1.19100, což ale bylo způsobeno programátorským lajdáctvím při snaze zjednodušit si zprácování výsledku převodu timestampu na datum, nikoli systémem."

To uz pusobi dojmem, ze v systemech kterym se Y2K nevyhlo (je zminen jeden) to nebyla chyba aplikaci ale systemu - coz je nesmysl.



10. 9. 2001 19:40

Zdenek Sindelar (neregistrovaný)
Ale Jerry, pokud si muj clanek skutecne prectes, tak zjistis ze tam pisu:

"problemy s Y2k se unixum temer vyhnuly"

a o jinych systemech jsem nepsal ani slovo, pomineme-li jednu veticku v perexu - ktery je navic dilem redakce. O Y2K ale tento clanek skutecne byt nemel :)











Vitalia.cz: Pečete cukroví a zbyl vám bílek?

Pečete cukroví a zbyl vám bílek?

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Naučí vás péct kváskový chléb bez lepku i s lepkem

Naučí vás péct kváskový chléb bez lepku i s lepkem

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: S.r.o. využívá cizí auto. Jak je to s daněmi?

S.r.o. využívá cizí auto. Jak je to s daněmi?

Lupa.cz: Google měl výpadek, nejel Gmail ani YouTube

Google měl výpadek, nejel Gmail ani YouTube

DigiZone.cz: Digi CZ výrazně zlevnila balíček HBO

Digi CZ výrazně zlevnila balíček HBO

Podnikatel.cz: Dárky v podnikání. Jak je uplatnit v daních?

Dárky v podnikání. Jak je uplatnit v daních?

Lupa.cz: Seznam mění vedení. Pavel Zima v čele končí

Seznam mění vedení. Pavel Zima v čele končí

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Měšec.cz: Jak levně odeslat balík přímo z domu?

Jak levně odeslat balík přímo z domu?

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

DigiZone.cz: Perspektivy TV v roce 1939 podle časopisu Life

Perspektivy TV v roce 1939 podle časopisu Life

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

120na80.cz: Rakovina oka. Jak ji poznáte?

Rakovina oka. Jak ji poznáte?

Podnikatel.cz: Na 3. prosince se chystá protest proti EET

Na 3. prosince se chystá protest proti EET

Podnikatel.cz: Berňák kvůli EET prodlužuje otevírací dobu

Berňák kvůli EET prodlužuje otevírací dobu

Podnikatel.cz: Na poslední chvíli šokuje výjimkami v EET

Na poslední chvíli šokuje výjimkami v EET

DigiZone.cz: Milan Kruml: procházka TV historií

Milan Kruml: procházka TV historií

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!