AMIGA REVIEW obsah časopisu online!
  Domov     Software     Hry     Obaly     Download  

Historie a vývoj - rok 2000


Dnes se podíváme, jak budou naše Amigy zvládat onen obávaný přechod na rok 2000. Jednoduše řečeno, Amiga takovými neduhy, jaké známe ze světa PC, netrpí. Přesto však existují jisté problémy, které s měřením času souvisí.
Na Amize se systémový čas počítá jako počet vteřin, které uběhly od půlnoci dne 1. ledna 1978. O čas se stará zařízení „timer.device“ (právě zde se termín „zařízení“ chápe v jiném významu, než jsme si dnes uvedli), které si informaci o počtu vteřin udržuje v 32 bitové proměnné (typ „Unsigned“ čili bez znaménka). S tímto způsobem počítání času dva problémy souvisí, no ale pojďme na to pěkně po řadě.

Příkazový řádek
Existují dva Shellovské příkazy, které pracují se systémovým datem. Je to program „SetClock“ a „Date“. „Date“ slouží ke zobrazování a nastavování systémového času, kdežto „SetClock“ umí systémový čas načíst, či zapsat z/do vnitřních hodin Amigy.
Když si příkaz „Date“ spustíte, vypíše se vám například „Tuesday 01-Dec-98 18:15:32“. Jak vidíte, letopočet je omezen na dvě číslice, dokonce i když použijete jinou lokalizaci. Naštěstí zde zakopaný pes není, toto datování se řídí těmito pravidly:
Pokud je číslo udávající rok větší nebo rovno číslu 78, letopočet spočítáme jako toto číslo plus 1900.
V opačném případě se k tomuto číslu musí přičíst rok 2000, takže čísla „00“ až „77“ znamenají roky 2000 až 2077.

Grafické rozhraní
Až do Kickstartu 1.3 se čas nastavoval spolu s ostatními vlastnostmi systému pomocí programu „Preferences“, který měl na datum rovněž jen dvě číslice a těmito pravidly se řídil.
Se systémem 2.0 se nastavování času přemístilo do samostatného preferenčního programu. V tom bylo možno zadat datum v rozsahu od roku 1978 do 2113. Tyto meze byly s příchodem KS 2.1 upraveny na rozmezí 1991 až 2099, kde také zůstaly.

Problémy
Nakolik vím, Amiga trpí celkem čtyřmi problémy s datem. Dva jsou způsobeny numerickým přetečením, za jeden může hardware a jeden problém je opravdový „bug“, který se v roce 2000 projeví.

Negativní čas:
Jak už víte, Amiga počítá čas jako počet vteřin uběhlých od jistého data. Ačkoliv „timer.device“ uchovává tuto hodnotu jako 32bitové číslo bez znaménka, AmigaDOS s ním zachází jako by to bylo číslo se znaménkem. Problém tedy nastane 19. ledna 2046 v 03:14:07, kdy počet vteřin dosáhne nejvyšší hodnoty, která se ještě do 32bitového čísla se znaménkem vejde. Následující vteřinu se pak hodnota čítače zvýší na 2147483648, což již v klasickém zápisu čísel se znaménkem znamená hodnotu -2147483648. AmigaDOS, který s tímto časem pracuje jako s proměnnou se znaménkem, bude považovat tento čas za neplatný. Co víc, rutiny v ROM obstarávající konverzi dat (ve smyslu „datum“) projeví své mouchy a způsobí, že všechny operace s datem budou nepřesné, chyba může představovat až dva roky.

Přetečení času:
Problém je podobný, jako v předchozím případě, jen časový horizont je poněkud širší. Dne 7. února 2114 v 06:28:15 se naplní dokonce i bezznaménkový čítač zařízení „timer.device“ a hned o vteřinu později si bude Amiga myslet, že je půlnoc 1. ledna 1978.

Omezení vnitřních hodin:
Vnitřní zálohované hodiny, které jsou v Amigách používány, si z letopočtu pamatují taky jen poslední dvě číslice. Omezení data je totéž jako u příkazu „Date“, takže hodiny si mohou pamatovat rok v rozmezí 1978 až 2077 a při prvním nabootování roku 2078 se naše Amiga domněle vrátí zpět do počítačové historie roku 1978.

Chyba příkazu SetClock:
Příkaz SetClock, který byl distribuován s Workbenchem 1.2 a 1.3 umí pracovat pouze s daty 1978 až 1999. V letech 2000 až 2078 si bude SetClock myslet, že je rok 1978, poté se s úderem roku 2079 rozejde a bude počítat jako by byl rok 1979, což také nebude to pravé. Tento problém vás však nemusí nijak trápit, protože novější verze SetClock již tuto chybu nemají. Koukněte se na délku tohoto příkazu (v Shellu zadejte „List C:SetClock“), pokud bude mít méně než 1000 bajtů, je to verze korektní. Nekorektní, staré verze mívají více než 4000 bajtů.
Jak vidíte, s rokem 2000 žádný Amigista problémy mít nebude. My si 1. ledna roku 2000 jednoduše vychutnáme novoroční radovánky a problémy necháme té druhé části počítačové populace. Pro jistotu si však na Silvestra moc velký obnos v bance nechávat nebudu, kdo má těm PC věřit...

Vytlačiť článok



Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.

Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing



none

AMIGA REVIEW

57 ( 11-12 / 2000 )
56 ( 9-10 / 2000 )
55 ( 7-8 / 2000 )
54 ( 5-6 / 2000 )
53 ( 3-4 / 2000 )
52 ( 1-2 / 2000 )
 
51 ( 12 / 1999 )
50 ( 11 / 1999 )
49 ( 10 / 1999 )
48 ( 9 / 1999 )
46-47 ( 7-8 / 1999 )
45 ( 6 / 1999 )
44 ( 5 / 1999 )
43 ( 4 / 1999 )
42 ( 3 / 1999 )
41 ( 2 / 1999 )
40 ( 1 / 1999 )
 
39 ( 12 / 1998 )
38 ( 11 / 1998 )
37 ( 10 / 1998 )
36 ( 9 / 1998 )
35 ( x / 1998 )
34 ( x / 1998 )
33 ( 1-2 / 1998 )
 
32 ( 11-12 / 1997 )
31 ( 9-10 / 1997 )
30 ( 7-8 / 1997 )
29 ( 6 / 1997 )
28 ( 5 / 1997 )
27 ( 4 / 1997 )
26 ( 3 / 1997 )
25 ( 2 / 1997 )
24 ( 1 / 1997 )
 
23 ( 12 / 1996 )
22 ( 11 / 1996 )
21 ( 10 / 1996 )
20 ( 9 / 1996 )
18-19 ( 7-8 / 1996 )
17 ( 6 / 1996 )
16 ( 5 / 1996 )
15 ( 4 / 1996 )
14 ( 3 / 1996 )
13 ( 2 / 1996 )
12 ( 1 / 1996 )
 
11 ( 12 / 1995 )
10 ( 11 / 1995 )
9 ( 10 / 1995 )
8 ( 9 / 1995 )
7 ( 7 / 1995 )
6 ( 5 / 1995 )

ATLANTIDA NEWS

5 ( 3 / 1995 )
4 ( 1 / 1995 )
 
3 ( 11 / 1994 )
2 ( 9 / 1994 )
1 ( 7 / 1994 )
0 ( 5 / 1994 )