2038년1월18일(월요일) 22시14분07초
글쓴이: rgbi3307 / 작성시간: 금, 2009/07/31 - 5:48오후
1970년1월1일 00시00분00초 (신시대,epoch)
에서
2038년1월18일(월요일) 22시14분07초
사이의 시간을 초로 환산하면,
2,147,483,647 (21억4천7백48만3천6백47초)가 되는가요?
(정확히 계산 않해 봤음. 혹시 확인하신 분 있으신가요?)
암튼,
위의 숫자는 32비트 아키텍쳐에서
C언어의 typedef long time_t 데이터 타입으로 표현할 수 있는 최대 크기라고 하는군요.
그럼,
2038년1월18일(월요일) 22시14분07초 이후에는
컴퓨터 시스템이 64비트 아키텍쳐가 되어야 하고,
소프트웨어도 여기에 맞추어야 한답니다.
리눅스 커널 2.6 이상부터는 64비트 아키텍쳐를 지원한다고는 하는데, 문제가 없을까요?
저도 확실히 검증(실습)을 않해봐서,
어떤 것들을 확인해 봐야 할지, 서로 고민해 봤으면 합니다.
Forums:
64bit 에서 unix timestamp
64bit 에서 unix timestamp 값이 잘 나오면 되는거죠?
요건 32bit
emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇 개 안돼요~
http://xenosi.de/
https://xenosi.de/
문제가
문제가 생길수있죠..
사실 과거 2000년도될때 밀레니엄버그어쩌고 큰일이날것처럼 떠들었지만..
그때가 문제가아니라 정작 2038년이 문제입니다..
종종 time_t 값을 int로 한것들을 제법 봤거든요..^^;
더구나 구시스템은 재컴파일부터 안하면 다문제되죠..
물론 지금부터 시스템이 28년은 더버텨줄만한 시스템이 있나하는게 문제겠지만..
y2038
y2038
Saving The Future From The Past! A 2038 clean time.h for 32 bit time_t machines.
http://code.google.com/p/y2038/
2038년이 되기 전에 다
2038년이 되기 전에 다 64bit로 바꾸면 됩니다.
그때쯤이면...
아들이나 손자를 시키면 되지않나요?
그냥 지나가는 농담이었습니다... ^.^
현재의 일도 벅차서 먼 미래의 일은 쫌...
물론 미래에 발생할 문제를 미리 파악해서 고민하고 대비하는 것도 매우 중요하지요...
정말 오래간만에 댓글을 다는군요.
왜 세팅이 안되는지 한참을 찾았습니다.
이런 문제가 있군요.
mysql 64bit로 설치했는데도 timestamp 값이 '2038-01-19 12:14:07' 요 날짜 이후로 세팅이 안되네요.
http://en.wikipedia.org/wiki/
http://en.wikipedia.org/wiki/Year_2038_problem#Solutions
OpenGroup (X/Open)에는 time_t 가
OpenGroup (X/Open)에는 time_t 가 다음과 같이 정의되어 있습니다.
time_t ... shall be integer or real-floating types.
integer 의 정의는요?
ㅇ
There is no spoon. Neo from the Matrix 1999.
32비트 컴퓨터 멸종 시간으로 봐도 되겠군요. ㅋㅋㅋ
32비트 컴퓨터 멸종 시간으로 봐도 되겠군요. ㅋㅋㅋ
long long(혹은 LONGLONG)나
long long(혹은 LONGLONG)나 int64로 timestamp를 쓰지 않는 이상에야.. 흠흠...
애초에 int나 long으로 timestamp를 쓰지 않고 time_t로 쓰고 시스템만 64bit으로 잘 쓴다면야 문제가 없었겠지만, 코드에서 부터 time_t가 아니라 int나 long으로 쓴 프로그램들이 다수 있고 이런 것들 가운데는 바이너리만 있는 것도 꾀나 되기 때문에 당할 수 있겠조. 그 때 까지 아무런 조치도 취하지 않는다면.
사람천사
그 때까지 살아만 있으면 좋겠습니다. 32bit
그 때까지 살아만 있으면 좋겠습니다.
32bit 64bit 그런건 상관없습니다
---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------