y2k038

 ( apal | 2007. augusztus 31., péntek - 22:58 )

No, nem tudom mennyire kozismert, de a unix-os y2k problema't kvazi megoldotta'k:

apal@szofi:~/progs/test$ cat sizeof.c 
#include <stdio.h>
#include <time.h>

int main(void)
{
 fprintf(stdout,"time_t: %d\n",(int)sizeof(time_t));
 return(0);
}
apal@szofi:~/progs/test$ gcc -o sizeof sizeof.c 
apal@szofi:~/progs/test$ ./sizeof 
time_t: 8
apal@szofi:~/progs/test$ arch
x86_64
apal@szofi:~/progs/test$

Apro oromok :]

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

akkor most defectivebydesign vagy nem? :)

Már a hardver defectivebydesign, mert nem ekvivalens egy végtelen hosszú szalaggal ellátott Turing-géppel. :-)

de mi a helyes valasz? (time_t: ?) nalam 4 jon ki pl: x86 on

Az /usr/include/linux/time.h egy részlete:

/*
...
 * 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)
 */

Tehát, 2038-ig többféleképpen is rendezhető a probléma:
a) addigra kihalnak a 32 bites gépek
b) a 32 bites gépeken átdefiniáljuk valami nagyobbra ebben a fileban a time_t-t, pl. long long-ra, ezzel vesztünk egy kis sebességet, és a kompatibilitást a már lefordított binárisokkal.

Jelenleg valószínűleg azért nem definiálja át senki, mert akkor a már lefordított, time_t-t használó bináris cuccokat (gyakorlatilag az egész rendszert) újra kellene fordítani.

a) addigra kihalnak a 32 bites gépek
Erre gondoltam en is, mint "kvazi megoldodott". Ma'r ha most beme'sz egy bo'tba, ott se nagyon lehet kapni 32bites vasat.

és akkor mit kezdek a pentium mmx routeremmel? :)

Felteszik a sírodra, úgyis elvisz a harmadik világháború... :S

-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."

Tényleg, és mi lesz a linksys wrt54gl-lel? Azt linuxos firmware hajtja... :/ (Természetesen a probléma csak akkor fog jelentkezni, ha 1: nem frissítik a firmware-t, 2: lesz még addig ilyen router és menni si fog. :))

Hát ha belegondolok, hogy a világon ma eladott mikroprocesszorok túlnyomó többsége 8, azaz nyolc bites (nyilván arról van szó, hogy beágyazott rendszerekben sokszor az is elég és igencsak sok helyre tesznek belőle), akkor én bőven azt hiszem, hogy 2038-ban még messze nem fognak kihalni a 32bites processzorok, talán csak akkor fognak igazán elterjedni. Az viszont előrevetíthető, hogy az ilyen beágyazott rendszerek teljesítménye/memóriakapacitása akkoriban már lehetővé fogja tenni, illetve az alkalmazások várhatóan igényelni fogják komolyabb oprendszerek futtatását is. Ha a unix-like oprendszerek nem vesznek ki totálisan ennyi idő alatt, akkor ez igenis problémát fog okozni.
---
Sok gyerekkel ellentétben én sose akartam tűzoltó lenni. Lettem helyette informatikus. Nem találjátok ki, hogy mit csinálok nap mint nap...