관련글
이 있었습니다.KLDP의 글중에 보면 유닉스 버그에 대한 얘기가 나와있습니다.
2038버그는 time_t가 32비트로 정의되어 있는 현재 유닉스에서, time_t가 오버플로하는 시간이 2038년이라는겁니다. 1970년 1월 1일 0시부터 초단위로 세는게 time_t 니까, 그게 2^31 (부호가 있으므로)를 넘는 시점이라는거죠.
굳이 64비트 OS가 되지 않아도 현재는 long long 타입을 처리할 수 있으니까time_t를 64비트 정수 타입으로바꾸면 되지만, 단순히 바꾼다고 되는게 아니라서(바이너리 하위 호환 문제 등) 쉽게 업데이트가 안되는 거죠. file I/O함수의 off_t 의 64비트 문제랑 비슷하다고 보시면 됩니다. –
KLDP cjh님의 덧글
무슨 말인지는 모르겠지만 확실히 2038이라는 숫자와 현재의 유닉스는 관계가 있는게 분명한 것 같습니다. 그가 1975년으로 돌아가 유닉스 버그를 해결하기위해 입수했다고 하는 PC IBM 5100은 세상에 나온 휴대가능한 최초의 노트북입니다. 대체 이 컴퓨터가 유닉스 버그를 어떻게 해결하는데 쓰이는 건지 알 수 없습니다만 만약 John Titor가 미래에서 온 미군이 아니라면 그가 컴퓨터와 상당히 밀접한 연관을 갖고 있는 사람임을 알 수 있습니다.
또 재밌는건 2036년에는 유닉스버그가 인류에게 위기를 가져올 만큼 유닉스가 널리 쓰이게된다는 사실입니다. 현재의 구도로서는 서버는 몰라도 데스크탑 PC는 NT가 압도적인데 말이죠.ㅋ 앞으로 정말 MS는 서서히 침몰하게 되는 것일까요?-_-;;(아니면 MS가 유닉스를 채택?!)
이 유닉스 버그는 64비트 OS(정확히 말해 64비트 유닉스 시스템)에서는 발생하지 않는다고 합니다. 인류의 미래를 위해서라도 하루빨리 64비트 머신을 장만하여 64비트 우분투를 써야겠군요(아니 잠깐-_-;)