Félidőben a UNIX

Címkék

A UNIX-nak már sokszor volt születésnapja, de ilyen még soha. Január 11-én ugyanis pontosan életkorának feléhez ér, már ha a dátum tárolására használt 32 bites változót, illetve annak értékét vesszük alapul.

2004. január 11-én, 13 óra 37 perc 4 másodperckor (GMT) lesz a fordulópont, a 31 darab 1-es (0x3FFFFFFF) után ünnepelheti 0x40000000 másodperces születésnapját a UNIX.

A számláló 2038. januárjában fog túlcsordulni, a 0-ás állása pedig 1970. január elsején volt.

Hozzászólások

Maaaaaaaarketing! ;)

Másutt ezt a Un*x-ok y2k problémájaként emlegetik, ti. vannak olyan cégek, amelyek unixra árulnak szoftvert, és ehhez az időponthoz kötötték a szoftver lejáratát ;)

loool :-)

Akarhogy szamolom, nalam jan 10, 14:37:04-re jon ki a datum. Mit rontok el? :-)

Andras

Fáradt vagyok utánaszámolni, de sikerült kivárnom :-)

Fiúk, lassan hozzá kéne kezdeni a 2k38 probléma megoldásához...

tippem:

-uint32 timestamp

+uint64 timestamp

:)

gabriel

ui: nem vagyok egy nagy programozó...

Így jár az ember, ha nem olvassa a kernel forrást, mielőtt megszólal...

include/linux/time.h

* WARNING: this function will overflow on 2106-02-07 06:28:16 on

* machines were long is 32-bit! (However, as time_t is signed, we

* will already get problems at other places on 2038-01-19 03:14:08)

huh! meg vagyunk mentve :)

Hát, ez a Linux. Úgy látszik, nem hülyegyerekek készítik. ;-)

De mi az, hogy Unix félideje? Tudtommal nem is létezik ilyen operációs rendszer. Csak annak különböző változatai. Amúgy minden olyan szoftver egyszer túlcsordul, ami dátumokat kezel. Ez így természetes. Szépen új változókat vezetnek be, azt meg van oldva a probléma!

Egyik haverom hívta fel rá a figyelmet, hogy figyelmetlenek voltatok.

0x3FFFFFFF= 0011 1111 1111 1111 1111 1111 1111 1111

A helyes megoldás:

0111 1111 1111 1111 1111 1111 1111 1111=0x7FFFFFFF

Azaz a UNIX 0x7FFFFFFF-ről vált 0x80000000-re.

Ha nincs igazam szóljatok. Persze a váltás megvolt.

Ha igazam van egy helyreigazítás jól jönne.

Üdv.: Tamaas