S blíºícím se koncem roku p²ib∞vá zpráv o moºn∞ch katastrofálních dàsledcích p²echodu poƒítaƒového data z roku 1999 na rok 2000. Jaká je vlastn╪ skuteƒnost, je nutno investovat do drah∞ch sluºeb poƒítaƒov∞ch auditorà? Pro koho je p²echod roku kritick∞ a komu je to v podstat╪ jedno? T∞ká se to i mého poƒítaƒe doma? Kde je ten zakopan∞ pes Y2K?
Prokleté milénium
Hlavní p²íƒinu problému p²echodu roku 1999 na 2000 je t²eba hledat v pouºití a zobrazování poƒítaƒového letopoƒtu ²eτeného pouze pomocí dvou posledních ƒíslic. Za chyb╪jící století je implicitn╪ brána ƒíslice 19, coº bohuºel znamená, ºe se v poslední vte²in╪ tohoto roku letopoƒet nezm╪ní na rok 2000, ale na chybn∞ 1900. Tento problém se t∞ká jak hardwaru, tak i softwaru, a to jak odd╪len╪, tak i ve své vzájemné souƒinnosti. Co v∞robce, to jin∞ p²ístup.
Hardwarové p²íƒiny - BIOS, CMOS
Hledat p²íƒiny vzniku hardwarového problému je nutno v pradobách (cca p²ed t²iceti lety), kdy konstrukté²i, vytvá²ející ƒasové obvody osobních poƒítaƒà, nep²edpokládali ºivotnost tohoto za²ízení po roce 1999. Pro zobrazování letopoƒtu pouºili pouze dvouciferné ƒíslo 00 - 99. Osudn∞m vlivem setrvaƒnosti a pohodlnosti v∞robcà se podobné obvody jeτt╪ donedávna b╪ºn╪ montovaly do základních desek a problém se s náràstem prodan∞ch poƒítaƒà τí²il. O aktualizaci ƒasu se v poƒítaƒi starají hodiny reálného ƒasu RTC, které v pravideln∞ch intervalech (55 ms) zasílají impulzy do pam╪ti CMOS, kde dochází k jejich naƒítání. Díky tomu, ºe jsou tyto obvody zálohovány akumulátorem, zàstává aktualizace data a ƒasu v provozu i p²i vypnutém poƒítaƒi. První program, se kter∞m zaƒne po spuτt╪ní mikroprocesor spolupracovat, je BIOS (základní vstupn╪-v∞stupní systém). Ten po úvodním autonomním testu, inicializaci periferií, nainstaluje obsluºné rutiny p²eruτení a zavádí operaƒní systém. Na vyºádání p²edá operaƒnímu systému aktuální informace o datu a ƒasu.
286, 386, 486 a Pentia
Obecn╪ se dá p²edpokládat, ºe poƒítaƒe z doby, kdy se hromadn╪ nasazovaly procesory typu 486 a n╪kde uº i Pentia a starτí, nejsou pro automatick∞ p²echod roku p²ipraveny. N╪které typy BIOS nemají vàbec moºnost interpretovat ƒty²místn∞ letopoƒet, n╪které nov╪jτí ano, avτak samy bez pomoci nedokáºou rok 2000 nastavit. S p²íchodem Pentií a jejich klonà se zaƒaly objevovat nové typy BIOS, které se ràzn∞m zpàsobem snaºí s p²echodem vypo²ádat - bez problémà p²ejdou na 1. 1. 2000 a správné datum je BIOS poskytováno. Fyzicky ale p²epis do pam╪ti CMOS provedou aº p²i novém startu poƒítaƒe (teprve nejmodern╪jτí BIOS p²episují pam╪£ ihned). V praxi to znamená, ºe v této dob╪ jiné datum poskytuje na vyºádání CMOS a jiné datum BIOS. N╪kdo màºe namítnout, ºe operaƒní systém si sahá pro tyto informace pouze p²i startu a pouze do BIOS a aplikace zase tyto informace získávají pouze od OS. To je v podstat╪ pravda, ale zcela úpln╪ se to net∞ká DOS, kter∞ umoºσuje sv∞m aplikacím p²ím∞ p²ístup k hardwaru. Tyto nekorektn╪ napsané programy mohou informace získat od CMOS, od BIOS nebo od DOS. To se t∞ká i dosov∞ch aplikací spouτt╪n∞ch z Windows 3.1x a 9x.
A zkoumejme dál
Co se stane, jestliºe nechám p²es Silvestra puτt╪n∞ starτí poƒítaƒ? V poslední vte²in╪ letoτního roku se informace uvnit² poƒítaƒe zm╪ní z dvojƒíslí 99 na 00. Operaƒní systém DOS ovτem doƒasn╪ dál poskytuje datum bezchybn╪, protoºe pro n╪j jde pouze o dalτí p²íràstek nového dne. Tento stav màºe panovat aº do nejbliºτího vypnutí poƒítaƒe. Dejme tomu, ºe tak uƒiníme ráno na Nov∞ rok 1. 1. 2000. Jaká data jsou poskytována po zapnutí? BIOS najde v pam╪ti CMOS hodnotu ƒítaƒe, kterou interpretuje jako 01.01.00 nebo 01.01.1900 (n╪které BIOS tak nízké datum neznají a mohou zobrazit nap². rok 01.01.1980). Spustí se OS DOS a na vyºádání dostane od BIOS tento letopoƒet. Jelikoº na tak nízké datum není p²ipraven, nastaví se na nejniºτí moºné datum, tj. na 04.01.1980. Toto chybné systémové datum je pak dále poskytnuto aplikacím. Jin∞ p²ístup lze najít u OS Windows 98, kter∞ na základ╪ hodnoty letopoƒtu 00 nebo 1900 sám rozpozná p²echod na rok 2000 a podle p²i²azovací tabulky zobrazuje správn∞ rok.
P²estupn∞ rok 2000
Aby toho nebylo málo, rok 2000 je p²estupn∞, a proto je ƒasto prov╪²ována funkƒnost systému vzhledem k respektování 29. 2. 2000. BIOS, kter∞ je schopn∞ interpretace roku 2000, musí bez problémà rozpoznat i tento den. P²ipomeσme si v∞poƒet - rok je p²estupn∞, je-li d╪liteln∞ ƒty²mi. V∞jimku tvo²í roky d╪litelné stem, avτak roky d╪litelné 400 tvo²í v∞jimku z této v∞jimky. Znamená to, ºe rok 2000 p²estupn∞ je. Standardn╪ pouºívané obvody MC146818 a z nich odvozené p²estupnost roku respektují.
Jak opravovat?
Pro testování poƒítaƒe jsme pro vás spoleƒn╪ s firmou Zebra systems p²ipravili testovací ƒást programu Millennium Toolkit, kter∞ naleznete na Chip CD 10/99 v rubrice Zkuste si/Y2K. V p²ípad╪ negativního v∞sledku testu se màºete rozhodnout, jak svàj poƒítaƒ opravit:
? Jste-li p²ed rozhodnutím, kdy poƒítaƒ modernizovat, neváhejte ani chvilku a po²i╘te si nov∞ poƒítaƒ s Y2K BIOS.
? Vyuºijte opravn∞ program, kter∞ zajistí správnou interpretaci letopoƒtu pro operaƒní systémy. Program p²i detekci p²echodu na rok 2000 p²estaví informaci o letopoƒtu v CMOS. Pozor! Konstrukce poƒítaƒà 286 i 386 leckdy neumoºσují zobrazování ƒty²místného letopoƒtu v CMOS a v BIOS, tzn. ºe i po korekci opravn∞m programem zàstává v BIOS pouze dvojmístná hodnota 00, která je interpretována jako rok 1900. Program se ale postaví mezi BIOS a OS, rozτí²í vlastnosti BIOS a datum je jeho funkcí interpretováno správn╪. Nev∞hodou tohoto ²eτení je moºnost náhodného smazání samotn∞ch opravn∞ch programà a neustálá p²ítomnost rezidentního programu v pam╪ti.
? Máte-li moºnost, vym╪σte v základní desce BIOS nebo nahrajte jeho novou verzi do Flash BIOS.
? Vyuºijte hardwarového upgradu poƒítaƒe pomocí speciálních zásuvn∞ch karet ISA nebo PCI, které rozτi²ují ƒinnost ƒasovaƒe a BIOS. Podobná hardwarová oprava màºe b∞t elegantn╪ ²eτena vyuºitím volné patice BOOT ROM na stávající sí£ové kart╪ v poƒítaƒi - p²idáte jen naprogramovanou pam╪£ EPROM. Tato ²eτení jsou o n╪co nákladn╪jτí neº pouºití opravn∞ch programà, ale urƒit╪ spolehliv╪jτí. U nás se touto alternativou zab∞vá nap²íklad firma 2EL Computer z Turnova.
? Umoºσuje-li to typ BIOS, p²i prvním spuτt╪ní po Silvestru nejprve nastavte manuáln╪ v BIOS správné datum na rok 2000. Dalτí funkce poƒítaƒe budou jiº správné.
Pokud chcete mít opravdu jistotu, doporuƒujeme vτechny tyto ƒinnosti p²enechat poƒítaƒov∞m odborníkàm!
Aplikace
Hardwarová ƒást problému tvo²í jen ƒást moºn∞ch komplikací. Pokud tedy chceme pracovat se systémem, jehoº funkƒnost je neovlivnitelná jak∞mkoli datem p²ed rokem 2000, b╪hem n╪j a ani ºádnou jeho variantou po roce 2000, je pot²eba se dàkladn╪ podívat na pouºívané aplikace. Ty mohou vnit²n╪ pouºívat dvojmístnou interpretaci letopoƒtu a v roce 2000 váºn╪ ohrozit funkce poƒítaƒe. Jedná se hlavn╪ o úƒetní agendy, plánovací systémy, tabulkové procesory, databáze a podobné systémy. S v∞jimkou samotn∞ch tvàrcà programà nikdo p²esn╪ neví, jak se program zachová. Solidní v∞robce programà proto standardn╪ své programy na rok 2000 p²ipraví a bezplatn╪ zákazníkàm nabídne upgrade. V praxi je moºné se setkat s testovacími programy, které více ƒi mén╪ úsp╪τn╪ dokáºou chybu v aplikaci odhalit. Jmenujme nap²íklad program Datefind-db, kter∞ dle zadan∞ch kritérií prohledává databáze a tabulky a vyhledává záznamy obsahující datové údaje, nekompatibilní s rokem 2000. Program je schopen spolupracovat s t╪mito databázemi/tabulkami: MS-Access, dBase, Paradox, FoxPro, MS-Excel, Lotus 123, QuattroPro, Symphony, Oracle, Sybase, Informix, SQL Server, Ingres a dalτími.
Doporuƒení
Pokud na strategick∞ch místech pouºíváte aplikace, u nichº si nejste s p²echodem roku jisti nebo jejichº v∞robce neexistuje, m╪li byste se rychle porozhlédnout po jiném alternativním programu nebo se obrátit na auditorskou firmu, která vám v rámci kompletního prov╪²ení a opravy systému (testuje hardware, operaƒní systémy i veτkeré aplikace) na Silvestra zaruƒí klidn∞ spánek. Auditor vyhotoví záv╪reƒnou zprávu - Certifikát 2000 - ve které popíτe problémy vaτeho systému a prost²edky pouºité k jejich odstran╪ní. V naτich podmínkách jmenujme nap²íklad firmy Computer Help, IDAS nebo 2EL Computer, jejichº prezentace a nabídky sluºeb souvisejících s rokem 2000 najdete v p²ísp╪vku na Chip CD v rubrice Zkuste si/Y2K. Na záv╪r doporuƒujeme zhlédnout internetové stránky strategick∞ch podnikà (¼EZ, ¼SD, Transgas, banky, pojiτ£ovny...), které musí k problému roku 2000 p²istupovat z principu bezchybného fungování velmi odpov╪dn╪ a své systémy na p²echod roku 2000 mají jiº p²ipraveny.